--- import ArticleLayout from '@layouts/ArticleLayout.astro'; import { SITE_URL } from '@constants'; import PostCommentForm from '@components/blog/PostCommentForm.astro'; import RelatedPosts from '@components/blog/RelatedPosts.astro'; import { getCollection, getEntry, render } from 'astro:content'; export const prerender = false; export async function getStaticPaths() { const posts = await getCollection('blog') as { id: string; data: Record }[]; return posts.map((post: { id: string }) => ({ params: { slug: post.id }, })); } const slug = Astro.params.slug; if (!slug) { return Astro.redirect('/blog'); } const post = await getEntry('blog', slug); if (!post) { return Astro.redirect('/blog'); } const { Content } = await render(post); // Форматируем дату const formatDate = (date: Date) => { return date.toLocaleDateString('ru-RU', { day: 'numeric', month: 'long', year: 'numeric' }); }; // Логика авторизации (пока статичная переменная) const isAuthorized = false; // URL текущей страницы const currentUrl = `${SITE_URL}/blog/${post.id}`; // Получаем все посты для блока "Читайте также" const allPosts = await getCollection('blog'); ---