blogs/sites/vibes/src/pages/[...slug].astro
Neeldhara Misra 3fae4a6daf
Some checks are pending
Build / build (push) Waiting to run
Add Coral comments and Rybbit analytics
2026-06-24 00:12:31 +05:30

34 lines
1.2 KiB
Text

---
import { getCollection, render } from 'astro:content';
import CoralComments from '@/components/CoralComments.astro';
import DefaultLayout from '@/layouts/DefaultLayout.astro';
import { BlogPost } from '@/components/sections/blog-post';
import NewsletterSignup from '@/components/sections/newsletter-signup';
import { ACTIVE_BLOG_SITE } from '@/blog-sites.js';
import { SITE_TITLE } from '@/consts';
export async function getStaticPaths() {
const posts = await getCollection(ACTIVE_BLOG_SITE.key);
return posts.map((post) => ({
params: { slug: post.id.replace(/\/index$/, '') },
props: post,
}));
}
const post = Astro.props;
const { Content } = await render(post);
const postSlug = post.id.replace(/\/index$/, '');
const coralStoryID = `${ACTIVE_BLOG_SITE.key}:${postSlug}`;
const coralStoryURL = new URL(`/${postSlug}/`, ACTIVE_BLOG_SITE.url).toString();
---
<DefaultLayout title={`${post.data.title} | ${SITE_TITLE}`} description={post.data.description}>
<div class="py-16 md:py-28 lg:py-32">
<BlogPost post={post} client:only="react">
<Content />
</BlogPost>
</div>
<CoralComments storyID={coralStoryID} storyURL={coralStoryURL} />
<NewsletterSignup client:load />
</DefaultLayout>