Configuration

La configuration se fait soit à travers le fichier pyproject.toml de votre projet, soit à travers un fichier .djlintrc. Les arguments de la ligne de commande remplaceront toujours les paramètres du fichier pyproject.toml. Les paramètres locaux du projet prévaudront toujours sur les fichiers de configuration globaux.

Le format du fichier pyproject.toml est toml.

[tool.djlint]
<options de configuration>

Le format du fichier djlintrc est json.

{
"option": "valeur"
}

ignore

Ignore les codes de linter.

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

extension

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

extension="html.dj"
"extension": "html.dj"

custom_blocks

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

custom_blocks="toc,example"
"custom_blocks": "toc,example"

custom_html

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+"

indent

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

indent=3
"indent": "3"

exclude

Remplacer les chemins d’exclusion par défaut.

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

extend_exclude

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

extend_exclude=".custom"
"extend_exclude": ".custom"

blank_line_after_tag

Ajout d’une ligne vide supplémentaire après les groupes de balises {% <tag> ... %}.

blank_line_after_tag="load,extends,include"
"blank_line_after_tag": "load,extends,include"

blank_line_before_tag

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 entre des balises similaires.

blank_line_before_tag="load,extends,include"
"blank_line_before_tag": "load,extends,include"

profile

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)
  • golang
  • angular

profile="django"
"profile": "django"

require_pragma

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"

max_line_length

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_attribute_length

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"

use_gitignore

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

use_gitignore=True
"use_gitignore": "True"

format_attribute_template_tags

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"

linter_output_format

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}"

preserve_leading_space

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_blank_lines

Préserve les blancs 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

per_file_ignores

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"
}

format_js

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] (https://github.com/beautify-web/js-beautify/issues) dans pris en charge.

[tool.djlint]
format_js=true

[tool.djlint.js]
indent_size=5
"format_js": true
"js": {
"indent_size": 5
}

format_css

Formate le contenu des balises script 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] (https://github.com/beautify-web/js-beautify/issues) dans pris en charge.

[tool.djlint]
format_css=true

[tool.djlint.css]
indent_size=5
"format_css": true
"css": {
"indent_size": 5
}

files

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"
}
Modifier cette page Actualisé Mar 6, 2023