Gov.uk Frontend Jinja est un outil communautaire du système de conception Gov.uk. L'équipe du système de conception n'en est pas responsable et ne peut pas vous soutenir de l'utiliser. Contactez directement les responsables si vous avez besoin d'aide ou si vous souhaitez demander une fonctionnalité.
Ce référentiel fournit un ensemble complet de macros Jinja qui sont maintenus à jour et 100% conformes aux macros de Nunjucks Gov.uk frontend d'origine. Le portage est intentionnellement manuel plutôt que automatisé pour simplifier les mises à jour que de maintenir une routine de conversion automatisée. Une suite de tests complète garantit la conformité contre les dernières personnes, et chaque version suivante du frontend Gov.uk.
Si vous cherchez à créer une application FLASK entièrement en vedette qui s'intègre à Wtforms Gov.uk Frontend Jinja et Gov.uk Frontend, veuillez utiliser le référentiel de modèle Frontend Flask Gov.uk pour générer votre application.
Le tableau suivant montre la version de Gov.uk Frontend Jinja que vous devez utiliser pour votre version ciblée de Gov.uk Frontend:
| Version de Jinja frontend gov.uk | Version Target Gov.uk Frontend |
|---|---|
| 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 |
Toutes les autres versions de Gov.uk Frontend non illustrées ci-dessus peuvent toujours être compatibles, mais n'ont pas été spécifiquement testées et vérifiées.
Après avoir exécuté pip install govuk-frontend-jinja , assurez-vous de dire à Jinja où charger les modèles de l'utilisation du PackageLoader comme suit:
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" )}),
]
)Pour utiliser un composant dans vos modèles de projet, vous devez importer et appeler la macro du composant et passer les options pertinentes, par exemple:
{%- from 'govuk_frontend_jinja/components/button/macro.html' import govukButton -%}
{{ govukButton({ 'text': "Save and continue" }) }} Les options disponibles pour chaque macro de composant se trouvent dans la documentation des composants du système de conception Gov.uk d'origine. Étant donné que ce projet est un port similaire, la seule différence entre les exemples de Nunjucks et leurs équivalents Jinja est de devoir citer les noms clés, par exemple 'text' au lieu du text .
Les tests sont exécutés dans un pipeline GitHub Actions, mais si vous souhaitez les exécuter localement, vous devrez installer Govuk-Frontend-Diff.
Il existe un serveur de test chez tests/utils/app.py que vous devrez exécuter en utilisant la commande suivante:
(cd tests/utils && python -m flask run --port 3000) Vous pouvez ensuite exécuter les tests à l'aide de govuk-frontend-diff comme suit:
./govuk-frontend-diff http://localhost:3000 --govuk-frontend-version=v4.8.0 Tout cela est enveloppé dans ./test.sh pour une course simplifiée (nécessite Docker).
Nous utilisons Semver pour le versioning. Pour les versions disponibles, consultez les balises de ce référentiel.
Nous accueillons la contribution de la communauté. Si vous souhaitez contribuer à ce projet, veuillez consulter le code de conduite et les directives de contribution.
Comment mettre à jour ce package après une nouvelle version de Gov.uk Frontend:
govuk-frontend , comparez la dernière balise compatible et la dernière balise, par exemple https://github.com/alphagov/govuk-fontend/compare/v4.3.1...v4.4.0package/govuk/components/<component>/template.njk Lisez le diff et appliquez les mêmes modifications aux modèles équivalents de Jinja dans govuk_frontend_jinja/templates/components/<component>/macro.htmlNone vérifier les attributs imbriqués, vérifier les longueurs des éléments du tableau ou les opérateurs logiques tels que is not et in .Voir la liste complète des contributeurs sur GitHub
Ce logiciel est fourni "tel quel" sans garantie. Le soutien est fourni sur la base des «meilleurs efforts» par les maintenants et la communauté open source.
Si vous êtes un fonctionnaire, vous pouvez vous inscrire à l'espace de travail Digital Slack du gouvernement britannique pour contacter les responsables énumérés ci-dessus et la communauté des personnes utilisant ce projet dans le canal # Govuk-Design-System.
Sinon, veuillez consulter les directives de contribution sur la façon d'augmenter un rapport de bogue ou une demande de fonctionnalité.