site: init toc

This commit is contained in:
Johannes Kirschbauer
2025-10-06 16:08:21 +02:00
parent 3187ad3f5b
commit d825a6b8c0
4 changed files with 2963 additions and 4 deletions

View File

@@ -6,6 +6,8 @@ import { VFile } from "vfile";
import remarkParse from "remark-parse";
import remarkRehype from "remark-rehype";
import rehypeStringify from "rehype-stringify";
import { toc } from "mdast-util-toc";
import type { Nodes } from "mdast";
export default defineConfig({
plugins: [
@@ -22,11 +24,23 @@ export default defineConfig({
.use(remarkParse)
.use(remarkRehype)
.use(rehypeStringify)
.process(String(file));
.process(String(code));
const parsed = await unified()
.use(remarkParse)
.use(() => (tree) => {
const result = toc(tree as Nodes);
return result.map;
})
.use(remarkRehype)
.use(rehypeStringify)
.process(file);
console.log("toc", parsed);
return `
export default ${JSON.stringify(String(html))};
export const frontmatter = ${JSON.stringify(file.data.matter)};`;
export const frontmatter = ${JSON.stringify(file.data.matter)};
export const toc = ${JSON.stringify(String(parsed))};`;
},
},
],