{excerptFromBody(entry.body)}
+diff --git a/src/components/ArchiveListPage.astro b/src/components/ArchiveListPage.astro
new file mode 100644
index 00000000..6fbd71c4
--- /dev/null
+++ b/src/components/ArchiveListPage.astro
@@ -0,0 +1,121 @@
+---
+import SiteLayout from "./SiteLayout.astro";
+import SiteSidebar from "./SiteSidebar.astro";
+import { categoryHref, excerptFromBody, formatDate, slugify, tagHref } from "../lib/archive";
+
+const {
+ title,
+ heading,
+ description,
+ pathname,
+ entries = [],
+ currentPage = 1,
+ totalPages = 1,
+ pageHref,
+} = Astro.props;
+---
+
+ {excerptFromBody(entry.body)}
+ {title}
+
+
+
This page has moved to {target}.
+ + + diff --git a/src/lib/archive.ts b/src/lib/archive.ts new file mode 100644 index 00000000..d9bc6eaa --- /dev/null +++ b/src/lib/archive.ts @@ -0,0 +1,134 @@ +import type { CollectionEntry } from "astro:content"; +import { getCollection } from "astro:content"; + +export type ArchiveEntry = CollectionEntry<"archive">; + +const entityMap: Record