UNPKG

@zklogic/draw.io

Version:

Draw.IO - Graph Editor integration in Angular-cli

1 lines 4.66 kB
MathJax.Extension.asciimath2jax={version:"2.7.9",config:{delimiters:[["`","`"]],skipTags:["script","noscript","style","textarea","pre","code","annotation","annotation-xml"],ignoreClass:"asciimath2jax_ignore",processClass:"asciimath2jax_process",preview:"AsciiMath"},ignoreTags:{br:MathJax.Hub.Browser.isMSIE&&document.documentMode<9?"\n":" ",wbr:"","#comment":""},PreProcess:function(e){this.configured||(this.config=MathJax.Hub.CombineConfig("asciimath2jax",this.config),this.config.Augment&&MathJax.Hub.Insert(this,this.config.Augment),this.configured=!0),"string"==typeof e&&(e=document.getElementById(e)),e||(e=document.body),this.createPatterns()&&this.scanElement(e,e.nextSibling)},createPatterns:function(){var e,t,s=[],n=this.config;if(this.match={},0===n.delimiters.length)return!1;for(e=0,t=n.delimiters.length;e<t;e++)s.push(this.patternQuote(n.delimiters[e][0])),this.match[n.delimiters[e][0]]={mode:"",end:n.delimiters[e][1],pattern:this.endPattern(n.delimiters[e][1])};this.start=new RegExp(s.sort(this.sortLength).join("|"),"g"),this.skipTags=new RegExp("^("+n.skipTags.join("|")+")$","i");var a=[];return MathJax.Hub.config.preRemoveClass&&a.push(MathJax.Hub.config.preRemoveClass),n.ignoreClass&&a.push(n.ignoreClass),this.ignoreClass=a.length?new RegExp("(^| )("+a.join("|")+")( |$)"):/^$/,this.processClass=new RegExp("(^| )("+n.processClass+")( |$)"),!0},patternQuote:function(e){return e.replace(/([\^$(){}+*?\-|\[\]\:\\])/g,"\\$1")},endPattern:function(e){return new RegExp(this.patternQuote(e)+"|\\\\.","g")},sortLength:function(e,t){return e.length!==t.length?t.length-e.length:e==t?0:e<t?-1:1},scanElement:function(e,t,s){for(var n,a,i,r;e&&e!=t;)"#text"===e.nodeName.toLowerCase()?s||(e=this.scanText(e)):(n=void 0===e.className?"":e.className,a=void 0===e.tagName?"":e.tagName,"string"!=typeof n&&(n=String(n)),r=this.processClass.exec(n),!e.firstChild||n.match(/(^| )MathJax/)||!r&&this.skipTags.exec(a)||(i=(s||this.ignoreClass.exec(n))&&!r,this.scanElement(e.firstChild,t,i))),e&&(e=e.nextSibling)},scanText:function(e){if(""==e.nodeValue.replace(/\s+/,""))return e;var t,s,n,a=0;for(this.search={start:!0},this.pattern=this.start;e;){for(n=null,this.pattern.lastIndex=a||0,a=0;e&&"#text"===e.nodeName.toLowerCase()&&(t=this.pattern.exec(e.nodeValue));)e=this.search.start?this.startMatch(t,e):this.endMatch(t,e);if(this.search.matched?e=this.encloseMath(e):this.search.start||(n=this.search),e){do{s=e,e=e.nextSibling}while(e&&null!=this.ignoreTags[e.nodeName.toLowerCase()]);if(!e||"#text"!==e.nodeName){if(!n)return s;e=n.open,a=n.opos+n.olen,this.search={start:!0},this.pattern=this.start}}}return e},startMatch:function(e,t){var s=this.match[e[0]];return null!=s&&(this.search={end:s.end,mode:s.mode,open:t,olen:e[0].length,opos:this.pattern.lastIndex-e[0].length},this.switchPattern(s.pattern)),t},endMatch:function(e,t){return e[0]==this.search.end&&(this.search.close=t,this.search.cpos=this.pattern.lastIndex,this.search.clen=this.search.isBeginEnd?0:e[0].length,this.search.matched=!0,t=this.encloseMath(t),this.switchPattern(this.start)),t},switchPattern:function(e){e.lastIndex=this.pattern.lastIndex,this.pattern=e,this.search.start=e===this.start},encloseMath:function(e){var t,s,n,a=this.search,i=a.close;for((i=a.cpos===i.length?i.nextSibling:i.splitText(a.cpos))||(t=i=MathJax.HTML.addText(a.close.parentNode,"")),a.close=i,s=a.opos?a.open.splitText(a.opos):a.open;(n=s.nextSibling)&&n!==i;){if(null!==n.nodeValue)"#comment"===n.nodeName?s.nodeValue+=n.nodeValue.replace(/^\[CDATA\[((.|\n|\r)*)\]\]$/,"$1"):s.nodeValue+=s.nextSibling.nodeValue;else{var r=this.ignoreTags[n.nodeName.toLowerCase()];s.nodeValue+=null==r?" ":r}s.parentNode.removeChild(n)}var o=s.nodeValue.substr(a.olen,s.nodeValue.length-a.olen-a.clen);return s.parentNode.removeChild(s),"none"!==this.config.preview&&this.createPreview(a.mode,o),s=this.createMathTag(a.mode,o),this.search={},this.pattern.lastIndex=0,t&&t.parentNode.removeChild(t),s},insertNode:function(e){var t=this.search;t.close.parentNode.insertBefore(e,t.close)},createPreview:function(e,t){var s=MathJax.Hub.config.preRemoveClass,n=this.config.preview;"none"!==n&&(this.search.close.previousSibling||{}).className!==s&&("AsciiMath"===n&&(n=[this.filterPreview(t)]),n&&(n=MathJax.HTML.Element("span",{className:s},n),this.insertNode(n)))},createMathTag:function(e,t){var s=document.createElement("script");return s.type="math/asciimath"+e,MathJax.HTML.setScript(s,t),this.insertNode(s),s},filterPreview:function(e){return e}},MathJax.Hub.Register.PreProcessor(["PreProcess",MathJax.Extension.asciimath2jax]),MathJax.Ajax.loadComplete("[MathJax]/extensions/asciimath2jax.js");