gov.uk前端jinja是gov.uk设计系统的社区工具。设计系统团队对此不承担任何责任,也不能支持您使用它。如果您需要帮助,请直接与维护人员联系或要请求功能。
该存储库提供了一套完整的Jinja宏,并保持最新状态,并100%符合原始的gov.uk前端Nunjucks Macros。移植是故意手动的,而不是自动化的,以使更新更简单,而不是维护自动转换例程。全面的测试套件可确保遵守最新和随后的gov.uk前端版本。
如果您想构建一个完整的烧瓶应用程序,该应用程序与gov.uk Frontend Jinja和gov.uk frontend wtforms集成在一起,请使用gov.uk前端烧瓶模板存储库来生成您的应用程序。
下表显示了gov.uk前端jinja的版本,您应该将其用于gov.uk frontend的目标版本:
| gov.uk前端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-Frontend-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前端的新版本之后,如何更新此软件包:
govuk-frontend上,比较最后一个兼容标签和最新标签,例如https://github.com/alphagov/govuk-frontend/compare/compare/compare/v4.3.1...v4.4.0...v4.4.0package/govuk/components/<component>/template.njk govuk_frontend_jinja/templates/components/<component>/macro.html的模板有任何更改None检查嵌套属性,检查数组项长度或逻辑运算符, is not和in 。请参阅GitHub上的贡献者的完整列表
该软件是无保修的“原样” 。维护者和开源社区以“最佳努力”为基础提供支持。
如果您是公务员,则可以注册英国政府数字休闲工作区,以联系上面列出的维护者以及在#Govuk-Design-System System频道中使用该项目的人们的社区。
否则,请参阅有关如何提出错误报告或功能请求的贡献指南。