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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Ignorovat kódy linteru.
ignore="H014,H015"
ignore="H014,H015"
"ignore": "H014,H015"
--ignore "H014,H015"
ignore_blocks
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
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
Zahrnout kódy linteru.
include="H014,H015"
include="H014,H015"
"include": "H014,H015"
--include "H014,H015"
indent
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
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
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
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
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
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
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
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
Nepřepisovat znakovou entitu na znak, který označuje, takže © 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
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
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
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
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
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
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
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
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
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
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
Při přeformátování nevypisovat diff.
quiet=true
quiet=true
"quiet": true
--quiet
quote_style
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
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
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
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
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
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
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