aboutsummaryrefslogtreecommitdiffhomepage
path: root/services/nuldoc/nuldoc-src/pages/AtomPage.ts
blob: b39902ee7c425a88b39782807771fa8e88a4520f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import { Feed } from "../generators/atom.ts";
import { elem, Element, link } 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),
    link({ rel: "alternate", href: feed.linkToAlternate }),
    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),
        link({ rel: "alternate", href: entry.linkToAlternate }),
        elem("title", {}, entry.title),
        elem("summary", {}, entry.summary),
        elem("published", {}, entry.published),
        elem("updated", {}, entry.updated),
      )
    ),
  );
}