Yapılandırma

Yapılandırma, projenizin pyproject.toml dosyası, bir djlint.toml ya da .djlint.toml dosyası veya bir .djlintrc dosyası üzerinden yapılır. Komut satırı argümanları, yapılandırma dosyalarındaki ayarları her zaman geçersiz kılar. --prefer-configuration ayarlanmadıkça yerel proje ayarları, --configuration ile verilen genel bir yapılandırma dosyasını geçersiz kılar.

pyproject.toml dosyası toml biçimindedir.

[tool.djlint]
<config options>

djlint.toml ve .djlint.toml dosyaları toml biçimindedir.

<config options>

.djlintrc dosyası json biçimindedir.

{ "option": "value" }

Seçenekler


allow_empty_input

eklendiği sürüm: 1.44.0formatterlinter

Verilen yollar hiçbir dosyayla eşleşmediğinde 2 yerine 0 ile çıkar. Dosyalar bulunup ardından exclude, extend_exclude, use_gitignore ya da require_pragma ile atlandıysa çıkış kodu zaten 0 olur. Varsayılan olarak devre dışıdır.

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

blank_line_after_tag

eklendiği sürüm: 0.4.2formatter

{% <tag> ... %} etiket gruplarından sonra fazladan bir boş satır ekler. Bir bloğun sonuna hiçbir zaman boş satır eklenmez.

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

eklendiği sürüm: 1.8.0formatter

{% <tag> ... %} etiket gruplarından önce fazladan bir boş satır ekler. Dosyanın ya da bir bloğun başına veya benzer etiketlerin arasına hiçbir zaman boş satır eklenmez.

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

eklendiği sürüm: 1.26.0formatterlinter

Bilinen void etiketlere bir kapanış işareti ekler; böylece <img>, <img /> olur. Bunun tersini isteyen H018 bu seçenekle bildirilmez.

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

custom_blocks

eklendiği sürüm: 0.3.5formatter

Özel kod bloklarını girintilemek için kullanılır. Örneğin {% toc %}...{% endtoc %}.

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

custom_html

eklendiği sürüm: 0.7.0formatter

Özel HTML etiketlerini girintilemek için kullanılır. Örneğin <mjml>, <simple-greeting> ya da <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

eklendiği sürüm: 0.4.0linterformatter

Varsayılan hariç tutma yollarını geçersiz kılar.

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

extend_exclude

eklendiği sürüm: 0.4.0linterformatter

Varsayılan hariç tutma listesine ek yollar ekler.

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

extension

eklendiği sürüm: 0.0.5linterformatter

Yalnızca belirli bir uzantıya sahip dosyaları bulmak için kullanılır.

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

files

eklendiği sürüm: 1.14.0linterformatter

djlint’in kaynağı olarak kullanılacak yolların listesi. Bu seçenek belirtildiğinde komut satırındaki kaynak, stdin kullanılıyormuş gibi - olmalıdır. --stdin-filename ile - her durumda stdin anlamına gelir.

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

format_attribute_js_json

eklendiği sürüm: 1.37.0formatter

HTML özniteliklerinin içindeki JavaScript ve JSON kodunu biçimlendirir. onclick, x-* gibi özniteliklerdeki ve JavaScript ile ilgili diğer özniteliklerdeki nesne değişmezleri ve JavaScript kodu biçimlendirilir. format_attribute_js_json_min_props değerinden daha az özelliğe sahip nesneler biçimlendirilmez.

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

eklendiği sürüm: 1.37.0formatter

Bir JavaScript/JSON nesnesinin biçimlendirilmesi için gereken en az özellik sayısı. Varsayılan değer 2’dir. Daha az özelliğe sahip nesneler tek satırda kalır.

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

eklendiği sürüm: 1.37.0formatter

Biçimlendirilecek JavaScript özniteliklerini eşleştirmek için özel regex kalıbı. Varsayılan kalıp onclick, x-*, Vue.js yönergeleri, Alpine.js yönergeleri, Angular yönergeleri ve daha fazlası gibi yaygın JavaScript öznitelikleriyle eşleşir.

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

eklendiği sürüm: 0.6.7formatter

Biçimlendirici, etiket özniteliklerinin içindeki şablon sözdizimini biçimlendirmeye çalışır. Varsayılan olarak devre dışıdır.

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

format_css

eklendiği sürüm: 1.9.0formatter

style etiketlerinin içeriğini css-beautify ile biçimlendirir. Tüm yapılandırma seçenekleri için css-beautify sayfasına bakın. Şablon sözdizimi tam olarak desteklenmez.

