hoedown.js 1.1 KB

123456789101112131415161718192021222324252627
  1. var placeholder = document.getElementById('placeholder');
  2. var updateHtml = function(html) {
  3. placeholder.innerHTML = html;
  4. var codes = document.getElementsByTagName('code');
  5. var mermaidIdx = 0;
  6. for (var i = 0; i < codes.length; ++i) {
  7. var code = codes[i];
  8. if (code.parentElement.tagName.toLowerCase() == 'pre') {
  9. if (VEnableMermaid && code.classList.contains('language-mermaid')) {
  10. // Mermaid code block.
  11. var graph = mermaidAPI.render('mermaid-diagram-' + mermaidIdx++, code.innerText, function(){});
  12. var graphDiv = document.createElement('div');
  13. graphDiv.classList.add(VMermaidDivClass);
  14. graphDiv.innerHTML = graph;
  15. var preNode = code.parentNode;
  16. preNode.classList.add(VMermaidDivClass);
  17. preNode.replaceChild(graphDiv, code);
  18. // replaceChild() will decrease codes.length.
  19. --i;
  20. } else {
  21. hljs.highlightBlock(code);
  22. }
  23. }
  24. }
  25. }