books/src/pages/rss.xml.js
2025-04-28 23:32:21 -04:00

20 lines
663 B
JavaScript

import rss from '@astrojs/rss';
import { getCollection } from 'astro:content';
import siteConfig from '../data/site-config.ts';
import { sortItemsByDateDesc } from '../utils/data-utils.ts';
export async function GET(context) {
const posts = (await getCollection('blog')).sort(sortItemsByDateDesc);
return rss({
title: siteConfig.title,
description: siteConfig.description,
site: context.site,
items: posts.map((item) => ({
title: item.data.title,
description: item.data.excerpt,
link: `/blog/${item.id}/`,
pubDate: item.data.publishDate.setUTCHours(0)
}))
});
}