Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
Experimental HTML templates linting for Jinja, Nunjucks, Django templates, Twig, Liquid
Curlylint is an experimental HTML template linter that checks Jinja, Nunjucks, Django templates, Twig, and Liquid files for common accessibility issues. It is a command-line tool available on PyPI, forked from jinjalint, and designed to bring linting to the curly-brace template languages used across Python and JavaScript projects.
Curlylint is a command-line linter for HTML-based template languages, installable with pip install curlylint and executed with the curlylint command followed by a template directory. It takes template files written in Jinja, Nunjucks, Django templates, Twig, or Liquid as input and outputs parsing issues and accessibility rule errors to the terminal. The project lives at github.com/thibaudcolas/curlylint and is released under the MIT license, with its documentation hosted at curlylint.org.
pip install curlylint, running curlylint template-directory/ parses every supported template in the directory and reports both template syntax issues and rule violations.rel="noopener noreferrer" and flagging known sources of XSS vulnerabilities.curlylint on any folder containing supported templates to get a terminal report of parsing errors and accessibility rule violations.After installing Curlylint, you run the curlylint command with a template directory path. The tool parses each template file according to its detected template language, evaluates the built-in rules, and prints any problems to standard output. The documentation at curlylint.org provides setup steps, configuration options, and a complete rule reference.
Yes. Curlylint is open source under the MIT license and can be installed from PyPI at no cost.
Curlylint supports Jinja, Nunjucks, Django templates, Twig, and Liquid. This covers the most common curly-brace template languages in Python and JavaScript ecosystems.
Curlylint focuses on common accessibility issues in HTML. The project roadmap also includes security checks such as verifying rel="noopener noreferrer" on links and detecting potential XSS sources.
Install Curlylint with pip install curlylint on Python 3.6 or later. Once installed, run curlylint template-directory/ to lint a folder of templates.
Curlylint is described as experimental, so it is still evolving. Its rule set is actively developed, and the documentation notes that new ideas for checks are welcome.
