跳转到主要内容

针对类似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文件。要使用正则表达式模式进行匹配,请如下覆盖typesfiles

    -   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 (24.1 kB 查看散列)

上传时间 源代码

支持者