rewrite: Vite+React → Astro 5 + Content Collections
Some checks failed
deploy / deploy (push) Failing after 12s

- Бэкап старой версии на ветке vite-react-backup
- Stack: Astro 5 + nginx:alpine runtime, образ ~50 МБ (был ~600 МБ)
- @astrojs/rss заменён ручным buildRss() — гарантия CDATA в content:encoded для IPB Importer
- @astrojs/sitemap → sitemap-index.xml + sitemap.txt
- 152-ФЗ cookie consent + privacy.astro + Analytics с gating
- AI-файлы: robots.txt с явным allow для AI-краулеров, ai.txt, llms.txt
- Гибридный визуал: фото-фон шапки (аэрофото Пушкино) + PT Serif + IBM Plex Sans
- Иерархия: hero "Главная история" с рамкой + "Ещё из истории" + "Хроника"
- Категория "main" (псевдо) скрыта из плашек и из Рубрик в сайдбаре
- hideFromList: true для технических постов
- featuredImage в frontmatter для постов без хорошей первой <img>
- WP resized-URL (-WxH.ext) автоматически → оригинал
- CI/CD: .gitea/workflows/deploy.yml (push → SSH-build)
- Внешние RSS: scripts/pull-external-rss.mjs пишет news.json в bind-mount, фронт фетчит client-side
This commit is contained in:
striker
2026-05-21 03:21:31 +03:00
parent a0219ee8f3
commit c65e07cd98
75 changed files with 5926 additions and 4142 deletions

View File

@@ -0,0 +1,36 @@
---
import { SITE_FOUNDED, FORUM_URL } from '../consts';
const year = new Date().getFullYear();
---
<footer class="site-footer">
<div class="container footer-inner">
<div>© {SITE_FOUNDED}{year} pushkinohistory.ru</div>
<div class="footer-nav">
<a href="/feed.xml">RSS</a>
<a href="/sitemap-index.xml">Карта сайта</a>
<a href={FORUM_URL} target="_blank" rel="noopener noreferrer">Форум ↗</a>
<a href="/privacy/">Политика</a>
</div>
</div>
</footer>
<style>
.site-footer {
border-top: 1px solid var(--rule);
margin-top: 3rem;
padding: 1.25rem 0;
background: rgba(255, 252, 244, 0.4);
}
.footer-inner {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
gap: 0.5rem;
font-size: 0.82rem;
color: var(--muted);
}
.footer-nav { display: flex; gap: 1.25rem; }
.footer-nav a { color: var(--muted); text-decoration: none; }
.footer-nav a:hover { color: var(--accent); }
</style>