import rss from "@astrojs/rss"; import { getCollection } from "astro:content"; import { SITE_TITLE, SITE_DESCRIPTION } from "../consts"; import { ACTIVE_BLOG_SITE } from "../blog-sites.js"; import { typographicText } from "@/lib/typography"; export async function GET(context) { const posts = (await getCollection(ACTIVE_BLOG_SITE.key)).sort( (a, b) => b.data.pubDate.valueOf() - a.data.pubDate.valueOf(), ); return rss({ title: SITE_TITLE, description: typographicText(SITE_DESCRIPTION), site: context.site, items: posts.map((post) => ({ ...post.data, title: typographicText(post.data.title), description: typographicText(post.data.description), link: `/${post.id.replace(/\/index$/, "")}/`, })), }); }