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:
@@ -35,6 +35,14 @@ const year = new Date().getFullYear();
|
||||
<meta property="og:url" content={canonical} />
|
||||
<meta property="og:site_name" content={SITE_TITLE} />
|
||||
<meta property="og:locale" content="ru_RU" />
|
||||
<meta property="og:image" content={new URL('/og-image.png', SITE_URL).toString()} />
|
||||
<meta property="og:image:width" content="1200" />
|
||||
<meta property="og:image:height" content="630" />
|
||||
<meta property="og:image:alt" content={`${SITE_TITLE} — ${SITE_DESCRIPTION}`} />
|
||||
<meta name="twitter:card" content="summary_large_image" />
|
||||
<meta name="twitter:title" content={pageTitle} />
|
||||
<meta name="twitter:description" content={pageDesc} />
|
||||
<meta name="twitter:image" content={new URL('/og-image.png', SITE_URL).toString()} />
|
||||
|
||||
<link rel="alternate" type="application/rss+xml" title={`${SITE_TITLE} — RSS`} href="/feed.xml" />
|
||||
|
||||
|
||||
Reference in New Issue
Block a user