import { Marked } from "marked";
import { markedHighlight } from "marked-highlight";
import hljs from "highlight.js";
import createDOMPurify from "dompurify";
import { JSDOM } from "jsdom";
import { homedir } from "os";
import { resolve as resolvePath } from "path";
const marked = new Marked(
markedHighlight({
emptyLangClass: "hljs",
langPrefix: "hljs language-",
highlight(code, lang) {
const language = lang && hljs.getLanguage(lang) ? lang : "plaintext";
try {
return hljs.highlight(code, { language }).value;
} catch {
return code;
}
},
})
);
marked.setOptions({ gfm: true, breaks: true });
// XSS boundary: marked passes raw HTML through by default, so any body with
//
/