import rss from '@astrojs/rss'; import { getCollection } from 'astro:content'; import type { APIContext } from 'astro'; export async function GET(context: APIContext) { const episodes = await getCollection('episodes'); const sortedEpisodes = episodes.sort( (a, b) => new Date(b.data.pubDate).getTime() - new Date(a.data.pubDate).getTime() ); return rss({ title: 'The Computer Guru Show', description: 'Helping you deal with all of your technology needs while treating you like a person in the process.', site: context.site!.toString(), items: sortedEpisodes.map((ep) => ({ title: ep.data.title, pubDate: ep.data.pubDate, description: ep.body?.substring(0, 300) || ep.data.title, link: `/episodes/${ep.id}`, customData: ` ${ep.data.duration} ${ep.data.episode} ${ep.data.season}`, })), customData: `en-us Mike Swanson false episodic`, xmlns: { itunes: 'http://www.itunes.com/dtds/podcast-1.0.dtd', }, }); }