remark-docx
Version:
remark plugin to compile markdown to docx (Microsoft Word, Office Open XML).
2 lines • 1.12 kB
JavaScript
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../chunk-CMqjfN_6.cjs"),t=require("../../utils-D_YAYv4R.cjs"),n=require("../image/index.cjs");let r=require("docx"),i=require("unist-util-visit"),a=require("mermaid");a=e.t(a,1);let o=require("image-size");var s=async e=>{let t=document.createElement(`div`);t.style.visibility=`hidden`,document.body.appendChild(t);try{return(await a.default.render(`mermaid`,e,t)).svg}finally{document.body.removeChild(t)}},c=()=>{let e=s;return async({root:a,images:s})=>{let c=[];return(0,i.visit)(a,`code`,({lang:r,value:i})=>{r===`mermaid`&&(s.has(i)||(s.set(i,null),c.push((async()=>{try{let t=await e(i),r=new TextEncoder().encode(t),{width:a,height:c}=(0,o.imageSize)(r),l=await n.browserSvgToPng({buffer:r.buffer,width:a,height:c});s.set(i,{type:`svg`,width:a,height:c,data:r.buffer,fallback:l})}catch(e){t.n(String(e))}})())))}),await Promise.all(c),{code:({lang:e,value:t},n)=>e!==`mermaid`||n.images.get(t)==null?null:new r.Paragraph({children:n.render([{type:`image`,url:t}])})}}};exports.mermaidPlugin=c;
//# sourceMappingURL=index.cjs.map