From f87f7425476bd934efe743b0e5b3066b0324367e Mon Sep 17 00:00:00 2001 From: Peaceultime Date: Wed, 21 Aug 2024 13:50:40 +0200 Subject: [PATCH] Add ID to headings --- bun.lockb | Bin 0 -> 40201 bytes package.json | 10 +++++----- src/index.ts | 9 +++++++++ 3 files changed, 14 insertions(+), 5 deletions(-) create mode 100644 bun.lockb diff --git a/bun.lockb b/bun.lockb new file mode 100644 index 0000000000000000000000000000000000000000..833fb135f30dd8af9c0e84a093b7c60c6f3c21e4 GIT binary patch literal 40201 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 literal 0 HcmV?d00001 diff --git a/package.json b/package.json index f442337..691cbdc 100644 --- a/package.json +++ b/package.json @@ -23,13 +23,13 @@ }, "devDependencies": { "@types/lodash.capitalize": "^4.2.9", - "@types/unist": "^2.0.6", - "mdast-util-to-string": "^3.1.1", + "@types/unist": "^2.0.10", + "mdast-util-to-string": "^4.0.0", "rehype-raw": "^6.1.1", - "rehype-stringify": "^9.0.3", - "remark-parse": "^10.0.1", + "rehype-stringify": "^9.0.4", + "remark-parse": "^10.0.2", "remark-rehype": "^10.1.0", - "typescript": "^5.0.2", + "typescript": "^5.5.4", "unified": "^10.1.2" } } diff --git a/src/index.ts b/src/index.ts index cfba6ff..655cf86 100644 --- a/src/index.ts +++ b/src/index.ts @@ -2,6 +2,7 @@ import capitalize from "lodash.capitalize" import { visit } from "unist-util-visit" import { toHast } from "mdast-util-to-hast" import { toHtml } from "hast-util-to-html" +import { toString } from 'mdast-util-to-string'; import { FindAndReplaceList, findAndReplace as mdastFindReplace } from "mdast-util-find-and-replace" // !? -> optional embedding @@ -320,5 +321,13 @@ export default function ofm() { } } }) + + visit(tree, "heading", (node) => { + node.data = { + hProperties: { + id: toString(node) + } + }; + }); } }