[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

eklendiği sürüm: 1.9.0formatter

script etiketlerinin içeriğini js-beautify ile biçimlendirir. Tüm yapılandırma seçenekleri için js-beautify sayfasına bakın. Şablon sözdizimi tam olarak desteklenmez.

[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

eklendiği sürüm: 0.1.5linter

Linter kodlarını yok sayar.

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

ignore_blocks

eklendiği sürüm: 1.24.0formatter

Şablon etiketlerinin alt öğelerinde girintilemeyi atlamak için kullanılır. Alt öğeler kardeş öğe olarak ele alınır ve buna göre girintilenir.

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

ignore_case

eklendiği sürüm: 1.23.0formatterlinter

Bilinen html etiketlerinin büyük/küçük harf yazımını düzeltmeye çalışmaz. Bu seçenekle H009 ve H010 bildirilmez.

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

include

eklendiği sürüm: 1.20.0linter

Linter kodlarını dahil eder.

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

indent

eklendiği sürüm: 0.3.5formatter

Kod girintisini değiştirmek için kullanılır. Varsayılan değer 4’tür (dört boşluk) ya da proje kökündeki bir .editorconfig dosyasının indent_size değeridir.

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

keep_br_inline

eklendiği sürüm: 1.45.0formatter

<br> etiketine kendi satırını vermek yerine onu böldüğü metnin satırında tutar. Önceki içeriğin altında bir çizgi olarak görüntülenen <hr> bundan etkilenmez.

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

line_break_after_multiline_tag

eklendiği sürüm: 1.27.0formatter

Çok satırlı etiketlerin içeriğini son özniteliğin satırına sıkıştırmaz.

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

eklendiği sürüm: 0.6.7linter

Çıktı mesajının sırasını özelleştirir. Varsayılan=“{code} {line} {message} {match}”. Mesajda {filename} yoksa çıktı dosyaya göre gruplanır ve her gruba otomatik olarak bir başlık eklenir.

İsteğe bağlı değişkenler:

  • {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

eklendiği sürüm: 0.5.8formatter

Öznitelik uzunluğu bu değeri aşarsa biçimlendirici etiket özniteliklerini sarmaya çalışır. Varsayılan değer 70’tir.

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

max_blank_lines

eklendiği sürüm: 1.31.0formatter

Boş satırları en fazla x satıra indirir. Varsayılan değer 0’dır; bu, boş satırların kaldırılacağı anlamına gelir.

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

max_line_length

eklendiği sürüm: 0.5.7formatter

Satır uzunluğu bu değeri aşmayacaksa biçimlendirici bazı html ve şablon etiketlerini sarmak yerine tek satıra yerleştirmeye çalışır. Varsayılan değer 120’dir ya da proje kökündeki bir .editorconfig dosyasının max_line_length değeridir.

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

name_endblocks

eklendiği sürüm: 1.45.0formatter

Blok birden çok satıra yayılarak yazılmışsa bloğun adını onu kapatan {% endblock %} etiketine yazar. T003 kuralının istediği de budur.

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

no_entity_formatting

eklendiği sürüm: 1.45.0formatter

Bir varlık başvurusunu adlandırdığı karakter olarak yeniden yazmaz; böylece &copy;, © olmak yerine yazıldığı gibi bırakılır. Sözdizimi taşıyan varlıklar ve görünmez olanlar her iki durumda da hiçbir zaman yeniden yazılmaz. Bu seçenekle H023 bir varlığı yine de bildirir; varlıkları korumak için ignore listesine H023 ekleyin.

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

no_function_formatting

eklendiği sürüm: 1.30.2formatter

{{ }} ifadelerinin içindeki işlev çağrılarının argümanlarını biçimlendirmeye çalışmaz.

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

no_indent_inner_html

eklendiği sürüm: 1.45.0formatter

<head> ve <body> öğelerini <html> altında girintilemez; varsayılan VS Code html biçimlendiricisi de bir belgeyi bu şekilde düzenler.

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

no_line_after_yaml

eklendiği sürüm: 1.29.0formatter

yaml ön bilgisinden (front matter) sonra boş satır eklemez.

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

no_set_formatting

eklendiği sürüm: 1.30.2formatter

{% set %} etiketlerinin içeriğini biçimlendirmeye çalışmaz.

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

per_file_ignores

eklendiği sürüm: 1.7.0linter

Linter kurallarını dosya bazında yok sayar.

[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

eklendiği sürüm: 1.45.0formatterlinter

configuration ile belirtilen dosyanın projenin kendi yapılandırma dosyasını geçersiz kılmasını sağlar. configuration genel bir dosyayı belirtir; bu yüzden varsayılan olarak, ikisi aynı şeyi ayarladığında şablonların yanındaki bir pyproject.toml ya da .djlintrc kazanır. Yapılandırma dosyalarının nasıl okunacağını belirlediği için yalnızca komut satırında kullanılabilir.

--prefer-configuration

preserve_blank_lines

eklendiği sürüm: 1.3.0formatter

Mümkün olduğunda boş satırları korur. Boş satırların bilinçli olduğu, html olmayan şablon dosyaları için idealdir.

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

preserve_class_newlines

eklendiği sürüm: 1.39.0formatter

Çok satırlı class özniteliklerinin içindeki satır sonlarını korur.

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

preserve_leading_space

eklendiği sürüm: 1.2.0formatter

Mümkün olduğunda metnin başındaki boşluğu korur. Metin girintisinin bilinçli olduğu, html olmayan şablon dosyaları için idealdir.

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

profile

eklendiği sürüm: 0.4.5linterformatter

Şablon dili için bir profil ayarlar. Profil, şablon dilinize uygulanan linter kurallarını etkinleştirir ve yeniden biçimlendirmeyi de değiştirebilir. Örneğin handlebars profilinde {{#if}} etiketlerinin içinde boşluk bulunmaz.

Seçenekler:

  • html (varsayılan)
  • django
  • jinja
  • nunjucks (nunjucks ve twig için)
  • handlebars (handlebars ve mustache için)
  • liquid (shopify, jekyll, eleventy)
  • golang (go şablonları; hugo, helm)
  • angular
  • tera (zola için de; minijinja için jinja kullanın)
  • askama (rust’ta jinja tarzı şablonlar; rust ifadeleri hiçbir zaman yeniden biçimlendirilmez)
profile="django"
profile="django"
"profile": "django"
--profile "django"

quiet

eklendiği sürüm: 0.0.9formatterlinter

Yeniden biçimlendirirken diff yazdırmaz.

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

quote_style

eklendiği sürüm: 1.45.0formatterlinter

Şablon etiketlerinin içindeki dizeler için kullanılacak tırnaklar: double (varsayılan) ya da single. T002 aynı tırnakları ister. Biçimlendirici bunları {% if x == "a" %} gibi bir koşulda da kullanır; böylece bir dosyada aynı dize iki farklı şekilde yazılmaz. HTML öznitelik tırnakları H008 kuralına bırakılır.

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

require_pragma

eklendiği sürüm: 0.5.8formatter

Yalnızca, içinde sadece ‘djlint:on’ metni bulunan bir yorumla başlayan dosyaları biçimlendirir ya da denetler. Yorum, bir HTML yorumu ya da profile ayarıyla tanımlanan şablon dilindeki bir yorum olabilir. Profil belirtilmemişse şablon dillerinden herhangi birindeki bir yorum kabul edilir.

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

eklendiği sürüm: 1.40.0formatter

Bir açılış etiketi sarıldığında etiket adını, her özniteliği ve kapanış ayracını ayrı satırlara yerleştirir. Varsayılan olarak devre dışıdır.

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

sort_attributes

eklendiği sürüm: 1.45.0formatter

Öznitelikleri ada göre sıralar; id birinci, class ikinci sıraya gelir. Öznitelikleri bir şablon etiketiyle koşula bağlanmış bir etiket yazıldığı sırada kalır, çünkü bir özniteliği dalının dışına taşımak sayfayı değiştirir.

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

sort_load_tags

eklendiği sürüm: 1.47.0formatter

Bir django {% load %} etiketindeki kütüphaneleri sıralar ve iki kez yazılanları kaldırır; böylece {% load static i18n %}, {% load i18n static %} olur. {% load a b from library %} içinde from öncesindeki adlar sıralanır. İki kütüphane aynı adla bir etiket ya da filtre tanımladığında son yüklenen kazanır; bu yüzden sıralama, şablonun hangisini kullandığını değiştirebilir.

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

stdin_filename

eklendiği sürüm: 1.43.0formatterlinter

stdin’den okurken per-file-ignores ve mesajlar için kullanılacak dosya adı. Varsayılan değer: “-”.

--stdin-filename templates/index.html

use_gitignore

eklendiği sürüm: 0.5.9linterformatter

.gitignore’daki hariç tutmaları varsayılan hariç tutma listesine ekler. Varsayılan olarak devre dışıdır.

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

version

eklendiği sürüm: 0.3.9formatterlinter

Sürümü gösterir ve çıkar.

--version

warn

eklendiği sürüm: 0.7.6formatterlinter

Hataları uyarı olarak döndürür.

--warn