aboutsummaryrefslogtreecommitdiffhomepage
path: root/services/nuldoc/nuldoc-src/pages/AtomPage.ts
diff options
context:
space:
mode:
Diffstat (limited to 'services/nuldoc/nuldoc-src/pages/AtomPage.ts')
-rw-r--r--services/nuldoc/nuldoc-src/pages/AtomPage.ts27
1 files changed, 27 insertions, 0 deletions
diff --git a/services/nuldoc/nuldoc-src/pages/AtomPage.ts b/services/nuldoc/nuldoc-src/pages/AtomPage.ts
new file mode 100644
index 0000000..f270972
--- /dev/null
+++ b/services/nuldoc/nuldoc-src/pages/AtomPage.ts
@@ -0,0 +1,27 @@
+import { Feed } from "../generators/atom.ts";
+import { elem, Element } from "../dom.ts";
+
+export default function AtomPage({ feed }: { feed: Feed }): Element {
+ return elem(
+ "feed",
+ { xmlns: "http://www.w3.org/2005/Atom" },
+ elem("id", {}, feed.id),
+ elem("title", {}, feed.title),
+ elem("link", { rel: "alternate", href: feed.linkToAlternate }),
+ elem("link", { rel: "self", href: feed.linkToSelf }),
+ elem("author", {}, elem("name", {}, feed.author)),
+ elem("updated", {}, feed.updated),
+ ...feed.entries.map((entry) =>
+ elem(
+ "entry",
+ {},
+ elem("id", {}, entry.id),
+ elem("link", { rel: "alternate", href: entry.linkToAlternate }),
+ elem("title", {}, entry.title),
+ elem("summary", {}, entry.summary),
+ elem("published", {}, entry.published),
+ elem("updated", {}, entry.updated),
+ )
+ ),
+ );
+}