Конфигурация

Конфигурация выполняется либо через файл pyproject.toml вашего проекта, либо через файл .djlintrc. Арги командной строки всегда будут переопределять любые настройки в pyproject.toml. Локальные настройки проекта всегда будут иметь приоритет над глобальными конфигурационными файлами.

[tool.djlint]
<config options>

Формат для .djlintrc - json.

{
  "вариант": "значение"
}

Опции


blank_line_after_tag

formatter

Добавьте дополнительную пустую строку после групп тегов {% <tag> ... %}.

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

Добавляет дополнительную пустую строку перед группами тегов {% <tag> ... %}. Пустые строки никогда не будут добавлены в начало файла или между похожими тегами.

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

Закрыть недействительные теги.

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

custom_blocks

formatter

Используется для отступов в пользовательских блоках кода. Например, {% toc %}...{% endtoc %}

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

custom_html

formatter

Используется для отступа пользовательских 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

Переопределите пути исключения по умолчанию.

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

extend_exclude

linterformatter

Добавьте дополнительные пути к исключаемым по умолчанию.

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

extension

linterformatter

Используется для поиска файлов только с определенным расширением.

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

files

linterformatter

Список путей для использования в качестве источника djlint. Когда указана эта опция, источник командной строки должен быть -, как при использовании stdin.

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

format_attribute_template_tags

formatter

Форматировщик будет пытаться форматировать синтаксис шаблона внутри атрибутов тега. По умолчанию отключен.

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

format_css

formatter

Форматирование содержимого тегов script с помощью css-beautify. Все параметры конфигурации см. в css-beautify. Синтаксис шаблона не полностью поддерживается в поддерживается.

[tool.djlint]
format_css=true

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

format_js

formatter

Форматирование содержимого тегов script с помощью js-beautify. Все параметры конфигурации см. в js-beautify. Синтаксис шаблона не полностью поддерживается в поддерживается.

[tool.djlint]
format_js=true

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

ignore

linter

Игнорируйте коды линтера.

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

ignore_blocks

formatter

Используется для пропуска отступов для дочерних тегов шаблона. Дочерние теги будут рассматриваться как родные братья и сестры и будут иметь соответствующий отступ.

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

ignore_case

formatter

Не пытайтесь исправить регистр известных html-тегов.

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

include

linter

Включите коды линтера.

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

indent

formatter

Используется для изменения отступа кода. По умолчанию - 4 (четыре пробела).

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

line_break_after_multiline_tag

formatter

Не сжимайте содержимое многострочных тегов в строку последнего атрибута.

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

linter_output_format

linter

Настройка порядка вывода сообщения. По умолчанию=“{code} {line} {message} {match}”. Если {filename} не включено в сообщение, то вывод будет сгруппирован по файлам и к каждой группе будет автоматически добавлен заголовок.

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

max_attribute_length

formatter

Форматировщик попытается обернуть атрибуты тега, если длина атрибута превышает это значение.

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

max_blank_lines

formatter

Объедините пустые строки до х строк. По умолчанию 0, что означает, что пустые строки будут удалены.

max_blank_lines=5
"max_blank_lines": 5
--max_blank_lines 5

max_line_length

formatter

Форматировщик попытается разместить некоторые html и шаблонные теги на одной строке вместо того, чтобы обернуть их, если длина строки не превышает этого значения.

max_line_length=120
"max_line_length": "120"
--max_line_length 120

no_function_formatting

formatter

Не пытайтесь форматировать содержимое функции. ** Если вы используете эту опцию, пожалуйста, откройте проблему gh, объяснив, что заставило вас ее использовать.

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

no_line_after_yaml

formatter

Не добавляйте пустую строку после лицевой части yaml.

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

no_set_formatting

formatter

Не пытайтесь форматировать содержимое набора. ** Если вы используете эту опцию, пожалуйста, откройте проблему gh, объяснив, что заставило вас использовать ее.

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

per_file_ignores

linter

Игнорировать правила линтера на основе каждого файла.

[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" --per-file-ignores "file_two.html" "H001"

preserve_blank_lines

formatter

Сохраняйте пробелы там, где это возможно. Идеально подходит для не-html файлов шаблонов, где пустые строки являются намеренными.

preserve_blank_lines=true
"preserve_blank_lines": true
--preserve_blank_lines

preserve_leading_space

formatter

Сохраняет пробелы в тексте, где это возможно. Идеально подходит для не-html файлов шаблонов, где отступ текста является намеренным.

preserve_leading_space=true
"preserve_leading_space": true
--preserve_leading_space

profile

linterformatter

Установите профиль для языка шаблона. Профиль будет включать правила линтера, применимые к языку шаблонов, а также может изменять переформатирование. Например, в handlebars нет пробелов внутри тегов {{#if}}.

Options:

  • html (default)
  • django
  • jinja
  • nunjucks (for nunjucks and twig)
  • handlebars (for handlebars and mustache)
  • golang
  • angular

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

quiet

formatterlinter

Не печатайте diff при переформатировании.

--quiet

require_pragma

formatter

Форматировать или линтовать только те файлы, которые начинаются с комментария, содержащего только текст ‘djlint:on’. Комментарий может быть HTML-комментарием или комментарием на языке шаблонов, определенном настройкой профиля. Если профиль не указан, принимается комментарий на любом из языков шаблонов.

<!-- djlint:on -->
{# djlint:on #}
{% comment %} djlint:on {% endcomment %}
{{ /* djlint:on */ }}
{{!-- djlint:on --}}

require_pragma=true
"require_pragma": true
--require_pragma

use_gitignore

linterformatter

Добавьте исключения .gitignore к исключениям по умолчанию.

use_gitignore=true
"use_gitignore": true
--use_gitignore

version

formatterlinter

Покажите версию и выйдите.

--version

warn

formatterlinter

Возвращать ошибки в виде предупреждений.

--warn