Konfigurace

Konfigurace se zapisuje buď do souboru pyproject.toml vašeho projektu, do souboru djlint.toml nebo .djlint.toml, nebo do souboru .djlintrc. Argumenty příkazového řádku vždy přepíší jakékoli nastavení z konfiguračních souborů. Lokální nastavení projektu má přednost před globálním konfiguračním souborem zadaným pomocí --configuration, pokud není nastaveno --prefer-configuration.

Soubor pyproject.toml je ve formátu toml.

[tool.djlint]
<config options>

Soubory djlint.toml a .djlint.toml jsou ve formátu toml.

<config options>

Soubor .djlintrc je ve formátu json.

{ "option": "value" }

Možnosti


allow_empty_input

od verze 1.44.0formatterlinter

Skončit s kódem 0 místo 2, když zadaným cestám neodpovídají vůbec žádné soubory. Soubory, které byly nalezeny a pak přeskočeny kvůli exclude, extend_exclude, use_gitignore nebo require_pragma, končí s kódem 0 už teď. Ve výchozím nastavení vypnuto.

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

blank_line_after_tag

od verze 0.4.2formatter

Přidat další prázdný řádek za skupiny značek {% <tag> ... %}. Na konec bloku se prázdné řádky nikdy nepřidají.

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

od verze 1.8.0formatter

Přidat další prázdný řádek před skupiny značek {% <tag> ... %}. Na začátek souboru nebo bloku ani mezi podobné značky se prázdné řádky nikdy nepřidají.

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

od verze 1.26.0formatterlinter

Přidat ke známým nepárovým značkám uzavírací znak, takže z <img> se stane <img />. H018, které požaduje opak, se s touto možností nehlásí.

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

custom_blocks

od verze 0.3.5formatter

Slouží k odsazení vlastních bloků kódu. Například {% toc %}...{% endtoc %}.

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

custom_html

od verze 0.7.0formatter

Slouží k odsazení vlastních HTML značek. Například <mjml> nebo <simple-greeting> nebo <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

od verze 0.4.0linterformatter

Přepsat výchozí vyloučené cesty.

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

extend_exclude

od verze 0.4.0linterformatter

Přidat další cesty k výchozím vyloučeným cestám.

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

extension

od verze 0.0.5linterformatter

Slouží k vyhledání jen souborů s konkrétní příponou.

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

files

od verze 1.14.0linterformatter

Seznam cest, které djlint použije jako zdroj. Pokud je tato možnost zadána, musí být zdrojem na příkazovém řádku -, jako při použití stdin. S --stdin-filename znamená - v každém případě stdin.

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

format_attribute_js_json

od verze 1.37.0formatter

Formátovat kód JavaScriptu a JSON uvnitř HTML atributů. Naformátují se objektové literály a kód JavaScriptu v atributech jako onclick, x-* a v dalších atributech souvisejících s JavaScriptem. Objekty s menším počtem vlastností, než určuje format_attribute_js_json_min_props, se formátovat nebudou.

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

od verze 1.37.0formatter

Minimální počet vlastností, který musí objekt JavaScriptu/JSON mít, aby se naformátoval. Výchozí hodnota je 2. Objekty s menším počtem vlastností zůstanou na jednom řádku.

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

od verze 1.37.0formatter

Vlastní regulární výraz pro výběr atributů s JavaScriptem, které se mají formátovat. Výchozí vzor zachytí běžné atributy s JavaScriptem jako onclick, x-*, direktivy Vue.js, Alpine.js a Angularu a další.

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

od verze 0.6.7formatter

Formátovač se pokusí formátovat šablonovou syntaxi uvnitř atributů značek. Ve výchozím nastavení vypnuto.

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

format_css

od verze 1.9.0formatter

Formátovat obsah značek style pomocí css-beautify. Všechny možnosti konfigurace najdete v css-beautify. Šablonová syntaxe není plně podporována.

