{% load static %} {% block PAGE_TITLE %}LPON.RU{% endblock %} {# Шутка #} {% if IS_DEBUG %}{% comment %} Переключение dev/prod стилей Tailwind CSS происходит АВТОМАТИЧЕСКИ через переменную IS_DEBUG (см. контексный-процессор frontend/context_processors.py), DEV: tailwindcss из CDN, компилируется прямо в браузере. Удобно для разработки (не нужна сборка), но грузит браузер и prod не используется. {% endcomment %}{% comment %} Кастомные @theme/@layer директивы проекта (токены цвета, типовой стиль ссылок) лежат в css/tailwind-custom.css. @tailwindcss/browser сканирует и компилирует ТОЛЬКО то, что видит в финальном DOM — то есть только содержимое тегов style с type text/tailwindcss, а не внешние .css, подключённые через link. Поэтому файл вставляется сюда через include, а не подключается отдельным link. Строка "@import tailwindcss" ниже ОБЯЗАТЕЛЬНА (проверено на практике): без неё @apply в css/tailwind-custom.css не может найти стандартные классы Tailwind (border-slate-500 и т.п.), браузерный компилятор падает с ошибкой уже на этапе разбора — и из-за этого перестаёт генерироваться ВООБЩЕ ВСЯ Tailwind-разметка на странице (не только кастомные стили), верстка превращается в неоформленный HTML.{% endcomment %} {% else %}{% comment %} PROD: заранее собранный Tailwind CLI файл (см. frontend-assembly/tailwind/input.css и package.json). CLI сканирует шаблоны проекта и генерирует только реально используемые классы, включая кастомные @theme/@layer директивы из того же самого файла css/tailwind-custom.css (подключён в input.css через @import).{% endcomment %} {% endif %} {% block EXTRAHEAD %}{% endblock EXTRAHEAD %} {% block ADD_CSS1 %}{% endblock %}{% block ADD_CSS2 %}{% endblock %}{% block ADD_CSS3 %}{% endblock %}{% block BODY %} {% include "block/header.html" %}
{% block CONTENT %}{% endblock CONTENT %}
{# {% include "blocks/footer.jinja2" %}{% if COOKIES %}#} {# {% include "blocks/accept-cookies.jinja2" %}{% endif %}#} {% endblock BODY %} {% block ADD_JS1 %}{% endblock ADD_JS1 %}{% block ADD_JS2 %}{% endblock ADD_JS2 %}{% block ADD_JS3 %}{% endblock ADD_JS3 %}