UNPKG

remark-docx

Version:

remark plugin to compile markdown to docx (Microsoft Word, Office Open XML).

2 lines 1.13 kB
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../utils-D_YAYv4R.cjs");let t=require("docx"),n=require("shiki"),r=require("unist-util-visit");var i=e=>{if(e.length===4){let t=e[1],n=e[2],r=e[3];return e[0]+t+t+n+n+r+r}return e.length===9?e.slice(0,7):e},a=({theme:a})=>{let o,s=new Set,c=new Set;return async({root:l})=>{let u=[];return(0,r.visit)(l,`code`,({lang:e})=>{e&&(s.has(e)||(s.add(e),u.push(e)))}),o||=await(0,n.createHighlighter)({themes:[a],langs:[]}),await Promise.all(u.map(async t=>{try{await o.loadLanguage(t)}catch(n){c.add(t),e.n(String(n))}})),{code:({value:e,lang:n})=>{if(!n||c.has(n))return null;let r=o.codeToTokens(e,{lang:n,theme:a}),{bg:s,fg:l}=r;return l&&=i(l),s&&=i(s),r.tokens.map(e=>new t.Paragraph({shading:{type:`clear`,color:`auto`,fill:s},children:e.map(({content:e,bgColor:n,color:r,fontStyle:a})=>(r&&=i(r),n&&=i(n),new t.TextRun({text:e,color:r??l,shading:n?{type:`clear`,color:`auto`,fill:n}:void 0,bold:a===2,italics:a===1,underline:a===4?{type:`single`,color:l}:void 0,strike:a===8})))}))}}}};exports.shikiPlugin=a; //# sourceMappingURL=index.cjs.map