feat: OG-image, логотип, компактный hero, кнопка отзыва consent

- 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-ФЗ: отозвать должно быть так же просто, как дать)
- Описание Главного форума: «Архивный» → «Действующий форум проекта»
This commit is contained in:
2026-05-21 02:14:49 +03:00
parent 6f2cfdd63d
commit 4319759d88
14 changed files with 277 additions and 12 deletions

26
public/logo.svg Normal file
View File

@@ -0,0 +1,26 @@
<svg xmlns="http://www.w3.org/2000/svg" width="640" height="160" viewBox="0 0 640 160" fill="none">
<defs>
<linearGradient id="l-grad" x1="0" y1="0" x2="160" y2="160" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#b794ff"/>
<stop offset="1" stop-color="#6c4ed4"/>
</linearGradient>
<linearGradient id="l-text" x1="0" y1="0" x2="0" y2="160" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#ffffff"/>
<stop offset="1" stop-color="#b794ff"/>
</linearGradient>
</defs>
<!-- Mark -->
<g transform="translate(28 32) scale(1.5)">
<circle cx="32" cy="32" r="29" stroke="url(#l-grad)" stroke-width="1.5" opacity="0.45"/>
<path d="M16 40 Q32 18 48 40" stroke="url(#l-grad)" stroke-width="2" stroke-linecap="round" fill="none"/>
<path d="M16 28 Q32 50 48 28" stroke="url(#l-grad)" stroke-width="2" stroke-linecap="round" fill="none" opacity="0.6"/>
<circle cx="32" cy="34" r="2" fill="#b794ff"/>
</g>
<!-- Text -->
<text x="160" y="90" font-family="Cormorant Garamond, Lora, Georgia, serif" font-size="48" font-weight="600" fill="url(#l-text)" letter-spacing="0.02em">
Иные Отражения
</text>
<text x="160" y="120" font-family="Inter, sans-serif" font-size="14" fill="#8a93a8" letter-spacing="0.32em">
РОЛЕВОЙ ПРОЕКТ · С 2006
</text>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB