Configuration

La configuration se fait soit dans le fichier pyproject.toml de votre projet, soit dans le fichier djlint.toml ou .djlint.toml, soit dans le fichier .djlintrc. Les arguments de la ligne de commande auront toujours la priorité sur les réglages des fichiers de configuration. Les paramètres locaux du projet auront toujours la priorité sur les fichiers de configuration globaux.

Le format de pyproject.toml est toml.

[tool.djlint]
<options de configuration>

Le format de djlint.toml et .djlint.toml est toml.

<options de configuration>

Le format de .djlintrc est json.

{ "option": "valeur" }

Options


allow_empty_input

formatterlinter

Terminer avec le code 0 au lieu de 2 lorsque les chemins indiqués ne correspondent à aucun fichier. Les fichiers trouvés puis ignorés par exclude, extend_exclude, use_gitignore ou require_pragma se terminent déjà avec le code 0. Désactivé par défaut.

allow_empty_input=true
allow_empty_input=true
"allow_empty_input": true
--allow-empty-input

blank_line_after_tag

formatter

Ajout d’une ligne vide supplémentaire après les groupes de balises {% <tag> ... %}. Les lignes vides ne seront jamais ajoutées à la fin d’un bloc.

blank_line_after_tag="load,extends,include"
blank_line_after_tag="load,extends,include"
"blank_line_after_tag": "load,extends,include"
--blank-line-after-tag "load,extends,include"

blank_line_before_tag

formatter

Ajoute une ligne blanche supplémentaire avant les groupes de balises {% <tag> ... %}. Les lignes vides ne seront jamais ajoutées au début du fichier ou d’un bloc, ni entre des balises similaires.

blank_line_before_tag="load,extends,include"
blank_line_before_tag="load,extends,include"
"blank_line_before_tag": "load,extends,include"
--blank-line-before-tag "load,extends,include"

close_void_tags

formatter

Ajoute une marque de fermeture aux balises vides connues : <img> devient <img />.

close_void_tags=true
close_void_tags=true
"close_void_tags": true
--close-void-tags

custom_blocks

formatter

Sert à indenter les blocs de code personnalisés. Par exemple {% toc %}...{% endtoc %}.

custom_blocks="toc,example"
custom_blocks="toc,example"
"custom_blocks": "toc,example"
--custom-blocks "toc,example"

custom_html

formatter

Permet d’indenter les balises HTML personnalisées. Par exemple, <mjml> ou <simple-greeting> ou <mj-\\w+>.

custom_html="mjml,simple-greeting,mj-\\w+"
custom_html="mjml,simple-greeting,mj-\\w+"
"custom_html": "mjml,simple-greeting,mj-\\w+"
--custom-html "mjml,simple-greeting,mj-\\w+"

exclude

linterformatter

Remplacer les chemins d’exclusion par défaut.

exclude=".venv,venv,.tox,.eggs,..."
exclude=".venv,venv,.tox,.eggs,..."
"exclude": ".venv,venv,.tox,.eggs,..."
--exclude ".venv,venv,.tox,.eggs,..."

extend_exclude

linterformatter

Ajouter des chemins supplémentaires à l’exclusion par défaut.

extend_exclude=".custom"
extend_exclude=".custom"
"extend_exclude": ".custom"
--extend-exclude ".custom"

extension

linterformatter

Permet de trouver uniquement les fichiers ayant une extension spécifique.

extension="html.dj"
extension="html.dj"
"extension": "html.dj"
--extension "html.dj"
# or
-e "html.dj"

files

linterformatter

Une liste de chemins à utiliser comme source de djlint. Lorsque cette option est spécifiée, la source de la ligne de commande doit être - comme si vous utilisiez stdin.

[tool.djlint]
files=["index.html"]
files=["index.html"]
"files": [
    "index.html"
]
index.html

format_attribute_js_json

formatter

Formater le code JavaScript et JSON à l’intérieur des attributs HTML. Cela formatera les littéraux d’objet et le code JavaScript dans les attributs comme onclick, x-* et d’autres attributs liés à JavaScript. Les objets avec moins de propriétés que format_attribute_js_json_min_props ne seront pas formatés.

