mirror of
https://github.com/Hopiu/djLint.git
synced 2026-04-01 13:10:24 +00:00
✨ HTML Template Linter and Formatter. Django - Jinja - Nunjucks - Handlebars - GoLang
| .github/workflows | ||
| src/djlint | ||
| tests | ||
| .coveragerc | ||
| .gitignore | ||
| .pre-commit-config.yaml | ||
| CHANGELOG.md | ||
| LICENSE | ||
| MANIFEST.in | ||
| pyproject.toml | ||
| README.md | ||
| setup.py | ||
| tox.ini | ||
djlint
Simple Django template linter.
Install
pip install djlint
Usage
djlint <file or path>
Optional args
| Arg | Definition | Default |
|---|---|---|
| -e, --extension | File extension to lint. | default=html |
Rules
Error Codes
| Code | Meaning |
|---|---|
| E001 | Variables should be wrapped in a single whitespace. Ex: {{ this }} |
| E002 | Double quotes should be used in tags. Ex {% extends "this.html" %} |
Warning Codes
| Code | Meaning |
|---|---|
| W003 | Endblock should have name. Ex: {% endblock body %}. |
| W004 | Status urls should follow {% static path/to/file %} pattern. |
| W005 | Html tag should have lang attribute. |
| W006 | Img tag should have alt, height and width attributes. |
| W007 | <!DOCTYPE ... > should be present before the html tag. |
| W008 | Attributes should be double quoted. |
| W009 | Tag names should be lowercase. |
| W010 | Attribute names should be lowercase. |
| W011 | Attirbute values should be quoted. |
| W012 | There should be no spaces around attribute =. |
| W013 | Line is longer than 99 chars. |
| W014 | More than 2 blank lines. |
| W015 | Follow h tags with a blank line. |
| W016 | Missging title tag in html. |
Adding Rules
A good rule consists of
- Name
- Code - Codes beginning with "E" signify error, and "W" warning.
- Message - Message to display when error is found.
- Patterns - regex expressions that will find the error.