aboutsummaryrefslogtreecommitdiffhomepage
path: root/services/nuldoc/nuldoc-src/components/TableOfContents.ts
diff options
context:
space:
mode:
Diffstat (limited to 'services/nuldoc/nuldoc-src/components/TableOfContents.ts')
-rw-r--r--services/nuldoc/nuldoc-src/components/TableOfContents.ts18
1 files changed, 7 insertions, 11 deletions
diff --git a/services/nuldoc/nuldoc-src/components/TableOfContents.ts b/services/nuldoc/nuldoc-src/components/TableOfContents.ts
index 37796ff..1eb79e9 100644
--- a/services/nuldoc/nuldoc-src/components/TableOfContents.ts
+++ b/services/nuldoc/nuldoc-src/components/TableOfContents.ts
@@ -1,17 +1,15 @@
import { TocEntry, TocRoot } from "../markdown/document.ts";
-import { elem, Element } from "../dom.ts";
+import { a, Element, h2, li, nav, ul } from "../dom.ts";
type Props = {
toc: TocRoot;
};
export default function TableOfContents({ toc }: Props): Element {
- return elem(
- "nav",
+ return nav(
{ class: "toc" },
- elem("h2", {}, "目次"),
- elem(
- "ul",
+ h2({}, "目次"),
+ ul(
{},
...toc.entries.map((entry) => TocEntryComponent({ entry })),
),
@@ -19,13 +17,11 @@ export default function TableOfContents({ toc }: Props): Element {
}
function TocEntryComponent({ entry }: { entry: TocEntry }): Element {
- return elem(
- "li",
+ return li(
{},
- elem("a", { href: `#${entry.id}` }, entry.text),
+ a({ href: `#${entry.id}` }, entry.text),
entry.children.length > 0
- ? elem(
- "ul",
+ ? ul(
{},
...entry.children.map((child) => TocEntryComponent({ entry: child })),
)