diff options
| author | nsfisis <nsfisis@gmail.com> | 2025-11-27 06:29:01 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2025-11-27 06:29:01 +0900 |
| commit | 83b1286354e0f5e83927c8fb35a584e587b5530b (patch) | |
| tree | f8771f7808cd68b295c9e57051b7604de15fe8c8 /services/nuldoc/nuldoc-src/components/TableOfContents.ts | |
| parent | 327622573dcb8879b9dba934792403a9fb7239a7 (diff) | |
| download | nsfisis.dev-83b1286354e0f5e83927c8fb35a584e587b5530b.tar.gz nsfisis.dev-83b1286354e0f5e83927c8fb35a584e587b5530b.tar.zst nsfisis.dev-83b1286354e0f5e83927c8fb35a584e587b5530b.zip | |
refactor(nuldoc): Refactor elem()
Diffstat (limited to 'services/nuldoc/nuldoc-src/components/TableOfContents.ts')
| -rw-r--r-- | services/nuldoc/nuldoc-src/components/TableOfContents.ts | 18 |
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 })), ) |
