Почему "djlint" предупреждает меня о необходимости добавления тегов "<meta>", даже если файл привязан?
Я работаю над веб-проектом на Django и использую djlint для компоновки и форматирования моих HTML-шаблонов. Я запустил следующую команду, чтобы создать один из моих шаблонов:
djlint html_files/analytics/reports/report_new.html
И я получил такой результат:
Linting 1/1 files ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 00:00
html_files/analytics/reports/report_new.html
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
H030 3:0 Consider adding a meta description. <html lang="{{ lang
H031 3:0 Consider adding meta keywords. <html lang="{{ lang
Linted 1 file, found 2 errors.
Несмотря на то, что в нем указано "найдено 2 ошибки", файл на самом деле исправлен и отформатирован нормально. Сбоя нет, и форматирование применено.
Что я хочу понять:
- Почему они помечены как ошибки, когда на самом деле это просто рекомендации?
- Следует ли рассматривать это как предупреждение или игнорировать?
- Рекомендуется ли всегда включать
<meta name="description">и<meta name="keywords">в шаблоны Django — даже для внутренних информационных панелей? - Как я могу подавить или проигнорировать эти предложения, если я не хочу их включать?
Дайте мне знать, если есть способ настроить djlint так, чтобы они перестали помечаться, не влияя на фактическую разметку или форматирование.
То, что я пробовал:
- Я проверил официальную документацию по djlint, и они перечислены в разделе предложения, связанные с SEO.
- Я также попробовал эту команду, и она сработала, отключив предупреждения:
djlint html_files/analytics/reports/report_new.html --ignore H030,H031
Это не настоящие ошибки — это предложения по исправлению, предоставленные djlint в соответствии с правилами наилучшей практики HTML, специально для целей SEO.
Что означают H030 и H031?
H030: Предлагается добавить тег<meta name="description">.H031: Предлагается добавить тег<meta name="keywords">.
Они предназначены для общедоступных веб-страниц, чтобы улучшить видимость в поисковых системах, но для внутренних информационных панелей или панелей администратора (как у меня) они не нужны.
<время работы/>Решение 1. Добавьте теги (если применимо)
Если ваш шаблон общедоступен или вы хотите следовать рекомендациям, вы можете добавить в свой <head>:
<meta name="description" content="Create and manage analytic reports like incidents, users, and services.">
<meta name="keywords" content="analytics, reports, incidents, users, services, taskcall">
Это приведет к удалению предупреждений.
Решение 2: Игнорируйте предупреждения
Если вы создаете внутренний инструмент и вам не нужны SEO-теги, просто отмените эти правила:
Опция A – Командная строка:
djlint html_files/analytics/reports/report_new.html --ignore H030,H031
Вариант B – Конфигурационный файл (djlint.toml или .djlintrc):
ignore = ["H030", "H031"]
Вот минимальный и чистый djlint.toml конфигурационный файл, который вы можете включить в свой корневой каталог проекта, чтобы автоматически игнорировать эти предупреждения при каждом обновлении:
djlint.toml
# djlint configuration file
# Ignore specific rule codes
ignore = ["H030", "H031"]
# Optional: Set default file types (you can remove this if not needed)
extensions = [".html", ".htm", ".djhtml"]
# Optional: Enable formatting by default (if you use --reformat less often)
format = true
Куда это поместить?
Поместите файл djlint.toml в корневую директорию вашего проекта Django (на том же уровне, на котором manage.py). djlint будет автоматически отображаться при запуске:
djlint path/to/templates/