summaryrefslogtreecommitdiff
path: root/src/pages/micro/rss.xml.ts
diff options
context:
space:
mode:
authorDawid Rycerz <dawid@rycerz.xyz>2025-07-03 13:46:07 +0300
committerDawid Rycerz <dawid@rycerz.xyz>2025-07-03 13:46:07 +0300
commitf100d259d2ffebe61fef56ea3964f6d534d598c8 (patch)
tree09d06511506da9c35585740d56598eb542fac079 /src/pages/micro/rss.xml.ts
parent1e5f5a953588cefa75396454c9aed0a79552db14 (diff)
Initial pleroma pull support
Diffstat (limited to 'src/pages/micro/rss.xml.ts')
-rw-r--r--src/pages/micro/rss.xml.ts22
1 files changed, 16 insertions, 6 deletions
diff --git a/src/pages/micro/rss.xml.ts b/src/pages/micro/rss.xml.ts
index 7311319..0827ccb 100644
--- a/src/pages/micro/rss.xml.ts
+++ b/src/pages/micro/rss.xml.ts
@@ -1,18 +1,28 @@
import { getCollection } from "astro:content";
-import { siteConfig } from "@/site.config";
import rss from "@astrojs/rss";
+import { siteConfig } from "@/site.config";
export const GET = async () => {
- const micro = await getCollection("note");
+ // Get both local notes and Pleroma posts
+ const [allNotes, allMicro] = await Promise.all([
+ getCollection("note"),
+ getCollection("micro").catch(() => []), // Fallback to empty array if micro collection fails
+ ]);
+
+ // Combine and sort all micro posts
+ const allMicroPosts = [...allNotes, ...allMicro].sort(
+ (a, b) => b.data.publishDate.getTime() - a.data.publishDate.getTime(),
+ );
return rss({
title: siteConfig.title,
description: siteConfig.description,
site: import.meta.env.SITE,
- items: micro.map((note) => ({
- title: note.data.title,
- pubDate: note.data.publishDate,
- link: `micro/${note.id}/`,
+ items: allMicroPosts.map((post) => ({
+ title: post.data.title,
+ pubDate: post.data.publishDate,
+ link: `micro/${post.id}/`,
+ description: post.data.description,
})),
});
};