format_attribute_js_json=true
format_attribute_js_json=true
"format_attribute_js_json": true
--format-attribute-js-json

format_attribute_js_json_min_props

formatter

Nombre minimum de propriétés requises dans un objet JavaScript/JSON pour qu’il soit formaté. La valeur par défaut est 2. Les objets avec moins de propriétés resteront sur une seule ligne.

format_attribute_js_json_min_props=3
format_attribute_js_json_min_props=3
"format_attribute_js_json_min_props": 3
--format-attribute-js-json-min-props 3

format_attribute_js_json_pattern

formatter

Modèle regex personnalisé pour faire correspondre les attributs JavaScript pour le formatage. Le modèle par défaut correspond aux attributs JavaScript courants comme onclick, x-*, les directives Vue.js, les directives Alpine.js, les directives Angular et plus encore.

format_attribute_js_json_pattern="^(on[a-z]+|data-[a-z-]+|x-[a-z-]+)$"
format_attribute_js_json_pattern="^(on[a-z]+|data-[a-z-]+|x-[a-z-]+)$"
"format_attribute_js_json_pattern": "^(on[a-z]+|data-[a-z-]+|x-[a-z-]+)$"
--format-attribute-js-json-pattern "^(on[a-z]+|data-[a-z-]+|x-[a-z-]+)$"

format_attribute_template_tags

formatter

Le formateur tentera de formater la syntaxe des modèles à l’intérieur des attributs des balises. Désactivé par défaut.

format_attribute_template_tags=true
format_attribute_template_tags=true
"format_attribute_template_tags": true
--format-attribute-template-tags

format_css

formatter

Formate le contenu des balises style en utilisant css-beautify. Voir css-beautify pour toutes les options de configuration. La syntaxe des modèles n’est pas entièrement prise en charge.

[tool.djlint]
format_css=true

[tool.djlint.css]
indent_size=5
format_css=true

[css]
indent_size=5
"format_css": true
"css": {
        "indent_size": 5
    }
--format-css --indent-css 5

format_js

formatter

Formate le contenu des balises script en utilisant js-beautify. Voir js-beautify pour toutes les options de configuration. La syntaxe des modèles n’est pas entièrement prise en charge.

[tool.djlint]
format_js=true

[tool.djlint.js]
indent_size=5
format_js=true

[js]
indent_size=5
"format_js": true
"js": {
        "indent_size": 5
    }
--format-js --indent-js 5

ignore

linter

Ignore les codes de linter.

ignore="H014,H015"
ignore="H014,H015"
"ignore": "H014,H015"
--ignore "H014,H015"

ignore_blocks

formatter

Permet d’ignorer l’indentation des enfants des balises de modèle. Les enfants seront traités comme des frères et sœurs et indentés en conséquence.

ignore_blocks="raw,example"
ignore_blocks="raw,example"
"ignore_blocks": "raw,example"
--ignore-blocks "raw,example"

ignore_case

formatter

N’essayez pas de corriger la casse des balises html connues.

[tool.djlint]
ignore_case=true
ignore_case=true
"ignore_case": true
--ignore-case

include

linter

Inclure les codes des liners.

include="H014,H015"
include="H014,H015"
"include": "H014,H015"
--include "H014,H015"

indent

formatter

Permet de modifier l’indentation du code. La valeur par défaut est 4 (quatre espaces).

indent=3
indent=3
"indent": "3"
--indent 3

keep_br_inline

formatter

Garder <br> sur la ligne du texte qu’il coupe plutôt que de lui donner sa propre ligne. <hr>, qui s’affiche en filet sous le contenu précédent, n’est pas concerné.

keep_br_inline=true
keep_br_inline=true
"keep_br_inline": true
--keep-br-inline

line_break_after_multiline_tag

formatter

Ne pas condenser le contenu des balises multilignes dans la ligne du dernier attribut.

