remark-docx
Version:
remark plugin to compile markdown to docx (Microsoft Word, Office Open XML).
2 lines • 2.16 kB
JavaScript
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require("docx"),t=require("mathml2omml"),n=require("fast-xml-parser"),r=require("@mathjax/src/js/mathjax.js"),i=require("@mathjax/src/js/input/tex.js"),a=require("@mathjax/src/js/core/MmlTree/SerializedMmlVisitor.js"),o=require("@mathjax/src/js/core/MathItem.js"),s=require("@mathjax/src/js/adaptors/liteAdaptor.js"),c=require("@mathjax/src/js/handlers/html.js"),l=require("@mathjax/src/js/components/loader.js");require("@mathjax/src/components/js/input/tex/extensions/noerrors/noerrors.js"),require("@mathjax/src/components/js/input/tex/extensions/ams/ams.js"),require("@mathjax/src/components/js/input/tex/extensions/boldsymbol/boldsymbol.js"),require("@mathjax/src/components/js/input/tex/extensions/newcommand/newcommand.js"),require("@mathjax/src/components/js/input/tex/extensions/textmacros/textmacros.js"),require("@mathjax/src/components/js/input/tex/extensions/unicode/unicode.js");var u=class extends e.XmlAttributeComponent{},d=class extends e.XmlComponent{constructor(e,t,n){if(super(e),n){let e={};for(let[t,r]of Object.entries(n))t.startsWith(`m:`)&&(e[t]=r);this.root.push(new u(e))}t.length&&this.root.push(...t)}},f=e=>`#text`in e,p=e=>{let t=e[`:@`],n=``,r;for(let t of Object.keys(e))if(t!==`:@`){n=t,r=e[t];break}if(n.startsWith(`m:`)){let e=[];for(let t of r??[])if(f(t)){let n=t[`#text`];e.push(String(n))}else{let n=p(t);n&&e.push(n)}return new d(n,e,t)}return null},m=()=>{(0,c.RegisterHTMLHandler)((0,s.liteAdaptor)());let u=[`[tex]/noerrors`,`[tex]/ams`,`[tex]/newcommand`,`[tex]/boldsymbol`,`[tex]/textmacros`,`[tex]/unicode`],d=[`base`].concat(u.map(e=>e.slice(6)));l.Loader.preLoaded(...u);let f=new i.TeX({packages:d}),m=r.mathjax.document(``,{InputJax:f}),h=new a.SerializedMmlVisitor,g=new n.XMLParser({ignoreAttributes:!1,preserveOrder:!0,attributeNamePrefix:``}),_=e=>{let n=m.convert(e,{end:o.STATE.CONVERT}),r=(0,t.mml2omml)(h.visitTree(n));return p(g.parse(r)[0])};return async()=>({math:({value:t})=>{let n=_(t);return n?new e.Paragraph({children:[n]}):null},inlineMath:({value:e})=>_(e)})};exports.latexPlugin=m;
//# sourceMappingURL=index.cjs.map