import { SITE } from '@/consts' import rss from '@astrojs/rss' import type { APIContext } from 'astro' import { getCollection } from 'astro:content' export async function GET(context: APIContext) { try { const posts = await getCollection('blog', ({ data }) => !data.draft) posts.sort((a, b) => b.data.date.valueOf() - a.data.date.valueOf()) return rss({ title: SITE.title, description: SITE.description, site: context.site ?? SITE.href, items: posts.map((post) => ({ title: post.data.title, description: post.data.description, pubDate: post.data.date, link: `/blog/${post.id}/`, })), }) } catch (error) { console.error('Error generating RSS feed:', error) return new Response('Error generating RSS feed', { status: 500 }) } }