🐛 fix rss bugs

This commit is contained in:
Sindre Kjelsrud 2023-12-10 00:17:01 +01:00
parent c26c1da4ed
commit d9dfec6dbc
2 changed files with 17 additions and 22 deletions

View file

@ -1,16 +1,9 @@
import { defineCollection, z } from 'astro:content';
import { rssSchema } from '@astrojs/rss';
const blog = defineCollection({
// Type-check frontmatter using a schema
schema: z.object({
title: z.string(),
description: z.string(),
// Transform string to Date object
pubDate: z
.string()
.or(z.date())
.transform((val) => new Date(val))
}),
schema: rssSchema
});
export const collections = { blog };

View file

@ -1,16 +1,18 @@
import rss from '@astrojs/rss';
import { getCollection } from 'astro:content';
import { SITE_TITLE, SITE_DESCRIPTION } from '../consts';
export async function get(context) {
const posts = await getCollection('blog');
return rss({
title: SITE_TITLE,
description: SITE_DESCRIPTION,
site: context.site,
items: posts.map((post) => ({
...post.data,
link: `/blog/${post.slug}/`,
})),
});
export async function GET(context) {
const blog = await getCollection('blog');
return rss({
title: 'Sindre Kjelsrud',
description: 'Recent content on Sindre Kjelsrud`s blog',
site: context.site,
items: blog.map((post) => ({
title: post.data.title,
pubDate: post.data.pubDate,
description: post.data.description,
customData: post.data.customData,
link: `/blog/${post.slug}/`,
})),
});
}