import hljs from "highlight.js"; import MarkdownIt from "markdown-it"; import Token from "markdown-it/lib/token.mjs"; import { alert } from "@mdit/plugin-alert"; import { figure } from "@mdit/plugin-figure"; import TeXToSVG from "tex-to-svg"; import { tab } from "@mdit/plugin-tab"; import { tasklist } from "@mdit/plugin-tasklist"; import { mark } from "@mdit/plugin-mark"; import { footnote } from "@mdit/plugin-footnote"; import { align } from "@mdit/plugin-align"; export default function configured_markdown(): MarkdownIt { var md: MarkdownIt = MarkdownIt({ breaks: true, typographer: true, html: true, highlight: function (str, lang) { if (lang && hljs.getLanguage(lang)) { try { return '
' +
hljs.highlight(str, {
language: lang,
ignoreIllegals: true,
}).value +
"
";
} catch (__) {}
}
return '' + md.utils.escapeHtml(str) +
"
";
},
});
md = md
.use(tasklist)
.use(mark)
.use(footnote)
.use(alert, {
alertNames: [
"note", "info", "warning", "danger", "todo", "tip",
"important", "success", "caution", "question", "done",
"quote", "deprecated", "example"
],
}).use(tab, {
name: "tabs"
});
md.renderer.rules.text = function (tokens, idx, options, env, self) {
// headers 1-3 get an