feat: Complete multi-blog setup with 12 collections and subdomain routing

- Added 12 blog collections: art, bfs, dfs, problems, puzzles, reviews, reflections, vibes, workflows, magic, contests, poetry
- Created content config with glob loaders for all collections
- Added sample posts for each collection
- Fixed TypeScript collection recognition by removing duplicate config
- Made BlogPosts component collection-aware for proper routing
- Created individual post pages ([...slug].astro) for each collection
- Added Netlify subdomain routing configuration
- Updated all references to use neeldhara.blog as main domain
- Fixed navigation links in all-blogs component

Ready for GitHub/Netlify deployment with subdomain support.
This commit is contained in:
Neeldhara Misra 2025-08-10 01:22:06 +05:30
commit b47b761f1c
190 changed files with 16583 additions and 0 deletions

View file

@ -0,0 +1,30 @@
---
import { type CollectionEntry, getCollection } from 'astro:content';
import DefaultLayout from '@/layouts/DefaultLayout.astro';
import { BlogPost } from '@/components/sections/blog-post';
import { SITE_TITLE, SITE_DESCRIPTION } from '@/consts';
import NewsletterSignup from '@/components/sections/newsletter-signup';
import { render } from 'astro:content';
export async function getStaticPaths() {
const posts = await getCollection('reviews');
return posts.map((post) => ({
params: { slug: post.id },
props: post,
}));
}
type Props = CollectionEntry<'reviews'>;
const post = Astro.props;
const { Content } = await render(post);
---
<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>
<NewsletterSignup client:load />
</DefaultLayout>