Markdown的烦心事(续)

上回说到,我们发现Markdown存在的种种问题,并且做出了相应的解决,可是接下来出现的却让人始料未及。

上回博文链接

如果我们用```括起一段代码,我希望这段代码不被消除,可是事实是这段代码被消除了,那怎么办呢?能不能只把非代码的给消除呢?我翻了翻marked.js的官方文档,其中有sanitize和sanitizer,遂设置如下:

$("#markdown_container").html(marked(raw_content,{
    sanitize:true,
    sanitizer:DOMPurify.sanitize,
    highlight: function (code) {
        return hljs.highlightAuto(code).value;
    }
});

其中highlight是给hljs用的,会去渲染代码。这样子一来,就解决了代码段落的问题。但是我们还没解决SimpleMDE的预览的问题呀?查阅资料,发现原来人家也考虑到了,提供了相应的选项,设置就成:

previewRender: function (plainText) {
	return marked(plainText, {
		sanitize: true,
		sanitizer: DOMPurify.sanitize,
		highlight: function (code) {
			return hljs.highlightAuto(code).value;
		}
	});
},
renderingConfig: {
	codeSyntaxHighlighting: true
},

大功告成!终于修复了这个问题!

只有 1 条评论, 不如再加一个评论?

留下你的评论呗...

电子邮件地址不会被公开。 必填项已用*标注