aboutsummaryrefslogtreecommitdiffstats
path: root/src/server/template/header.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/template/header.ts')
-rw-r--r--src/server/template/header.ts10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/server/template/header.ts b/src/server/template/header.ts
new file mode 100644
index 0000000..04da87d
--- /dev/null
+++ b/src/server/template/header.ts
@@ -0,0 +1,10 @@
+import slugify from "@sindresorhus/slugify"
+import t, { Attribute, getText, node } from "./vdom.js"
+
+interface head extends Attribute {
+ level: 1 | 2 | 3 | 4 | 5 | 6
+}
+
+export default function ({ level, ...attr }: head, ...content: node[]) {
+ return t(`h${level}`, { id: slugify(getText(content)), ...attr }, ...content)
+}