djlint


Namedjlint JSON
Version 1.34.1 PyPI version JSON
download
home_pagehttps://github.com/Riverside-Healthcare/djlint
SummaryHTML Template Linter and Formatter
upload_time2023-12-20 19:26:20
maintainerChristopher Pickering
docs_urlNone
authorChristopher Pickering
requires_python>=3.8.0,<4.0.0
licenseGPL-3.0-or-later
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage
            
<h1 align="center">
  <br>
  <a href="https://www.djlint.com"><img src="https://raw.githubusercontent.com/Riverside-Healthcare/djLint/master/docs/src/static/img/icon.png" alt="djLint Logo" width="270"></a>
  <br>
</h1>
<h3 align="center">🏗️ Maintainers needed, please reach out on discord or email!</h3>
<h4 align="center">The missing formatter and linter for HTML templates.</h4>

<p align="center">
    <a href="https://twitter.com/intent/tweet?text=djLint%20%7C%20The%20missing%20formatter%20and%20linter%20for%20HTML%20templates.&url=https://djlint.com/&hashtags=djlint,html-templates,django,jinja,developers"><img alt="tweet" src="https://img.shields.io/twitter/url/http/shields.io.svg?style=social" /></a>
    <a href="https://discord.gg/taghAqebzU">
     <img src="https://badgen.net/discord/online-members/taghAqebzU?icon=discord&label" alt="Discord Chat">
   </a>
    </p>
    <p align="center">
   <a href="https://codecov.io/gh/Riverside-Healthcare/djlint">
     <img src="https://codecov.io/gh/Riverside-Healthcare/djlint/branch/master/graph/badge.svg?token=eNTG721BAA" alt="Codecov Status">
   </a>
   <a href="https://www.codacy.com/gh/Riverside-Healthcare/djlint/dashboard?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=Riverside-Healthcare/djlint&amp;utm_campaign=Badge_Grade">
     <img src="https://app.codacy.com/project/badge/Grade/dba6338b0e7a4de896b45b382574f369" alt="Codacy Status">
   </a>
   <a href="https://pepy.tech/project/djlint">
     <img src="https://pepy.tech/badge/djlint" alt="Downloads">
   </a>
   <a href="https://www.npmjs.com/package/djlint">
       <img alt="npm" src="https://img.shields.io/npm/dt/djlint?label=npm%20downloads">
   </a>
   <a href="https://pypi.org/project/djlint/">
     <img src="https://img.shields.io/pypi/v/djlint" alt="Pypi Download">
   </a>
</p>

<h4 align="center"><a href="https://www.djlint.com">How to use</a> • <a href="https://www.djlint.com/ru/">Как пользоваться</a> • <a href="https://www.djlint.com/fr/">Utilisation</a></h4>
<h4 align="center">What lang are you using?</h4>

<p align="center">
   <a href="https://djlint.com/docs/languages/django/">Django</a> • <a href="https://djlint.com/docs/languages/jinja/">Jinja</a> • <a href="https://djlint.com/docs/languages/nunjucks/">Nunjucks</a> • <a href="https://djlint.com/docs/languages/twig/">Twig</a> • <a href="https://djlint.com/docs/languages/handlebars/">Handlebars</a> • <a href="https://djlint.com/docs/languages/mustach/">Mustache</a> • <a href="https://djlint.com/docs/languages/golang/">GoLang</a> • <a href="https://djlint.com/docs/languages/angular/">Angular</a>
</p>

<p align="center">
  <img src="https://github.com/Riverside-Healthcare/djLint/blob/aa9097660d4a2e840450de5456f656c42bc7dd34/docs/src/static/img/demo-min.gif" alt="demo" width="600">
</p>

## 🤔 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`

```bash
pip install djlint
```

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

```bash
npm i djlint
```

Lint your project

```bash
djlint . --extension=html.j2 --lint
```
Check your format

```bash
djlint . --extension=html.j2 --check
```
Fix my format!
```bash
djlint . --extension=html.j2 --reformat
```

## 💙 Like it?

Add a badge to your projects ```readme.md```:

```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```:

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

