موتور نشانه‌گذاری جینجا

جینجا (برگرفته از نام معبد شینتویی) یک موتور نشانه‌گذاری برای زبان برنامه‌نویسی پایتون است که تحت پروانه بی‌اس‌دی توسط برنامه‌نویس اتریشی آرمین روناچر ساخته شده‌است. از آنجا که که این موتور مبتنی بر متن می‌باشد در نتیجه می‌تواند در زبان‌های نشانه‌گذاری همانند اچ‌تی‌ام‌ال در برنامه‌ها مورد استفاده قرار بگیرد.

موتور جینجا این امکان را می‌دهد تا بتوان برچسب‌ها، فیلترها و … را شخصی‌سازی کرد و با توجه به اینکه در موتور نشانه‌گذاری جنگو امکان فراخوانی توابع وجود ندارد، جینجا این موضوع را میسر می‌سازد.

از جینجا به عنوان موتور نشانه‌گذاری پیشفرض در فلسک استفاده می‌شود.

ویژگی‌ها 
برخی از ویژگی‌های جینجا عبارت‌اند از:
 اجرای در محیط شنی (به منظور استفاده برای قطعه کدهایی که احتمالاً مخربند)
 بررسی و پاکسازی کدهای اچ‌تی‌ام‌ال قدرتمند به صورت خودکار به منظور جلوگیری از حملات تزریق اسکریپت (XSS)
 ارث‌بری از الگوها
 اشکال‌زدایی آسان، به همراه اشاره به خطی که در آن خطا رخ داده است.
 امکان تنظیم Syntax

مثال 
در زیر یک نمونه کوچک از فایل جینجا قابل مشاهده است.<!DOCTYPE html>
<html>
     <head>
          <title>{{variable|escape}}</title>
     </head>
     <body>
     {%- for item in item_list %}
          {{item}}{% if not loop.last %},{% endif %}
     {%- endfor %}
     </body>
</html>و کد قالب‌بندی:from jinja2 import Template
with open('example.html.jinja') as f:
      tmpl = Template(f.read())
print tmpl.render(
      variable = 'Value with <unsafe> data',
      item_list = [1, 2, 3, 4, 5, 6]
)که در نهایت خروجی اچ‌تی‌ام‌ال زیر تولید می‌شود:<!DOCTYPE html>
<html>
    <head>
        <title>Value with <unsafe> data</title>
    </head>
    <body>
        1,
        2,
        3,
        4,
        5,
        6
    </body>
</html>

جستارهای وابسته 
 فلسک
 توئیگ
 آرمین روناچر

منابع

پیوند به بیرون 
 وب‌گاه جینجا
 جینجا در پیپ (مدیر بسته پایتون)
 جینجا در گیت‌هاب

کتابخانه‌های پایتون
موتور الگوی وب
نرم‌افزارهای آزاد نوشته‌شده با پایتون
نرم‌افزارهای سیستمی آزاد
نرم‌افزارهای نوشته‌شده با پایتون
نرم‌افزارهایی که از پروانه بی‌اس‌دی استفاده می‌کنند