[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

od verze 1.9.0formatter

Formátovat obsah značek script pomocí js-beautify. Všechny možnosti konfigurace najdete v js-beautify. Šablonová syntaxe není plně podporována.

[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

od verze 0.1.5linter

Ignorovat kódy linteru.

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

ignore_blocks

od verze 1.24.0formatter

Slouží k vynechání odsazení potomků šablonových značek. Potomci se budou považovat za sourozence a podle toho se odsadí.

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

ignore_case

od verze 1.23.0formatterlinter

Nepokoušet se opravovat velikost písmen známých html značek. H009 a H010 se s touto možností nehlásí.

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

include

od verze 1.20.0linter

Zahrnout kódy linteru.

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

indent

od verze 0.3.5formatter

Slouží ke změně odsazení kódu. Výchozí hodnota je 4 (čtyři mezery), nebo indent_size ze souboru .editorconfig v kořeni projektu.

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

keep_br_inline

od verze 1.45.0formatter

Ponechat <br> na řádku textu, který zalamuje, a nedávat mu vlastní řádek. Na <hr>, které se vykresluje jako čára pod předchozím obsahem, to nemá vliv.

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

line_break_after_multiline_tag

od verze 1.27.0formatter

Nestahovat obsah víceřádkových značek na řádek posledního atributu.

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

od verze 0.6.7linter

Přizpůsobit pořadí ve výstupní zprávě. Výchozí hodnota je “{code} {line} {message} {match}”. Pokud zpráva neobsahuje {filename}, výstup se seskupí podle souborů a ke každé skupině se automaticky přidá záhlaví.

Volitelné proměnné:

  • {filename}
  • {line}
  • {end}
  • {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

od verze 0.5.8formatter

Formátovač se pokusí zalomit atributy značky, pokud jejich délka překročí tuto hodnotu. Výchozí hodnota je 70.

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

max_blank_lines

od verze 1.31.0formatter

Sloučit prázdné řádky na nejvýše x řádků. Výchozí hodnota je 0, což znamená, že se prázdné řádky odstraní.

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

max_line_length

od verze 0.5.7formatter

Formátovač se pokusí umístit některé html a šablonové značky na jeden řádek, místo aby je zalomil, pokud délka řádku nepřekročí tuto hodnotu. Výchozí hodnota je 120, nebo max_line_length ze souboru .editorconfig v kořeni projektu.

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

name_endblocks

od verze 1.45.0formatter

Zapsat název bloku do {% endblock %}, který ho uzavírá, pokud je blok zapsaný přes více řádků. Právě to vyžaduje T003.

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

no_entity_formatting

od verze 1.45.0formatter

Nepřepisovat znakovou entitu na znak, který označuje, takže &copy; zůstane tak, jak je zapsané, a nezmění se na ©. Entity, které nesou syntaxi, a neviditelné entity se nepřepisují v žádném případě. H023 entitu i s touto možností stále hlásí; chcete-li entity zachovat, přidejte H023 do ignore.

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

no_function_formatting

od verze 1.30.2formatter

Nepokoušet se formátovat argumenty volání funkcí uvnitř výrazů {{ }}.

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

no_indent_inner_html

od verze 1.45.0formatter

Neodsazovat <head> a <body> pod <html>, což odpovídá tomu, jak dokument rozvrhne výchozí html formátovač ve 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

od verze 1.29.0formatter

Nepřidávat za yaml front matter prázdný řádek.

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

no_set_formatting

od verze 1.30.2formatter

Nepokoušet se formátovat obsah značek {% set %}.

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

per_file_ignores

od verze 1.7.0linter

Ignorovat pravidla linteru pro jednotlivé soubory.

[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

od verze 1.45.0formatterlinter

Umožnit souboru zadanému v configuration přepsat vlastní konfigurační soubor projektu. configuration určuje globální soubor, takže ve výchozím nastavení vyhrává pyproject.toml nebo .djlintrc vedle šablon tam, kde oba nastavují totéž. Jen pro příkazový řádek, protože rozhoduje o tom, jak se čtou samotné konfigurační soubory.

--prefer-configuration

preserve_blank_lines

od verze 1.3.0formatter

Zachovat prázdné řádky, kde je to možné. Ideální pro šablony mimo html, kde jsou prázdné řádky záměrné.

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

preserve_class_newlines

od verze 1.39.0formatter

Zachovat zalomení řádků uvnitř víceřádkových atributů class.

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

preserve_leading_space

od verze 1.2.0formatter

Zachovat úvodní mezery v textu, kde je to možné. Ideální pro šablony mimo html, kde je odsazení textu záměrné.

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

profile

od verze 0.4.5linterformatter

Nastavit profil pro šablonovací jazyk. Profil zapne pravidla linteru, která se vztahují k vašemu šablonovacímu jazyku, a může změnit i přeformátování. Například v handlebars nejsou uvnitř značek {{#if}} mezery.

Možnosti:

  • html (výchozí)
  • django
  • jinja
  • nunjucks (pro nunjucks a twig)
  • handlebars (pro handlebars a mustache)
  • liquid (shopify, jekyll, eleventy)
  • golang (šablony go; hugo, helm)
  • angular
  • tera (také pro zola; pro minijinja použijte jinja)
  • askama (šablony ve stylu jinja v rustu; výrazy v rustu se nikdy nepřeformátovávají)
profile="django"
profile="django"
"profile": "django"
--profile "django"

quiet

od verze 0.0.9formatterlinter

Při přeformátování nevypisovat diff.

quiet=true
quiet=true
"quiet": true
--quiet

quote_style

od verze 1.45.0formatterlinter

Uvozovky pro řetězce uvnitř šablonových značek, buď double (výchozí), nebo single. T002 vyžaduje tytéž uvozovky. Formátovač je používá i v podmínce, například {% if x == "a" %}, aby jeden soubor nezapisoval stejný řetězec oběma způsoby. Uvozovky HTML atributů má na starosti H008.

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

require_pragma

od verze 0.5.8formatter

Formátovat nebo lintovat jen soubory, které začínají komentářem obsahujícím pouze text ‘djlint:on’. Komentář může být HTML komentář nebo komentář v šablonovacím jazyce určeném nastavením profile. Pokud není zadán žádný profil, přijme se komentář v kterémkoli ze šablonovacích jazyků.

<!-- 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

od verze 1.40.0formatter

Když se otevírací značka zalamuje, umístit název značky, každý atribut i uzavírací závorku na samostatné řádky. Ve výchozím nastavení vypnuto.

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

sort_attributes

od verze 1.45.0formatter

Seřadit atributy podle názvu, s id na prvním a class na druhém místě. Značka, jejíž atributy jsou podmíněné šablonovou značkou, si ponechá pořadí, ve kterém byla zapsána, protože přesunutí atributu z jeho větve by změnilo stránku.

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

sort_load_tags

od verze 1.47.0formatter

Seřadit knihovny ve značce django {% load %} a vypustit ty, které jsou zapsané dvakrát, takže z {% load static i18n %} se stane {% load i18n static %}. V {% load a b from library %} se seřadí názvy před from. Pokud dvě knihovny definují značku nebo filtr se stejným názvem, vyhrává ta načtená jako poslední, takže řazení může změnit, kterou z nich šablona použije.

sort_load_tags=true
sort_load_tags=true
"sort_load_tags": true
--sort-load-tags

stdin_filename

od verze 1.43.0formatterlinter

Název souboru, který se při čtení ze stdin použije pro per-file-ignores a ve zprávách. Výchozí hodnota je “-”.

--stdin-filename templates/index.html

use_gitignore

od verze 0.5.9linterformatter

Přidat vyloučení ze souboru .gitignore k výchozím vyloučeným cestám. Ve výchozím nastavení vypnuto.

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

version

od verze 0.3.9formatterlinter

Zobrazit verzi a skončit.

--version

warn

od verze 0.7.6formatterlinter

Vracet chyby jako varování.

--warn