Spaces:
Runtime error
Runtime error
| // Adapted from https://github.com/laurent22/joplin/blob/dev/packages/turndown-plugin-gfm/src/tables.js | |
| import TurndownService from "@joplin/turndown"; | |
| const highlightRegExp = /highlight-(?:text|source)-([a-z0-9]+)/; | |
| export default function highlightedCodeBlock(turndownService: TurndownService) { | |
| turndownService.addRule("highlightedCodeBlock", { | |
| filter: function (node) { | |
| const firstChild = node.firstChild as HTMLElement; | |
| return ( | |
| node.nodeName === "DIV" && | |
| highlightRegExp.test(node.className) && | |
| firstChild && | |
| firstChild.nodeName === "PRE" | |
| ); | |
| }, | |
| replacement: function (content, node, options) { | |
| const className = (node as HTMLElement).className || ""; | |
| const language = (className.match(highlightRegExp) || [null, ""])[1]; | |
| return ( | |
| "\n\n" + | |
| options.fence + | |
| language + | |
| "\n" + | |
| (node.firstChild as HTMLElement).textContent + | |
| "\n" + | |
| options.fence + | |
| "\n\n" | |
| ); | |
| }, | |
| }); | |
| } | |