From d5cf3c0c8a807d4568dee7b2efb40c9170f38a21 Mon Sep 17 00:00:00 2001 From: erjemin Date: Thu, 12 Feb 2026 20:50:32 +0300 Subject: [PATCH] =?UTF-8?q?mod:=20=D0=94=D0=B8=D0=B7=D0=B0=D0=B9=D0=BD=20?= =?UTF-8?q?=D0=B8=20=D0=B2=D1=91=D1=80=D1=81=D1=82=D0=BA=D0=B0=20=D1=81?= =?UTF-8?q?=D1=82=D1=80=D0=B0=D0=BD=D0=B8=D1=86=20=D0=B4=D0=BB=D1=8F=20?= =?UTF-8?q?=D0=BF=D0=BE=D1=81=D1=82=D0=BE=D0=B2=20=D0=B1=D0=BB=D0=BE=D0=B3?= =?UTF-8?q?=D0=B0=20=D0=B8=20=D0=B2=D1=81=D0=BF=D0=BE=D0=BC=D0=BE=D0=B3?= =?UTF-8?q?=D0=B0=D1=82=D0=B5=D0=BB=D1=8C=D0=BD=D1=8B=D1=85=20=D1=81=D1=82?= =?UTF-8?q?=D1=80=D0=B0=D0=BD=D0=B8=D1=86=20=D0=B4=D0=BB=D1=8F=20=D0=BC?= =?UTF-8?q?=D0=BE=D0=B1=D0=B8=D0=BB=D1=8C=D0=BD=D1=8B=D1=85=20=D1=83=D1=81?= =?UTF-8?q?=D1=82=D1=80=D0=BE=D0=B9=D1=81=D1=82=D0=B2=20(=D0=B0=D0=B4?= =?UTF-8?q?=D0=B0=D0=BF=D1=82=D0=B8=D0=B2=D0=BD=D0=BE=D1=81=D1=82=D1=8C,?= =?UTF-8?q?=20=D1=81=D0=BA=D1=80=D1=8B=D1=82=D0=B8=D0=B5=20=D0=BA=D0=B0?= =?UTF-8?q?=D1=80=D1=82=D0=B8=D0=BD=D0=BA=D0=B8-=D0=BE=D0=B1=D0=BB=D0=BE?= =?UTF-8?q?=D0=B6=D0=BA=D0=B8).?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 5 +++-- .../blog/templates/blog/page_detail.html | 17 +++++++---------- .../blog/templates/blog/post_detail.html | 4 +++- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 591bc1b..1bb06c4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,11 +9,12 @@ ### Добавлено - Поле `updated_at` (_Дата обновления_) в модели, админке, блогах, страницах и `sitemaps.xml` для улучшения SEO, GEO и LLMO. -- README.md с описанием проекта онлайн-типографа, его особенностей, технического стека и инструкциями по установке и запуску. +- `README.md` с описанием проекта онлайн-типографа, его особенностей, технического стека и инструкциями по установке и запуску. ### Исправлено -- Исправлены ошибки в шаблоне 'post_list.html' (и дизайн в целом). +- Исправлены ошибки в шаблоне `post_list.html` (и дизайн в целом). - Формирование `slag` из `title` при сохранении поста или страницы с использованием библиотеки `pytils` для транслитерации с очистикой от HTML-мнемоник и создания URL-дружественных строк. +- Дизайн и вёрстка страниц для постов блога и вспомогательных страниц для мобильных устройств (адаптивность, скрытие картинки-обложки). ## [0.2.4] - 2025-02-12 diff --git a/etpgrf_site/blog/templates/blog/page_detail.html b/etpgrf_site/blog/templates/blog/page_detail.html index 48a15cd..08d33cc 100644 --- a/etpgrf_site/blog/templates/blog/page_detail.html +++ b/etpgrf_site/blog/templates/blog/page_detail.html @@ -2,9 +2,10 @@ {% load static typograph_extras %} {# --- SEO --- #} +{# В title и description НЕ используем escapejs, так как это HTML, а не JS #} {% block title %}{% if page.seo_title %}{{ page.seo_title }}{% else %}{{ page.title|striptags|unescape|safe }}{% endif %} — ETPGRF{% endblock %} -{% block description %}{% if page.seo_description %}{{ page.seo_description }}{% else %}{{ page.excerpt|striptags|unescape|safe|truncatechars:160 }}{% endif %}{% endblock %} -{% block keywords %}{% if page.seo_keywords %}{{ post.seo_keywords }}{% else %}типограф, типографика, блог типограф, онлайн типограф, подготовка текста для веба, html типограф, неразрывные пробелы, кавычки елочки, длинное тире, очистка текста от мусора, интернет верстка, муравьев, лебедев{% endif %}{% endblock %} +{% block description %}{% if page.seo_description %}{{ page.seo_description }}{% else %}{{ page.excerpt|default:page.content|striptags|unescape|truncatechars:160 }}{% endif %}{% endblock %} +{% block keywords %}{% if page.seo_keywords %}{{ page.seo_keywords }}{% else %}типограф, типографика, блог типограф, онлайн типограф, подготовка текста для веба, html типограф, неразрывные пробелы, кавычки елочки, длинное тире, очистка текста от мусора, интернет верстка, муравьев, лебедев{% endif %}{% endblock %} {# --- Schema.org --- #} {% block schema %}{% endblock %} {% block og_title %}{% if page.seo_title %}{{ page.seo_title }}{% else %}{{ page.title|striptags|unescape|safe }}{% endif %}{% endblock %} -{% block og_description %}{% if page.seo_description %}{{ page.seo_description }}{% else %}{{ page.excerpt|safe|striptags|unescape|truncatechars:160 }}{% endif %}{% endblock %} +{% block og_description %}{% if page.seo_description %}{{ page.seo_description }}{% else %}{{ page.excerpt|default:page.content|striptags|unescape|truncatechars:160 }}{% endif %}{% endblock %} {% block og_image %}{% if page.image %}{{ request.scheme }}://{{ request.get_host }}{{ page.image.url }}{% else %}{{ request.scheme }}://{{ request.get_host }}{% static 'img/etpgrf-logo-for-fb-vk-x.gif' %}{% endif %}{% endblock %} {% block twitter_title %}{% if page.seo_title %}{{ page.seo_title }}{% else %}{{ page.title|striptags|unescape|safe }}{% endif %}{% endblock %} -{% block twitter_description %}{% if page.seo_description %}{{ page.seo_description }}{% else %}{{ page.excerpt|striptags|unescape|safe|truncatechars:160 }}{% endif %}{% endblock %} +{% block twitter_description %}{% if page.seo_description %}{{ page.seo_description }}{% else %}{{ page.excerpt|default:page.content|striptags|unescape|truncatechars:160 }}{% endif %}{% endblock %} {% block twitter_image %}{% if page.image %}{{ request.scheme }}://{{ request.get_host }}{{ page.image.url }}{% else %}{{ request.scheme }}://{{ request.get_host }}{% static 'img/etpgrf-logo-for-fb-vk-x.gif' %}{% endif %}{% endblock %} {% block content %}
- {# Левая колонка: Дата и Картинка #}

{{ page.published_at|date:"d.M.Y"|lower }}

-

{% if page.image %} - {{ page.image|striptags|unescape|safe }} - {% else %}{{ page.image|striptags|unescape|safe }} - {% endif %}

-
+ {% if page.image %}

{{ page.title|striptags|unescape|safe }}

+ {% endif %}
{# Правая колонка: Контент #}
diff --git a/etpgrf_site/blog/templates/blog/post_detail.html b/etpgrf_site/blog/templates/blog/post_detail.html index 071c734..2c3739b 100644 --- a/etpgrf_site/blog/templates/blog/post_detail.html +++ b/etpgrf_site/blog/templates/blog/post_detail.html @@ -2,6 +2,7 @@ {% load static typograph_extras %} {# --- SEO --- #} +{# В title и description НЕ используем escapejs, так как это HTML, а не JS #} {% block title %}{% if post.seo_title %}{{ post.seo_title }}{% else %}{{ post.title|striptags|unescape|safe }}{% endif %} — ETPGRF{% endblock %} {% block description %}{% if post.seo_description %}{{ post.seo_description }}{% else %}{{ post.excerpt|striptags|unescape|safe|truncatechars:160 }}{% endif %}{% endblock %} {% block keywords %}{% if post.seo_keywords %}{{ post.seo_keywords }}{% else %}типограф, типографика, блог типограф, онлайн типограф, подготовка текста для веба, html типограф, неразрывные пробелы, кавычки елочки, длинное тире, очистка текста от мусора, интернет верстка, муравьев, лебедев{% endif %}{% endblock %} @@ -48,7 +49,8 @@ {{ post.published_at|date:"d.M.Y"|lower }}

-

{% if post.image %} + {# Картинка скрыта на мобильных (d-none), видна на больших экранах (d-lg-block) #} +

{% if post.image %} {{ post.title|striptags|unescape|safe }} {% else %}{{ post.title|striptags|unescape|safe }} {% endif %}