HTML Template Linter and Formatter. Django - Jinja - Nunjucks - Handlebars - GoLang
Find a file
2022-10-25 12:54:59 +02:00
.github test(python): 3.11 to 3.11-rc2 for osx 2022-10-25 12:54:59 +02:00
docs chore(deps) Update all non-major dependencies 2022-10-24 13:18:08 +00:00
src/djlint fix(formatter): fixed poor formatting on long inline blocks 2022-10-24 15:16:06 +02:00
tests fix(formatter): fixed poor formatting on long inline blocks 2022-10-24 15:16:06 +02:00
.coveragerc fixed test coverage 2021-08-17 08:56:40 -05:00
.editorconfig feat(npm): updated npm installer 2022-07-06 11:24:45 -05:00
.flake8 flake8 is not yet compatible with pyproject.toml 2022-09-22 11:35:05 +02:00
.gitignore updated release and gitignore 2022-01-03 16:50:21 -06:00
.pre-commit-config.yaml chore(deps) Update all non-major dependencies 2022-10-24 13:18:08 +00:00
.pre-commit-hooks.yaml use types for others 2022-07-05 17:06:50 +01:00
.prettierignore feat(npm): updated npm installer 2022-07-06 11:24:45 -05:00
.prettierrc feat(npm): updated npm installer 2022-07-06 11:24:45 -05:00
.releaserc feat(npm): added npm publish 2022-07-06 13:09:22 -05:00
icon.xcf updated docs 2022-01-03 16:45:58 -06:00
LICENSE initial commit 2021-07-12 13:26:46 -05:00
MANIFEST.in updated formatter and docs 2021-07-29 13:41:34 -05:00
package-lock.json chore(deps) Update all non-major dependencies 2022-10-10 07:09:55 +00:00
package.json Merge branch 'master' into dev 2022-10-10 03:27:00 -05:00
poetry.lock chore(deps) Update all non-major dependencies 2022-10-10 07:09:55 +00:00
pyproject.toml Merge branch 'master' into dev 2022-10-10 03:27:00 -05:00
README.md docs(readme): added npm download count 2022-07-06 13:39:23 -05:00
renovate.json updated renovate config 2022-07-18 08:56:53 -05:00
tox.ini tox.ini: Fix typo 2022-09-21 07:35:08 +02:00


djLint Logo

🙏 Passed 100k downloads! Thank you! 🙏

The missing formatter and linter for HTML templates.

tweet Discord Chat

Codecov Status Codacy Status Downloads npm Pypi Download

How to useКак пользоватьсяUtilisation

What lang are you using?

DjangoJinjaNunjucksTwigHandlebarsMustacheGoLangAngular

demo

🤔 For What?

Once upon a time all the other programming languages had a formatter and linter. Css, javascript, python, the c suite, typescript, ruby, php, go, swift, and you know the others. The cool kids on the block.

HTML templates were left out there on their own, in the cold, unformatted and unlinted :( The dirty corner in your repository. Something had to change.

djLint is a community build project to and add consistency to html templates.

How?

Grab it with pip

pip install djlint

Or with the npm experimental install - Note, this requires python and pip to be on your system path.

npm i djlint

Lint your project

djlint . --extension=html.j2 --lint

Check your format

djlint . --extension=html.j2 --check

Fix my format!

djlint . --extension=html.j2 --reformat

💙 Like it?

Add a badge to your projects readme.md:

[![Code style: djlint](https://img.shields.io/badge/html%20style-djlint-blue.svg)](https://www.djlint.com)

Add a badge to your readme.rst:

.. image:: https://img.shields.io/badge/html%20style-djlint-blue.svg
   :target: https://www.djlint.com

Looks like this:

djLint

🛠️ Can I help?

Yes!

Would you like to add a rule to the linter? Take a look at the linter docs and source code

Are you a regex pro? Benchmark and submit a pr with improved regex for the linter rules

⚠️ Help Needed! ⚠️ Good with python? djLint was an experimental project and is catching on with other devs. Help out with a rewrite of the formatter to improve speed and html style for edge cases. Contribute on the 2.0 branch

🏃 Other Tools Of Note

  • DjHTML A pure-Python Django/Jinja template indenter without dependencies.
  • HTMLHint Static code analysis tool you need for your HTML
  • curlylint Experimental HTML templates linting for Jinja, Nunjucks, Django templates, Twig, Liquid