Skip to content

Experimental HTML templates linting for Jinja, Nunjucks, Django templates, Twig, Liquid

License

Notifications You must be signed in to change notification settings

thibaudcolas/curlylint

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PyPI PyPI downloads Build status Coverage Status Total alerts

{{ 🎀}} Experimental HTML templates linting for Jinja, Nunjucks, Django templates, Twig, Liquid. Forked from jinjalint.

Features

Curlylint is an HTML linter for “curly braces” templates, and their HTML. It focuses on rules to check for common accessibility issues.

Screenshot of the curlylint CLI, with an example invocation raising a parsing issue and a rule error

On the roadmap:

  • More checks for common accessibility issues in HTML.
  • Checks for common security issues – for example rel="noopener noreferrer", or known sources of XSS vulnerabilities.
  • More ideas welcome!

Usage

Curlylint is available on PyPI, grab it and you can start linting:

# Assuming you’re using Python 3.6+,
pip install curlylint
# Now time to lint those templates!
curlylint template-directory/

Have a look at our documentation to make the most of it:

Contributing

See anything you like in here? Anything missing? We welcome all support, whether on bug reports, feature requests, code, design, reviews, tests, documentation, and more. Please have a look at our contribution guidelines.

If you just want to set up the project on your own computer, the contribution guidelines also contain all of the setup commands.

Credits

This project started as a fork of jinjalint. Image credit: FxEmojis. Test templates extracted from third-party projects. Website hosted by Netlify.

View the full list of contributors. MIT licensed. Website content available as CC0.