针对类似Jinja模板的检查器
项目描述
jinjalint
一个原型检查器,用于检查类似Jinja/HTML模板的缩进和正确性。可以 修复问题。
它也适用于 Django的模板,应该适用于 Twig 和类似的模板语言。它应该能够很好地处理任何HTML 4和5,但是不支持XHTML。
此检查器解析HTML和Jinja标签,并将报告不匹配的标签和缩进错误
<div>
{% if something %}
</div>
{% endif %}
<div>
<span>
</div>
</span>
{% if something %}
<div> not indented properly
</div>
{% endif %}
{% if something %}<a href="somewhere">{% endif %}
<p>something</p>
{% if not something %}</a>{% endif %}
使用方法
您需要Python 3。Jinjalint不与Python 2一起使用。使用 pip install jinjalint
(或根据您的系统上如何调用 pip
,使用 pip3 install jinjalint
)安装它,然后运行它
$ jinjalint template-directory/
…或
$ jinjalint some-file.html some-other-file.html
这是一项正在进行中的工作。请随时贡献:👍
与pre-commit git钩子框架的用法
将其添加到您的.pre-commit-config.yaml
- repo: https://github.com/motet-a/jinjalint
rev: '' # select a tag / sha to point at
hooks:
- id: jinjalint
确保填写有效的rev
。
注意:默认情况下,此配置将仅匹配.jinja
和.jinja2
文件。要使用正则表达式模式进行匹配,请如下覆盖types
和files
- id: jinjalint
types: [file] # restore the default `types` matching
files: \.(html|sls)$
黑客技术
Jinjalint由Parsy提供支持。Parsy是一个功能强大的库,Jinjalint的解析器严重依赖于它。您必须阅读Parsy的文档才能理解parse.py
中的内容。
项目详情
关闭
r2c-jinjalint-0.7.2.tar.gz的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | f69fa159e20f214f31ceb87f29ee2c70a9d1abe839b04474668207fec698e1f9 |
|
MD5 | 554dadc80db7356c06a31eda0bf6c1b1 |
|
BLAKE2b-256 | ae1915de560a02bd7b2964ac26f27250e185c5bd6417d534acc6f348fe3aa6af |