|
|
@@ -56,16 +56,14 @@ export const processCodeRender = (previewPanel: HTMLElement, vditor: IVditor) =>
|
|
|
if (!previewPanel) {
|
|
|
return;
|
|
|
}
|
|
|
- const codeElement = previewPanel.querySelector("code");
|
|
|
- if (!codeElement) {
|
|
|
- if (previewPanel.parentElement.getAttribute("data-type") === "html-block") {
|
|
|
- previewPanel.style.backgroundColor = "var(--preview-background-color)";
|
|
|
- previewPanel.style.padding = "0.2em 0.4em";
|
|
|
- previewPanel.setAttribute("data-render", "1");
|
|
|
- }
|
|
|
+ if (previewPanel.parentElement.getAttribute("data-type") === "html-block") {
|
|
|
+ previewPanel.setAttribute("data-render", "1");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ const language = previewPanel.firstElementChild.className.replace("language-", "");
|
|
|
+ if (!language) {
|
|
|
return;
|
|
|
}
|
|
|
- const language = codeElement.className.replace("language-", "");
|
|
|
if (language === "abc") {
|
|
|
abcRender(previewPanel, vditor.options.cdn);
|
|
|
} else if (language === "mermaid") {
|
|
|
@@ -79,12 +77,7 @@ export const processCodeRender = (previewPanel: HTMLElement, vditor: IVditor) =>
|
|
|
} else if (language === "graphviz") {
|
|
|
graphvizRender(previewPanel, vditor.options.cdn);
|
|
|
} else if (language === "math") {
|
|
|
- let tag = "div";
|
|
|
- if (previewPanel.tagName === "SPAN") {
|
|
|
- tag = "span";
|
|
|
- }
|
|
|
- previewPanel.innerHTML = `<code class="language-math"><${tag} class="vditor-math">${previewPanel.innerHTML}</${tag}></code>`;
|
|
|
- mathRender(previewPanel.parentElement, {cdn: vditor.options.cdn, math: vditor.options.preview.math});
|
|
|
+ mathRender(previewPanel, {cdn: vditor.options.cdn, math: vditor.options.preview.math});
|
|
|
} else {
|
|
|
highlightRender(Object.assign({}, vditor.options.preview.hljs), previewPanel, vditor.options.cdn);
|
|
|
codeRender(previewPanel, vditor.options.lang);
|