UNPKG

@bpmn-io/snarkdown

Version:
3 lines (2 loc) 2.04 kB
var e={"":["<em>","</em>"],_:["<strong>","</strong>"],"*":["<strong>","</strong>"],"~":["<s>","</s>"],"\n":["<br />"]," ":["<br />"],"-":["<hr />"]};function n(e){return e.replace(RegExp("^"+(e.match(/^(\t| )+/)||"")[0],"gm"),"")}function r(e){return(e+"").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}module.exports=function t(a,o){var c,s,l,g,p,u=/((?:^|\n+)(?:\n---+|\* \*(?: \*)+)\n)|(?:^``` *(\w*)\n([\s\S]*?)\n```$)|((?:(?:^|\n+)(?:\t| {2,}).+)+\n*)|((?:(?:^|\n)([>*+-]|\d+\.)\s+.*)+)|(?:!\[([^\]]*?)\]\(([^)]+?)\))|(\[)|(\](?:\(([^)]+?)\))?)|(?:(?:^|\n+)([^\s].*)\n(-{3,}|={3,})(?:\n+|$))|(?:(?:^|\n+)(#{1,6})\s*(.+)(?:\n+|$))|(?:`([^`].*?)`)|( \n\n*|\n{2,}|__|\*\*|[_*]|~~)|<([^>]+)>|\\([_*~])/gm,m=[],h="",i=o||{},d=0;function f(n){var r=e[n[1]||""],t=m[m.length-1]==n;return r?r[1]?(t?m.pop():m.push(n),r[0|t]):r[0]:n}function $(){for(var e="";m.length;)e+=f(m[m.length-1]);return e}for(a=a.replace(/^\[(.+?)\]:\s*(.+)$/gm,function(e,n,r){return i[n.toLowerCase()]=r,""}).replace(/^\n+|\n+$/g,"");l=u.exec(a);)s=a.substring(d,l.index),d=u.lastIndex,c=l[0],s.match(/[^\\](\\\\)*\\$/)||((p=l[3]||l[4])?c='<pre class="code '+(l[4]?"poetry":l[2].toLowerCase())+'"><code'+(l[2]?' class="language-'+l[2].toLowerCase()+'"':"")+">"+n(r(p).replace(/^\n+|\n+$/g,""))+"</code></pre>":(p=l[6])?(p.match(/\./)&&(l[5]=l[5].replace(/^\d+/gm,"")),g=t(n(l[5].replace(/^\s*[>*+.-]/gm,""))),">"==p?p="blockquote":(p=p.match(/\./)?"ol":"ul",g=g.replace(/^(.*)(\n|$)/gm,"<li>$1</li>")),c="<"+p+">"+g+"</"+p+">"):l[8]?c='<img src="'+r(l[8])+'" alt="'+r(l[7])+'">':l[10]?(h=h.replace("<a>",'<a href="'+r(l[11]||i[s.toLowerCase()])+'">'),c=$()+"</a>"):l[18]&&/^(https?|mailto):/.test(l[18])?c='<a href="'+r(l[18])+'">'+r(l[18])+"</a>":l[9]?c="<a>":l[12]||l[14]?c="<"+(p="h"+(l[14]?l[14].length:l[13]>"="?1:2))+">"+t(l[12]||l[15],i)+"</"+p+">":l[16]?c="<code>"+r(l[16])+"</code>":l[17]||l[1]?c=f(l[17]||"--"):l[19]&&(c=l[19])),h+=s,h+=c;return(h+a.substring(d)+$()).replace(/^\n+|\n+$/g,"")}; //# sourceMappingURL=snarkdown.js.map