line_break_after_multiline_tag=true
line_break_after_multiline_tag=true
"line_break_after_multiline_tag": "true"
--line-break-after-multiline-tag

linter_output_format

linter

Personnalise l’ordre du message de sortie. Défaut=“{code} {ligne} {message} {match}”. Si {filename} n’est pas inclus dans le message, alors la sortie sera groupée par fichier et un en-tête sera automatiquement ajouté à chaque groupe.

Optional variables:

  • {filename}
  • {line}
  • {code}
  • {message}
  • {match}
linter_output_format="{filename}:{line}: {code} {message} {match}"
linter_output_format="{filename}:{line}: {code} {message} {match}"
"linter_output_format": "{filename}:{line}: {code} {message} {match}"
--linter-output-format "{filename}:{line}: {code} {message} {match}"

max_attribute_length

formatter

Le formateur tentera d’envelopper les attributs de la balise si la longueur de l’attribut dépasse cette valeur.

max_attribute_length=10
max_attribute_length=10
"max_attribute_length": "10"
--max-attribute-length 10

max_blank_lines

formatter

Consolider les lignes vierges en les ramenant à x lignes. La valeur par défaut est 0, ce qui signifie que les lignes vierges seront supprimées.

max_blank_lines=5
max_blank_lines=5
"max_blank_lines": 5
--max-blank-lines 5

max_line_length

formatter

Le formateur essaiera de mettre certaines balises html et template sur une seule ligne au lieu de les envelopper si la longueur de la ligne ne dépasse pas cette valeur.

max_line_length=120
max_line_length=120
"max_line_length": "120"
--max-line-length 120

name_endblocks

formatter

Écrit le nom du bloc dans le {% endblock %} qui le ferme, lorsque le bloc s’étend sur plusieurs lignes. C’est ce que demande T003.

name_endblocks=true
name_endblocks=true
"name_endblocks": true
--name-endblocks

no_entity_formatting

formatter

Ne pas réécrire une référence d’entité en le caractère qu’elle nomme : &copy; reste tel quel au lieu de devenir ©. Les entités qui portent de la syntaxe et les invisibles ne sont de toute façon jamais réécrites.

no_entity_formatting=true
no_entity_formatting=true
"no_entity_formatting": true
--no-entity-formatting

no_function_formatting

formatter

Ne pas tenter de formater les arguments des appels de fonction dans les expressions {{ }}.

no_function_formatting=true
no_function_formatting=true
"no_function_formatting": true
--no-function-formatting

no_indent_inner_html

formatter

Ne pas indenter <head> ni <body> sous <html>, comme le fait le formateur html par défaut de VS Code.

no_indent_inner_html=true
no_indent_inner_html=true
"no_indent_inner_html": true
--no-indent-inner-html

no_line_after_yaml

formatter

N’ajoutez pas de ligne vierge après la matière première yaml.

no_line_after_yaml=true
no_line_after_yaml=true
"no_line_after_yaml": true
--no-line-after-yaml

no_set_formatting

formatter

Ne pas tenter de formater le contenu des balises {% set %}.

no_set_formatting=true
no_set_formatting=true
"no_set_formatting": true
--no-set-formatting

per_file_ignores

linter

Ignorer les règles de linter sur une base par fichier.

[tool.djlint.per-file-ignores]
"file.html"= "H026,H025"
"file_two.html"="H001"
[per-file-ignores]
"file.html"= "H026,H025"
"file_two.html"="H001"
"per-file-ignores": {
        "file.html": "H026,H025",
        "file_two.html":"H001"
    }
--per-file-ignores "file.html" "H026,H025" --per-file-ignores "file_two.html" "H001"

prefer_configuration

formatterlinter

Laisse le fichier désigné par configuration primer sur le fichier de configuration du projet. configuration désigne un fichier global : par défaut, un pyproject.toml ou un .djlintrc placé près des gabarits l’emporte là où les deux règlent la même chose. En ligne de commande uniquement, puisque l’option décide de la lecture des fichiers de configuration eux-mêmes.

