summaryrefslogtreecommitdiff
path: root/src/pages/rss.xml.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/pages/rss.xml.ts')
-rw-r--r--src/pages/rss.xml.ts19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/pages/rss.xml.ts b/src/pages/rss.xml.ts
new file mode 100644
index 0000000..1c305af
--- /dev/null
+++ b/src/pages/rss.xml.ts
@@ -0,0 +1,19 @@
+import { getAllPosts } from "@/data/post";
+import { siteConfig } from "@/site.config";
+import rss from "@astrojs/rss";
+
+export const GET = async () => {
+ const posts = await getAllPosts();
+
+ return rss({
+ title: siteConfig.title,
+ description: siteConfig.description,
+ site: import.meta.env.SITE,
+ items: posts.map((post) => ({
+ title: post.data.title,
+ description: post.data.description,
+ pubDate: post.data.publishDate,
+ link: `posts/${post.id}/`,
+ })),
+ });
+};