Gov.uk Frontend Jinja هي أداة مجتمعية لنظام تصميم Gov.uk. فريق نظام التصميم غير مسؤول عن ذلك ولا يمكنه دعمك باستخدامه. اتصل بالمحامون مباشرة إذا كنت بحاجة إلى مساعدة أو تريد طلب ميزة.
يوفر هذا المستودع مجموعة كاملة من وحدات الماكرو Jinja التي يتم تحديثها ومتوافقة 100 ٪ مع وحدات Gov.uk الأصلية Nunjucks. يعد النقل يدويًا عن قصد بدلاً من الآلي لجعل التحديثات أكثر بساطة من الحفاظ على روتين تحويل تلقائي. يضمن جناح اختبار شامل الامتثال لأحدث إصدار من Gov.uk.
إذا كنت تتطلع إلى إنشاء تطبيق قارورة مميز بالكامل يتكامل مع Gov.uk Frontend Jinja و Gov.uk Frontend WTForms ، فيرجى استخدام مستودع قالب Gov.uk Frontend Flask لإنشاء تطبيقك.
يعرض الجدول التالي إصدار Gov.uk Frontend Jinja الذي يجب عليك استخدامه لإصدارك المستهدف من Gov.uk الأمامي:
| Gov.uk Frontend jinja نسخة | نسخة الهدف Gov.uk الواجهة |
|---|---|
| 3.4.0 | 5.7.1 |
| 3.3.0 | 5.6.0 |
| 3.2.0 | 5.5.0 |
| 3.1.0 | 5.4.0 |
| 3.0.0 | 5.1.0 |
| 2.8.0 | 4.8.0 |
| 2.7.0 | 4.7.0 |
| 2.6.0 | 4.6.0 |
| 2.5.0 | 4.5.0 |
| 2.4.0 | 4.4.1 |
| 2.3.0 | 4.2.0 |
| 2.2.0 | 4.1.0 |
| 2.1.0 | 4.0.1 |
| 2.0.0 | 4.0.0 |
| 1.6.0 | 3.15.0 |
| 1.5.1 | 3.14.0 |
| 1.4.0 | 3.13.0 |
| 1.3.0 | 3.12.0 |
| 1.2.1 | 3.11.0 |
| 1.1.0 | 3.10.2 |
| 1.0.0 | 3.8.1 |
| 0.2.1 | 3.7.0 |
قد لا تزال أي إصدارات أخرى من واجهة Gov.uk غير موضحة أعلاه متوافقة ، ولكن لم يتم اختبارها والتحقق منها على وجه التحديد.
بعد تشغيل pip install govuk-frontend-jinja ، تأكد من إخبار Jinja بمكان تحميل القوالب من استخدام PackageLoader على النحو التالي:
from flask import Flask
from jinja2 import ChoiceLoader , PackageLoader , PrefixLoader
app = Flask ( __name__ )
app . jinja_loader = ChoiceLoader (
[
PackageLoader ( "app" ),
PrefixLoader ({ "govuk_frontend_jinja" : PackageLoader ( "govuk_frontend_jinja" )}),
]
)لاستخدام مكون في قوالب المشروع ، يجب استيراد الماكرو المكون والاتصال به وتمرير الخيارات ذات الصلة ، على سبيل المثال:
{%- from 'govuk_frontend_jinja/components/button/macro.html' import govukButton -%}
{{ govukButton({ 'text': "Save and continue" }) }} يمكن العثور على الخيارات المتاحة لكل ماكرو مكون في وثائق مكونات نظام تصميم Gov.uk الأصلي. نظرًا لأن هذا المشروع هو منفذ مشابه مقابل ، فإن الفرق الوحيد بين أمثلة Nunjucks ومكافئات Jinja الخاصة بهم هو الاضطرار إلى اقتباس أسماء المفاتيح ، على سبيل المثال 'text' بدلاً من text .
يتم إجراء الاختبارات في خط أنابيب إجراءات GitHub ولكن إذا كنت ترغب في تشغيلها محليًا ، فستحتاج إلى تثبيت Govuk-pronend-Diff.
يوجد خادم اختبار في tests/utils/app.py ستحتاج إلى تشغيله باستخدام الأمر التالي:
(cd tests/utils && python -m flask run --port 3000) يمكنك بعد ذلك إجراء الاختبارات باستخدام govuk-frontend-diff على النحو التالي:
./govuk-frontend-diff http://localhost:3000 --govuk-frontend-version=v4.8.0 يتم اختتام كل هذا في ./test.sh للتشغيل المبسط (يتطلب docker).
نستخدم Semver للنسخة. للحصول على الإصدارات المتاحة ، راجع العلامات الموجودة على هذا المستودع.
نرحب بالمساهمة من المجتمع. إذا كنت ترغب في المساهمة في هذا المشروع ، فيرجى مراجعة إرشادات قواعد السلوك والمساهمة.
كيفية تحديث هذه الحزمة بعد إصدار جديد من Gov.uk Frontend:
govuk-frontend ، قارن آخر علامة متوافقة وأحدث علامة ، على سبيل المثال https://github.com/alphagov/govuk-frontend/compare/v4.3.1...v4.4.0package/govuk/components/<component>/template.njk اقرأ Diff وتطبيق نفس التغييرات على قوالب Jinja المكافئة في govuk_frontend_jinja/templates/components/<component>/macro.htmlNone التحقق من السمات المتداخلة أو فحص أطوال عناصر الصفيف أو مشغلي المنطق مثل is not in .انظر القائمة الكاملة للمساهمين على Github
يتم توفير هذا البرنامج "AS-IS" دون ضمان. يتم توفير الدعم على أساس "أفضل المساعي" من قبل المشرفين ومجتمع المصادر المفتوحة.
إذا كنت موظفًا مدنيًا ، فيمكنك الاشتراك في مساحة عمل حكومة المملكة المتحدة الرقمية للاتصال بالمحافظة المدرجة أعلاه ومجتمع الأشخاص الذين يستخدمون هذا المشروع في قناة #Govuk-Design-System.
خلاف ذلك ، يرجى الاطلاع على إرشادات المساهمة حول كيفية رفع تقرير الأخطاء أو طلب الميزة.