Files
ld-site/src/pages/article/blog/[...blog].astro
2025-03-18 21:13:45 +08:00

32 lines
1.0 KiB
Plaintext

---
import { getCollection } from "astro:content";
import type { CollectionEntry, CollectionKey } from "astro:content";
import Footer from "../../../components/Footer.astro";
import Nav from "../../../components/Nav.astro";
import ArticleBodyWrapper from "../../../components/article/article_body/ArticleBodyWrapper.astro";
import DefaultLayout from "../../../layouts/DefaultLayout.astro";
export async function getStaticPaths() {
const collectionName: CollectionKey = "blog";
const blogEntries = await getCollection(collectionName);
return blogEntries.map((post: CollectionEntry<CollectionKey>) => ({
// Hide .md extension from URL
params: { blog: post.id.replace(".md", "") },
props: { post },
}));
}
interface Props {
post: CollectionEntry<CollectionKey>;
}
const { post } = Astro.props;
const articlePrettyName: string = post.data.title;
---
<DefaultLayout title=`${articlePrettyName} - 李守中`>
<Nav />
<ArticleBodyWrapper collectionName="blog" articleId={post.id} />
<Footer />
</DefaultLayout>