Skip to main content

A linter for Jinja-like templates

Project description


# jinjalint

A prototype linter which checks the indentation and the correctness of
[Jinja][jinja]-like/HTML templates. Can [fix issues][django-commit].

It works with [Django’s templates][djangotemplates] too, it should
work with [Twig](https://twig.symfony.com/) and similar template languages.
It should work fine with any kind of HTML 4 and 5, hovewer XHTML is not
supported.

This linter parses both HTML and Jinja tags and will report mismatched
tags and indentation errors:

```html+jinja
<div>
{% if something %}
</div>
{% endif %}
```

```html+jinja
<div>
<span>
</div>
</span>
```

```html+jinja
{% if something %}
<div> not indented properly
</div>
{% endif %}
```

```html+jinja
{% if something %}<a href="somewhere">{% endif %}
<p>something</p>
{% if not something %}</a>{% endif %}
```

## Usage

You need Python 3. Jinjalint doesn’t work with Python 2. Install it with
`pip install jinjalint` (or `pip3 install jinjalint` depending on how `pip` is
called on your system), then run it with:

```sh
$ jinjalint template-directory/
```

…or:

```sh
$ jinjalint some-file.html some-other-file.html
```

This is a work in progress. Feel free to contribute :upside_down_face:

[jinja]: http://jinja.pocoo.org/docs/2.9/
[django-commit]: https://github.com/django/djangoproject.com/commit/14a964d626196c857809d9b3b492ff4cfa4b3f40
[djangotemplates]: https://docs.djangoproject.com/en/1.11/ref/templates/language/

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jinjalint-0.5.tar.gz (32.3 kB view details)

Uploaded Source

File details

Details for the file jinjalint-0.5.tar.gz.

File metadata

  • Download URL: jinjalint-0.5.tar.gz
  • Upload date:
  • Size: 32.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Python-urllib/3.6

File hashes

Hashes for jinjalint-0.5.tar.gz
Algorithm Hash digest
SHA256 4490e4a8f1d23de28306137b8ff5ae4a979db07b3ac9a4eb2726bf174dc41827
MD5 e66fbf8d7c6c373ff3262c1ddd6f21e3
BLAKE2b-256 30f049ad922d23b39e52fcf22038371cb22672d676825e2fad5cb2f764376d4e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page