Browse Source

error handling for Mermaid and Mathjax

Le Tan 8 years ago
parent
commit
2a1cba1fed

+ 12 - 3
src/resources/hoedown.js

@@ -9,7 +9,12 @@ var updateHtml = function(html) {
         if (code.parentElement.tagName.toLowerCase() == 'pre') {
             if (VEnableMermaid && code.classList.contains('language-mermaid')) {
                 // Mermaid code block.
-                var graph = mermaidAPI.render('mermaid-diagram-' + mermaidIdx++, code.innerText, function(){});
+                try {
+                    var graph = mermaidAPI.render('mermaid-diagram-' + mermaidIdx++, code.innerText, function(){});
+                } catch (err) {
+                    content.setLog("err: " + err);
+                    continue;
+                }
                 var graphDiv = document.createElement('div');
                 graphDiv.classList.add(VMermaidDivClass);
                 graphDiv.innerHTML = graph;
@@ -24,8 +29,12 @@ var updateHtml = function(html) {
         }
     }
 
-    if (VEnableMathjax && (typeof MathJax != 'undefined')) {
-        MathJax.Hub.Queue(["Typeset", MathJax.Hub, placeholder]);
+    if (VEnableMathjax) {
+        try {
+            MathJax.Hub.Queue(["Typeset", MathJax.Hub, placeholder]);
+        } catch (err) {
+            content.setLog("err: " + err);
+        }
     }
 }
 

+ 5 - 1
src/resources/markdown-it.js

@@ -170,7 +170,11 @@ var updateText = function(text) {
     handleToc(needToc);
     renderMermaid('lang-mermaid');
     if (VEnableMathjax) {
-        MathJax.Hub.Queue(["Typeset", MathJax.Hub, placeholder]);
+        try {
+            MathJax.Hub.Queue(["Typeset", MathJax.Hub, placeholder]);
+        } catch (err) {
+            content.setLog("err: " + err);
+        }
     }
 }
 

+ 6 - 1
src/resources/markdown_template.js

@@ -147,7 +147,12 @@ var renderMermaid = function(className) {
         var code = codes[i];
         if (code.classList.contains(className)) {
             // Mermaid code block.
-            var graph = mermaidAPI.render('mermaid-diagram-' + mermaidIdx++, code.innerText, function(){});
+            try {
+                var graph = mermaidAPI.render('mermaid-diagram-' + mermaidIdx++, code.innerText, function(){});
+            } catch (err) {
+                content.setLog("err: " + err);
+                continue;
+            }
             var graphDiv = document.createElement('div');
             graphDiv.classList.add(VMermaidDivClass);
             graphDiv.innerHTML = graph;

+ 5 - 1
src/resources/marked.js

@@ -123,7 +123,11 @@ var updateText = function(text) {
     handleToc(needToc);
     renderMermaid('lang-mermaid');
     if (VEnableMathjax) {
-        MathJax.Hub.Queue(["Typeset", MathJax.Hub, placeholder]);
+        try {
+            MathJax.Hub.Queue(["Typeset", MathJax.Hub, placeholder]);
+        } catch (err) {
+            content.setLog("err: " + err);
+        }
     }
 };
 

+ 2 - 2
src/resources/vnote.ini

@@ -13,8 +13,8 @@ language=System
 editor_font_size=12
 ; 0 - Hoedown, 1 - Marked, 2 - Markdown-it
 markdown_converter=2
-enable_mermaid=true
-enable_mathjax=true
+enable_mermaid=false
+enable_mathjax=false
 
 [session]
 tools_dock_checked=true