Entity-сигнал для AI Overviews / Я.Нейро о тех-партнёрстве.
Связывает сайт с разработчиком через @id графа.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- public/logo-mark.svg (знак, 512×512) и public/logo.svg (знак+надпись,
640×160). Копии для пользователя — E:/Projects/anotherreflections-logo*.{svg,png}
- public/og-image.png 1200×630 — тематический баннер с лого, заголовком
градиентом и подписью. og:image + twitter:summary_large_image в meta,
расшаривание в Telegram/VK/WhatsApp/Twitter получит превью
- scripts/build-og-image.mjs — пересоздание баннера через sharp (devdep)
- .hero.hero-compact — внутренние страницы /miry/, /kontakty/, /privacy/,
/category/* перешли на компактный hero (меньше padding, без курсивного
tagline). На главной hero остался прежний — entry point
- На /privacy/ кнопка «Отозвать согласие» — ставит ar-consent=deny
одним кликом (152-ФЗ: отозвать должно быть так же просто, как дать)
- Описание Главного форума: «Архивный» → «Действующий форум проекта»
Дизайн-фиксы:
- Перенесены картинки из старого WP в public/wp-content/uploads/
(header_bg.gif + 3 размера NY-baner.png 2014/12). migrate-wp.mjs
обновлён: корректно обрабатывает <a><img></a>, переписывает абсолютные
URL anotherreflections.ru/wp-content/... в относительные
- Description в frontmatter теперь чистый plain text — без markdown-разметки
- Слаги 11/95/152 → kto-my, s-23-fevralya-2011, s-nastupayushhim-novym-2012-godom
- Hero-метрика: «N лет онлайн» → «с 2006 года» (последний пост 2015,
активной жизни «20 лет» нет)
- Drop cap (буквица) — только для постов длиннее 240 символов
(короткие посты раньше выглядели обрезанными)
Аналитика и конфиденциальность:
- Яндекс.Метрика (counter 13938862, webvisor) и Google gtag (GT-PH39R3X)
перенесены со старого WP
- Cookie consent banner — самописный, без зависимостей: счётчики грузятся
только после явного «Принять». Выбор хранится в localStorage + cookie
ar-consent на 12 месяцев. Уведомление в духе 152-ФЗ
- /privacy/ — полная политика конфиденциальности: что собираем (через
Метрику и GA), для чего, как cookies устроены, права пользователя,
контакт для запросов на удаление
- В футере добавлены ссылки «Политика конфиденциальности» и «Контакты»
- sitemap.txt + llms.txt включают /privacy/
- Под лентой контента появилась панель из трёх pill-кнопок:
Telegram (t.me/anotherreflections), ВКонтакте (vk.com/anotherreflections)
и «Наверх» (smooth scroll to top)
- Универсальный plural() в consts.ts — больше нет «8 мира»,
hero показывает «8 миров / 50 публикаций / 20 лет онлайн»
с автоматически правильной формой при любом значении
- Уточнено описание Ренессанса: «фантастическими допущениями мира Сумрака»
- Hero на главной: большой заголовок в градиенте, мистический тэглайн,
мета-плашка «N миров / N публикаций / N лет онлайн»
- Декоративный фон: звёздная россыпь + радиальные градиенты акцента
(CSS-only, без картинок)
- Карточки постов с цветовой полосой по категории + hover-эффект
- Цветные теги категорий с glow-точкой
- «Миры и проекты» вместо «Форумы»: 8 карточек с тэгом, названием,
описанием каждой вселенной и цветовой кодировкой
- Single post: буквица в первом абзаце, центрированный заголовок
в градиенте, тег категории сверху
- BrandMark SVG (две зеркальные арки) + липкая шапка с blur
- Cormorant Garamond вместо Lora — больше серифной выразительности
- CATEGORY_COLORS в consts.ts (расширяемая палитра)
- Mobile-адаптация (clamp заголовки, перенос меты, уменьшенные паддинги)
- Astro 5 (6.3.6) minimal scaffold с Content Collections для posts/pages
- Тёмная палитра в духе старой темы darkness-10 (тонкая типографика Inter+Lora)
- Layout с шапкой/футером, главной-лентой, страницами категорий и одиночными постами
- RSS (общий + per-category) под IPB RSS Importer: RFC-822 pubDate,
<guid isPermaLink="true">, <content:encoded> с CDATA, <lastBuildDate>
- RSS_CUTOFF фильтр: архив 2009-2015 на сайте остаётся, в RSS — только новые
- 50 постов и 6 страниц мигрированы из WP (anotherreflctions_ru @ db.hhivp.com)
через scripts/migrate-wp.mjs (HTML→md без внешних зависимостей)
- sitemap.xml автоматически через @astrojs/sitemap