yuml.js 779 B

1234567891011121314151617181920
  1. const config = require('../../../config');
  2. const mermaidChart = (code) => {
  3. return `<yuml value="${encodeURIComponent(code)}"></yuml>`;
  4. }
  5. module.exports = md => {
  6. const temp = md.renderer.rules.fence.bind(md.renderer.rules)
  7. md.renderer.rules.fence = (tokens, idx, options, env, slf) => {
  8. const token = tokens[idx]
  9. const code = token.content.trim();
  10. if (token.info === 'yuml') {
  11. return mermaidChart(code)
  12. };
  13. // const firstLine = code.split(/\n/)[0].trim()
  14. // if (firstLine === 'gantt' || firstLine === 'sequenceDiagram' || firstLine.match(/^graph (?:TB|BT|RL|LR|TD);?$/)) {
  15. // return mermaidChart(code)
  16. // }
  17. return temp(tokens, idx, options, env, slf)
  18. }
  19. };