curlylint is designed to lint template languages that use "curly braces" syntax. It supports languages that use double curly braces for variable interpolation ({{ ... }}), curly braces with percent signs for special blocks or tags ({% ... %}), and pipes for filters (|).
Supported languages include:
- Jinja: Primary target; the parser and AST nomenclature are based on Jinja.
- Nunjucks: Identical to Jinja for linting purposes.
- Django templates: Nearly identical to Jinja.
- Twig: Supported via syntax similarity; HTML checks work well, but template syntax checks may be less stable.
- Liquid: Supported via syntax similarity; HTML checks work well, but template syntax checks may be less stable.
- HTML: Can be used as a standalone HTML linter.
<!-- Double curly braces for variables interpolation -->
{{ pretty_cool_variable }}
<!-- Curly braces with percent signs for special blocks or tags -->
{% my_special_tag %}
<!-- Pipes for filters -->
{{ pretty_cool_list|length }}