diff options
Diffstat (limited to 'services/nuldoc/nuldoc-src/pages/AtomPage.ts')
| -rw-r--r-- | services/nuldoc/nuldoc-src/pages/AtomPage.ts | 27 |
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), + ) + ), + ); +} |