--prefer-configuration

preserve_blank_lines

formatter

Préserve les lignes vides lorsque cela est possible. Idéal pour les fichiers de modèles non-html où les lignes vides sont intentionnelles.

preserve_blank_lines=true
preserve_blank_lines=true
"preserve_blank_lines": true
--preserve-blank-lines

preserve_class_newlines

formatter

Préserver les sauts de ligne dans les attributs class multilignes.

preserve_class_newlines=true
preserve_class_newlines=true
"preserve_class_newlines": true
--preserve-class-newlines

preserve_leading_space

formatter

Préserve l’espace de tête du texte, dans la mesure du possible. Idéal pour les fichiers de modèles non-html où l’indentation du texte est intentionnelle.

preserve_leading_space=true
preserve_leading_space=true
"preserve_leading_space": true
--preserve-leading-space

profile

linterformatter

Définissez un profil pour la langue du modèle. Le profil activera les règles de linter qui s’appliquent à votre langage de modèle, et peut également changer le reformatage. Par exemple, dans handlebars, il n’y a pas d’espaces dans les balises {{#if}}.

Options:

  • html (default)
  • django
  • jinja
  • nunjucks (for nunjucks and twig)
  • handlebars (for handlebars and mustache)
  • liquid (shopify, jekyll, eleventy)
  • golang (go templates; hugo, helm)
  • angular
  • tera (also for zola; use jinja for minijinja)
  • askama (jinja-style templates in rust; rust expressions are never reformatted)
profile="django"
profile="django"
"profile": "django"
--profile "django"

quiet

formatterlinter

N’imprimez pas de différences lors du reformatage.

--quiet

quote_style

formatterlinter

Guillemets à utiliser pour les chaînes dans les balises de modèle : double (par défaut) ou single. T002 exige les mêmes. Le formateur les emploie aussi dans une condition, comme {% if x == "a" %}, pour qu’un fichier n’écrive pas la même chaîne de deux façons. Les guillemets des attributs HTML restent du ressort de H008.

quote_style="single"
quote_style="single"
"quote_style": "single"
--quote-style single

require_pragma

formatter

Ne formatez ou ne limez que les fichiers qui commencent par un commentaire contenant uniquement le texte ‘djlint:on’. Le commentaire peut être un commentaire HTML ou un commentaire dans le langage de modèle défini par le paramètre de profil. Si aucun profil n’est spécifié, un commentaire dans l’un des langages de modèle est accepté.

<!-- djlint:on -->
{# djlint:on #}
{% comment %} djlint:on {% endcomment %}
{{ /* djlint:on */ }}
{{!-- djlint:on --}}
require_pragma=true
require_pragma=true
"require_pragma": true
--require-pragma

single_attribute_per_line

formatter

Lorsqu’une balise ouvrante est renvoyée à la ligne, le nom de la balise, chaque attribut et le chevron de fermeture sont placés sur des lignes séparées. Désactivé par défaut.

single_attribute_per_line=true
single_attribute_per_line=true
"single_attribute_per_line": true
--single-attribute-per-line

sort_attributes

formatter

Trie les attributs par nom, id en premier et class en second. Une balise dont les attributs sont gardés par une balise de template conserve l’ordre écrit : sortir un attribut de sa branche changerait la page.

sort_attributes=true
sort_attributes=true
"sort_attributes": true
--sort-attributes

stdin_filename

formatterlinter

Nom de fichier à utiliser pour per-file-ignores et les messages lors de la lecture depuis stdin. La valeur par défaut est “-”.

--stdin-filename templates/index.html

use_gitignore

linterformatter

Ajouter les exclusions .gitignore à l’exclusion par défaut. Désactivé par défaut.

use_gitignore=true
use_gitignore=true
"use_gitignore": true
--use-gitignore

version

formatterlinter

Afficher la version et quitter.

--version

warn

formatterlinter

Renvoyer les erreurs sous forme d’avertissements.

--warn
Modifier cette page Actualisé Sep 3, 2026