diff options
Diffstat (limited to '')
-rw-r--r-- | public/js/extra.js | 33 |
1 files changed, 21 insertions, 12 deletions
diff --git a/public/js/extra.js b/public/js/extra.js index 05d00780..20ce1728 100644 --- a/public/js/extra.js +++ b/public/js/extra.js @@ -2,6 +2,8 @@ require('prismjs/themes/prism.css'); var Prism = require('prismjs'); require('prismjs/components/prism-wiki'); +require('prismjs/components/prism-haskell'); +require('prismjs/components/prism-go'); var hljs = require('highlight.js'); var PDFObject = require('pdfobject'); var S = require('string'); @@ -285,17 +287,6 @@ function finishView(view) { if ($(value).children().length == 0) $(value).gist(viewAjaxCallback); }); - //mathjax - var mathjaxdivs = view.find('span.mathjax.raw').removeClass("raw").toArray(); - try { - if (mathjaxdivs.length > 1) { - MathJax.Hub.Queue(["Typeset", MathJax.Hub, mathjaxdivs]); - MathJax.Hub.Queue(viewAjaxCallback); - } else if (mathjaxdivs.length > 0) { - MathJax.Hub.Queue(["Typeset", MathJax.Hub, mathjaxdivs[0]]); - MathJax.Hub.Queue(viewAjaxCallback); - } - } catch (err) {} //sequence diagram var sequences = view.find("div.sequence-diagram.raw").removeClass("raw"); sequences.each(function (key, value) { @@ -484,6 +475,11 @@ function finishView(view) { var result = { value: code }; + } else if (reallang == "haskell" || reallang == "go") { + code = S(code).unescapeHTML().s; + var result = { + value: Prism.highlight(code, Prism.languages[reallang]) + }; } else if (reallang == "tiddlywiki" || reallang == "mediawiki") { code = S(code).unescapeHTML().s; var result = { @@ -502,6 +498,19 @@ function finishView(view) { else langDiv.html(result.value); } }); + //mathjax + var mathjaxdivs = view.find('span.mathjax.raw').removeClass("raw").toArray(); + try { + if (mathjaxdivs.length > 1) { + MathJax.Hub.Queue(["Typeset", MathJax.Hub, mathjaxdivs]); + MathJax.Hub.Queue(viewAjaxCallback); + } else if (mathjaxdivs.length > 0) { + MathJax.Hub.Queue(["Typeset", MathJax.Hub, mathjaxdivs[0]]); + MathJax.Hub.Queue(viewAjaxCallback); + } + } catch (err) { + console.warn(err); + } //render title document.title = renderTitle(view); } @@ -895,7 +904,7 @@ emojify.setConfig({ elements: ['script', 'textarea', 'a', 'pre', 'code', 'svg'], classes: ['no-emojify'] }, - img_dir: serverurl + '/vendor/emojify.js/dist/images/basic', + img_dir: serverurl + '/build/emojify.js/dist/images/basic', ignore_emoticons: true }); |