@m2d/mermaid
Version:
Enhance Markdown-to-DOCX conversion with Mermaid and mindmap diagram support using this plugin for @m2d/core. Converts code blocks into SVG images with customizable Mermaid config.
3 lines (2 loc) • 1.24 kB
JavaScript
;var s=Object.create;var n=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var o=Object.getOwnPropertyNames;var u=Object.getPrototypeOf,f=Object.prototype.hasOwnProperty;var p=(r,i)=>{for(var a in i)n(r,a,{get:i[a],enumerable:!0})},g=(r,i,a,m)=>{if(i&&typeof i=="object"||typeof i=="function")for(let e of o(i))!f.call(r,e)&&e!==a&&n(r,e,{get:()=>i[e],enumerable:!(m=c(i,e))||m.enumerable});return r};var v=(r,i,a)=>(a=r!=null?s(u(r)):{},g(i||!r||!r.__esModule?n(a,"default",{value:r,enumerable:!0}):a,r)),y=r=>g(n({},"__esModule",{value:!0}),r);var M={};p(M,{mermaidPlugin:()=>I});module.exports=y(M);var d=v(require("mermaid")),C={fontFamily:"sans-serif",suppressErrorRendering:!0},I=r=>(d.default.initialize({...C,...r==null?void 0:r.mermaidConfig}),{block:async(i,a)=>{var m;if(a.type==="code"&&/(mindmap|mermaid|mmd)/.test((m=a.lang)!=null?m:"")){a.lang==="mindmap"&&!a.value.startsWith("mindmap")&&(a.value=`mindmap
${a.value}`);let e=`m${crypto.randomUUID()}`;try{let{svg:t}=await d.default.render(e,a.value),l={type:"svg",id:e,value:t,data:{mermaid:a.value}};Object.assign(a,{type:"paragraph",children:[l],data:{alignment:"center"}})}catch(t){console.error(t)}}return[]}});0&&(module.exports={mermaidPlugin});