summaryrefslogtreecommitdiff
path: root/website/src/pages/blog
diff options
context:
space:
mode:
Diffstat (limited to 'website/src/pages/blog')
-rw-r--r--website/src/pages/blog/[...slug].astro20
-rw-r--r--website/src/pages/blog/index.astro17
2 files changed, 37 insertions, 0 deletions
diff --git a/website/src/pages/blog/[...slug].astro b/website/src/pages/blog/[...slug].astro
new file mode 100644
index 0000000..800c534
--- /dev/null
+++ b/website/src/pages/blog/[...slug].astro
@@ -0,0 +1,20 @@
+---
+import { type CollectionEntry, getCollection } from 'astro:content';
+import BlogPost from '../../layouts/BlogPost.astro';
+
+export async function getStaticPaths() {
+ const posts = await getCollection('blog');
+ return posts.map((post) => ({
+ params: { slug: post.slug },
+ props: post,
+ }));
+}
+type Props = CollectionEntry<'blog'>;
+
+const post = Astro.props;
+const { Content } = await post.render();
+---
+
+<BlogPost {...post.data}>
+ <Content />
+</BlogPost> \ No newline at end of file
diff --git a/website/src/pages/blog/index.astro b/website/src/pages/blog/index.astro
new file mode 100644
index 0000000..0c617bd
--- /dev/null
+++ b/website/src/pages/blog/index.astro
@@ -0,0 +1,17 @@
+---
+import BaseHead from '../../components/BaseHead.astro';
+import { SITE_TITLE, SITE_DESCRIPTION } from '../../consts';
+import BlogFeed from '../../components/BlogFeed.astro';
+---
+
+<!doctype html>
+<html lang="en">
+ <head>
+ <BaseHead title={SITE_TITLE} description={SITE_DESCRIPTION} />
+ </head>
+ <body>
+ <main>
+ <BlogFeed headingLevel={1} />
+ </main>
+ </body>
+</html>