aboutsummaryrefslogtreecommitdiff
path: root/src/pages/feed.xml.js
blob: 7c41b4fd3cd032f6cfba5d43a5041cc15cd830b5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import { getCollection } from "astro:content";
import rss from "@astrojs/rss";

export async function GET(context) {
	const title = "RSS Feed | Valentin Popov Blog";
	const description = "Follow the latest posts from Valentin Popov via RSS.";

	const posts = await getCollection("blog", ({ data }) => {
		return data.draft !== true;
	});

	return rss({
		customData: `<language>en</language>`,
		description: description,
		items: posts.map((post) => ({
			customData: post.data.customData,
			description: post.data.description,
			link: `/blog/${post.slug}`,
			pubDate: post.data.pubDate,
			title: post.data.title,
		})),
		site: context.site,
		title: title,
	});
}