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

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

[tool.djlint]
<config options>

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

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

ignore

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

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

extension

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

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

custom_blocks

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

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

custom_html

Используется для отступа пользовательских HTML-тегов. Например, <mjml> или <simple-greeting> или <mj-\w+>.

custom_html="mjml,simple-greeting,mj-\w+"
"custom_html": "mjml,simple-greeting,mj-\w+"

indent

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

indent=3
"indent": "3"

exclude

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

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

extend_exclude

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

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

blank_line_after_tag

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

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

blank_line_before_tag

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

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

profile

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

Options:

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

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

require_pragma

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

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

require_pragma=true
"require_pragma": "true"

max_line_length

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

max_line_length=120
"max_line_length": "120"

max_attribute_length

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

max_attribute_length=10
"max_attribute_length": "10"

use_gitignore

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

use_gitignore=True
"use_gitignore": "True"

format_attribute_template_tags

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

format_attribute_template_tags=true
"format_attribute_template_tags": "true"

linter_output_format

Настройка порядка вывода сообщения. По умолчанию=“{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}"

preserve_leading_space

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

preserve_leading_space=true
"preserve_leading_space": true

preserve_blank_lines

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

preserve_blank_lines=true
"preserve_blank_lines": true

per_file_ignores

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

[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

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

[tool.djlint]
format_js=true

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

format_css

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

[tool.djlint]
format_css=true

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

files

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

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