- {entry.data.title}
+ {entry.data.title.value}
Released on {
- (entry.data.published ?? entry.data.updated)?.toLocaleDateString("en", {
+ new Date(entry.data.published ?? entry.data.updated).toLocaleDateString("en", {
dateStyle: "medium",
timeZone: "UTC",
- }) ?? "-"
+ })
}
{
- entry.data.url && (
+ entry.data.links?.[0] && (
<>
- - GitHub
+ - GitHub
>
)
}
-
+
diff --git a/src/content.config.ts b/src/content.config.ts
index 851b9bb5f..8f350d780 100644
--- a/src/content.config.ts
+++ b/src/content.config.ts
@@ -1,7 +1,20 @@
-import { feedLoader } from "@ascorbic/feed-loader";
import { docsLoader } from "@astrojs/starlight/loaders";
import { docsSchema } from "@astrojs/starlight/schema";
-import { defineCollection, z } from "astro:content";
+import { z } from "astro/zod";
+import { defineCollection } from "astro:content";
+import { parseAtomFeed, type Atom } from "feedsmith";
+
+const feedLoader = (url: string): (() => Promise<(Atom.Entry