diff options
Diffstat (limited to 'website/src')
| -rw-r--r-- | website/src/content.config.ts (renamed from website/src/content/config.ts) | 5 | ||||
| -rw-r--r-- | website/src/pages/blog/[...slug].astro | 8 | ||||
| -rw-r--r-- | website/src/pages/blog/rss.xml.ts | 4 |
3 files changed, 9 insertions, 8 deletions
diff --git a/website/src/content/config.ts b/website/src/content.config.ts index dfdf403..5436030 100644 --- a/website/src/content/config.ts +++ b/website/src/content.config.ts @@ -1,8 +1,9 @@ +import { glob } from 'astro/loaders'; import { defineCollection, z } from 'astro:content'; const blog = defineCollection({ - type: 'content', - schema: z.object({ + loader: glob({ pattern: '**/*.(md|mdx|html)', base: './src/content/blog' }), + schema: z.object({ title: z.string(), hidden: z.optional(z.boolean()), description: z.string(), diff --git a/website/src/pages/blog/[...slug].astro b/website/src/pages/blog/[...slug].astro index 800c534..0754ea7 100644 --- a/website/src/pages/blog/[...slug].astro +++ b/website/src/pages/blog/[...slug].astro @@ -1,20 +1,20 @@ --- -import { type CollectionEntry, getCollection } from 'astro:content'; +import { type CollectionEntry, getCollection, render } 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 }, + params: { slug: post.id }, props: post, })); } type Props = CollectionEntry<'blog'>; const post = Astro.props; -const { Content } = await post.render(); +const { Content } = await render(post); --- <BlogPost {...post.data}> <Content /> -</BlogPost>
\ No newline at end of file +</BlogPost> diff --git a/website/src/pages/blog/rss.xml.ts b/website/src/pages/blog/rss.xml.ts index afd0640..5b90fd0 100644 --- a/website/src/pages/blog/rss.xml.ts +++ b/website/src/pages/blog/rss.xml.ts @@ -23,9 +23,9 @@ export async function GET(context: APIContext) { site: path.join(site.toString(), 'blog'), trailingSlash: false, items: posts.map((post) => ({ - link: `/blog/${post.slug}`, + link: `/blog/${post.id}`, title: post.data.title, - content: mdParser.render(post.body), + content: mdParser.render(post.body ?? ''), pubDate: post.data.pubDate, description: post.data.description, author: 'Joe Carstairs', |
