This commit is contained in:
caishi 2024-07-09 08:50:24 +08:00
commit ae1dbe9027
3 changed files with 29 additions and 6 deletions

View File

@ -1907,13 +1907,16 @@
return false;
},
renderer(token) {
return katex.renderToString(token.text, { displayMode: token.displayMode });
let renderString = ''
try {
renderString = katex.renderToString(token.text, { displayMode: token.displayMode })
} catch (error) {
renderString = `<p style="color:#cc0000" title="${ error.message }">${ token.raw }`
}
return renderString
}
};
marked.use({ extensions: [kateX] });
var markdownToC = this.markdownToC = [];
var rendererOptions = this.markedRendererOptions = {
toc: settings.toc,
@ -1940,6 +1943,10 @@
smartLists: true,
smartypants: true
};
if (editormd.kaTeXLoaded) {
marked.use({ extensions: [kateX] });
}
marked.setOptions(markedOptions);
@ -1990,6 +1997,8 @@
editormd.loadKaTeX(function () {
editormd.$katex = katex;
editormd.kaTeXLoaded = true;
marked.use({ extensions: [kateX] });
_this.save();
});
}
else {
@ -3456,7 +3465,7 @@
var tocHTML = "<div class=\"markdown-toc editormd-markdown-toc\">" + text + "</div>";
return (isToC) ? ((isToCMenu) ? "<div class=\"editormd-toc-menu\">" + tocHTML + "</div><br/>" : tocHTML)
: ((pageBreakReg.test(text)) ? this.pageBreak(text) : "<p" + isTeXAddClass + ">" + this.atLink(this.emoji(text)) + "</p>\n");
: ((pageBreakReg.test(text)) ? this.pageBreak(text) : this.atLink(this.emoji(text)) + "</p>\n");
};
markedRenderer.code = function (code, lang, escaped) {

View File

@ -226,7 +226,13 @@ const kateX = {
return false;
},
renderer(token) {
return renderToString(token.text, { displayMode: token.displayMode });
let renderString = ''
try {
renderString = renderToString(token.text, { displayMode: token.displayMode})
} catch (error) {
renderString = `<p style="color:#cc0000" title="${ error.message }">${ token.raw }`
}
return renderString
}
};

View File

@ -240,4 +240,12 @@ i.color-orange05:hover {
}
.User span {
margin-left:8px
}
.latex-error {
border: 1px solid #ff818266;
border-radius: 6px;
background-color: #ffebe9;
padding: 10px 8px;
font-size: 12px;
margin-bottom: 5px;
}