[![djLint](https://img.shields.io/badge/html%20style-djLint-blue.svg)](https://github.com/Riverside-Healthcare/djlint)


## 🛠️ Can I help?

Yes!

*Would you like to add a rule to the linter?* Take a look at the [linter docs](https://djlint.com/docs/linter/) and [source code](https://github.com/Riverside-Healthcare/djLint/blob/master/src/djlint/rules.yaml)

*Are you a regex pro?* Benchmark and submit a pr with improved regex for the [linter rules](https://github.com/Riverside-Healthcare/djLint/blob/master/src/djlint/rules.yaml)

**⚠️ 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](https://github.com/Riverside-Healthcare/djLint/tree/block_indent)

## 🏃 Other Tools Of Note

* [DjHTML](https://github.com/rtts/djhtml) A pure-Python Django/Jinja template indenter without dependencies.
* [HTMLHint](https://htmlhint.com) Static code analysis tool you need for your HTML
* [curlylint](https://www.curlylint.org) Experimental HTML templates linting for Jinja, Nunjucks, Django templates, Twig, Liquid

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/Riverside-Healthcare/djlint",
    "name": "djlint",
    "maintainer": "Christopher Pickering",
    "docs_url": null,
    "requires_python": ">=3.8.0,<4.0.0",
    "maintainer_email": "cpickering@rhc.net",
    "keywords": "",
    "author": "Christopher Pickering",
    "author_email": "cpickering@rhc.net",
    "download_url": "https://files.pythonhosted.org/packages/c4/a8/b8ed0b5e924985d3b4272940f785a7bf5baa41713dc30a0c087939aaf7c8/djlint-1.34.1.tar.gz",
    "platform": null,
    "description": "\n<h1 align=\"center\">\n  <br>\n  <a href=\"https://www.djlint.com\"><img src=\"https://raw.githubusercontent.com/Riverside-Healthcare/djLint/master/docs/src/static/img/icon.png\" alt=\"djLint Logo\" width=\"270\"></a>\n  <br>\n</h1>\n<h3 align=\"center\">\ud83c\udfd7\ufe0f Maintainers needed, please reach out on discord or email!</h3>\n<h4 align=\"center\">The missing formatter and linter for HTML templates.</h4>\n\n<p align=\"center\">\n    <a href=\"https://twitter.com/intent/tweet?text=djLint%20%7C%20The%20missing%20formatter%20and%20linter%20for%20HTML%20templates.&url=https://djlint.com/&hashtags=djlint,html-templates,django,jinja,developers\"><img alt=\"tweet\" src=\"https://img.shields.io/twitter/url/http/shields.io.svg?style=social\" /></a>\n    <a href=\"https://discord.gg/taghAqebzU\">\n     <img src=\"https://badgen.net/discord/online-members/taghAqebzU?icon=discord&label\" alt=\"Discord Chat\">\n   </a>\n    </p>\n    <p align=\"center\">\n   <a href=\"https://codecov.io/gh/Riverside-Healthcare/djlint\">\n     <img src=\"https://codecov.io/gh/Riverside-Healthcare/djlint/branch/master/graph/badge.svg?token=eNTG721BAA\" alt=\"Codecov Status\">\n   </a>\n   <a href=\"https://www.codacy.com/gh/Riverside-Healthcare/djlint/dashboard?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=Riverside-Healthcare/djlint&amp;utm_campaign=Badge_Grade\">\n     <img src=\"https://app.codacy.com/project/badge/Grade/dba6338b0e7a4de896b45b382574f369\" alt=\"Codacy Status\">\n   </a>\n   <a href=\"https://pepy.tech/project/djlint\">\n     <img src=\"https://pepy.tech/badge/djlint\" alt=\"Downloads\">\n   </a>\n   <a href=\"https://www.npmjs.com/package/djlint\">\n       <img alt=\"npm\" src=\"https://img.shields.io/npm/dt/djlint?label=npm%20downloads\">\n   </a>\n   <a href=\"https://pypi.org/project/djlint/\">\n     <img src=\"https://img.shields.io/pypi/v/djlint\" alt=\"Pypi Download\">\n   </a>\n</p>\n\n<h4 align=\"center\"><a href=\"https://www.djlint.com\">How to use</a> \u2022 <a href=\"https://www.djlint.com/ru/\">\u041a\u0430\u043a \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f</a> \u2022 <a href=\"https://www.djlint.com/fr/\">Utilisation</a></h4>\n<h4 align=\"center\">What lang are you using?</h4>\n\n<p align=\"center\">\n   <a href=\"https://djlint.com/docs/languages/django/\">Django</a> \u2022 <a href=\"https://djlint.com/docs/languages/jinja/\">Jinja</a> \u2022 <a href=\"https://djlint.com/docs/languages/nunjucks/\">Nunjucks</a> \u2022 <a href=\"https://djlint.com/docs/languages/twig/\">Twig</a> \u2022 <a href=\"https://djlint.com/docs/languages/handlebars/\">Handlebars</a> \u2022 <a href=\"https://djlint.com/docs/languages/mustach/\">Mustache</a> \u2022 <a href=\"https://djlint.com/docs/languages/golang/\">GoLang</a> \u2022 <a href=\"https://djlint.com/docs/languages/angular/\">Angular</a>\n</p>\n\n<p align=\"center\">\n  <img src=\"https://github.com/Riverside-Healthcare/djLint/blob/aa9097660d4a2e840450de5456f656c42bc7dd34/docs/src/static/img/demo-min.gif\" alt=\"demo\" width=\"600\">\n</p>\n\n## \ud83e\udd14 For What?\n\nOnce 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.\n\nHTML templates were left out there on their own, in the cold, unformatted and unlinted :( The dirty corner in your repository. Something had to change.\n\n**djLint is a community build project to and add consistency to html templates.**\n\n## \u2728 How?\n\nGrab it with `pip`\n\n```bash\npip install djlint\n```\n\n*Or with the npm experimental install - Note, this requires python and pip to be on your system path.*\n\n```bash\nnpm i djlint\n```\n\nLint your project\n\n```bash\ndjlint . --extension=html.j2 --lint\n```\nCheck your format\n\n```bash\ndjlint . --extension=html.j2 --check\n```\nFix my format!\n```bash\ndjlint . --extension=html.j2 --reformat\n```\n\n## \ud83d\udc99 Like it?\n\nAdd a badge to your projects ```readme.md```:\n\n```md\n[![Code style: djlint](https://img.shields.io/badge/html%20style-djlint-blue.svg)](https://www.djlint.com)\n```\n\nAdd a badge to your ```readme.rst```:\n\n```rst\n.. image:: https://img.shields.io/badge/html%20style-djlint-blue.svg\n   :target: https://www.djlint.com\n```\nLooks like this:\n\n[![djLint](https://img.shields.io/badge/html%20style-djLint-blue.svg)](https://github.com/Riverside-Healthcare/djlint)\n\n\n## \ud83d\udee0\ufe0f Can I help?\n\nYes!\n\n*Would you like to add a rule to the linter?* Take a look at the [linter docs](https://djlint.com/docs/linter/) and [source code](https://github.com/Riverside-Healthcare/djLint/blob/master/src/djlint/rules.yaml)\n\n*Are you a regex pro?* Benchmark and submit a pr with improved regex for the [linter rules](https://github.com/Riverside-Healthcare/djLint/blob/master/src/djlint/rules.yaml)\n\n**\u26a0\ufe0f Help Needed! \u26a0\ufe0f** *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](https://github.com/Riverside-Healthcare/djLint/tree/block_indent)\n\n## \ud83c\udfc3 Other Tools Of Note\n\n* [DjHTML](https://github.com/rtts/djhtml) A pure-Python Django/Jinja template indenter without dependencies.\n* [HTMLHint](https://htmlhint.com) Static code analysis tool you need for your HTML\n* [curlylint](https://www.curlylint.org) Experimental HTML templates linting for Jinja, Nunjucks, Django templates, Twig, Liquid\n",
    "bugtrack_url": null,
    "license": "GPL-3.0-or-later",
    "summary": "HTML Template Linter and Formatter",
    "version": "1.34.1",
    "project_urls": {
        "Documentation": "https://djlint.com",
        "Homepage": "https://github.com/Riverside-Healthcare/djlint",
        "Repository": "https://github.com/Riverside-Healthcare/djlint"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7f0cbf400cf2a7af5aaa45cc3c54805220dea0bc88b500b414379d37fd0aff12",
                "md5": "e2008a140a44d00f761b0cf64d06b0bb",
                "sha256": "96ff1c464fb6f061130ebc88663a2ea524d7ec51f4b56221a2b3f0320a3cfce8"
            },
            "downloads": -1,
            "filename": "djlint-1.34.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "e2008a140a44d00f761b0cf64d06b0bb",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8.0,<4.0.0",
            "size": 48988,
            "upload_time": "2023-12-20T19:26:17",
            "upload_time_iso_8601": "2023-12-20T19:26:17.319497Z",
            "url": "https://files.pythonhosted.org/packages/7f/0c/bf400cf2a7af5aaa45cc3c54805220dea0bc88b500b414379d37fd0aff12/djlint-1.34.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c4a8b8ed0b5e924985d3b4272940f785a7bf5baa41713dc30a0c087939aaf7c8",
                "md5": "a4107b26bbacb70ac49f79bb32f2fec5",
                "sha256": "db93fa008d19eaadb0454edf1704931d14469d48508daba2df9941111f408346"
            },
            "downloads": -1,
            "filename": "djlint-1.34.1.tar.gz",
            "has_sig": false,
            "md5_digest": "a4107b26bbacb70ac49f79bb32f2fec5",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8.0,<4.0.0",
            "size": 44066,
            "upload_time": "2023-12-20T19:26:20",
            "upload_time_iso_8601": "2023-12-20T19:26:20.130573Z",
            "url": "https://files.pythonhosted.org/packages/c4/a8/b8ed0b5e924985d3b4272940f785a7bf5baa41713dc30a0c087939aaf7c8/djlint-1.34.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-12-20 19:26:20",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Riverside-Healthcare",
    "github_project": "djlint",
    "travis_ci": false,
    "coveralls": true,
    "github_actions": true,
    "tox": true,
    "lcname": "djlint"
}
        
Elapsed time: 0.17470s