GitFOSS
.js
JavaScript
(text/javascript)
!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("react")):"function"==typeof define&&define.amd?define(["react"],t):(n||self).MarkdownToJSX=t(n.React)}(this || globalThis,function(n){function t(n){if(n&&n.t)return n;var t=Object.create(null);return n&&Object.keys(n).forEach(function(r){if("default"!==r){var e=Object.getOwnPropertyDescriptor(n,r);Object.defineProperty(t,r,e.get?e:{enumerable:!0,get:function(){return n[r]}})}}),t.default=n,t}var r=/*#__PURE__*/t(n);function e(){return(e=Object.assign||function(n){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var e in r)Object.prototype.hasOwnProperty.call(r,e)&&(n[e]=r[e])}return n}).apply(this,arguments)}var o=["children","options"],u=["allowFullScreen","allowTransparency","autoComplete","autoFocus","autoPlay","cellPadding","cellSpacing","charSet","className","classId","colSpan","contentEditable","contextMenu","crossOrigin","encType","formAction","formEncType","formMethod","formNoValidate","formTarget","frameBorder","hrefLang","inputMode","keyParams","keyType","marginHeight","marginWidth","maxLength","mediaGroup","minLength","noValidate","radioGroup","readOnly","rowSpan","spellCheck","srcDoc","srcLang","srcSet","tabIndex","useMap"].reduce(function(n,t){return n[t.toLowerCase()]=t,n},{for:"htmlFor"}),a={amp:"&",apos:"'",gt:">",lt:"<",nbsp:" ",quot:"“"},c=["style","script"],i=/([-A-Z0-9_:]+)(?:\s*=\s*(?:(?:"((?:\\.|[^"])*)")|(?:'((?:\\.|[^'])*)')|(?:\{((?:\\.|{[^}]*?}|[^}])*)\})))?/gi,f=/mailto:/i,l=/\n{2,}$/,s=/^( *>[^\n]+(\n[^\n]+)*\n*)+\n{2,}/,_=/^ *> ?/gm,d=/^ {2,}\n/,p=/^(?:( *[-*_]) *){3,}(?:\n *)+\n/,g=/^\s*(`{3,}|~{3,}) *(\S+)? *\n([\s\S]+?)\s*\1 *(?:\n *)+\n?/,m=/^(?: {4}[^\n]+\n*)+(?:\n *)+\n?/,v=/^(`+)\s*([\s\S]*?[^`])\s*\1(?!`)/,y=/^(?:\n *)*\n/,h=/\r\n?/g,k=/^\[\^([^\]]+)](:.*)\n/,b=/^\[\^([^\]]+)]/,x=/\f/g,S=/^\s*?\[(x|\s)\]/,$=/^ *(#{1,6}) *([^\n]+?)(?: +#*)?(?:\n *)*(?:\n|$)/,w=/^([^\n]+)\n *(=|-){3,} *(?:\n *)+\n/,z=/^ *(?!<[a-z][^ >/]* ?\/>)<([a-z][^ >/]*) ?([^>]*)\/{0}>\n?(\s*(?:<\1[^>]*?>[\s\S]*?<\/\1>|(?!<\1)[\s\S])*?)<\/\1>\n*/i,O=/&([a-z]+);/g,j=/^<!--[\s\S]*?(?:-->)/,E=/^(data|aria|x)-[a-z_][a-z\d_.-]*$/,A=/^ *<([a-z][a-z0-9:]*)(?:\s+((?:<.*?>|[^>])*))?\/?>(?!<\/\1>)(\s*\n)?/i,R=/^\{.*\}$/,T=/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,I=/^<([^ >]+@[^ >]+)>/,M=/^<([^ >]+:\/[^ >]+)>/,B=/ *\n+$/,L=/(?:^|\n)( *)$/,C=/-([a-z])?/gi,D=/^(.*\|?.*)\n *(\|? *[-:]+ *\|[-| :]*)\n((?:.*\|.*\n)*)\n?/,N=/^\[([^\]]*)\]:\s*(\S+)\s*("([^"]*)")?/,Z=/^!\[([^\]]*)\] ?\[([^\]]*)\]/,F=/^\[([^\]]*)\] ?\[([^\]]*)\]/,P=/(\[|\])/g,q=/(\n|^[-*]\s|^#|^ {2,}|^-{2,}|^>\s)/,G=/\t/g,H=/^ *\| */,U=/(^ *\||\| *$)/g,V=/ *$/,W=/^ *:-+: *$/,Q=/^ *:-+ *$/,X=/^ *-+: *$/,J=/^([*_])\1((?:\[.*?\][([].*?[)\]]|<.*?>(?:.*?<.*?>)?|`.*?`|~+.*?~+|.)*?)\1\1(?!\1)/,K=/^([*_])((?:\[.*?\][([].*?[)\]]|<.*?>(?:.*?<.*?>)?|`.*?`|~+.*?~+|.)*?)\1(?!\1|\w)/,Y=/^~~((?:\[.*?\]|<.*?>(?:.*?<.*?>)?|`.*?`|.)*?)~~/,nn=/^\\([^0-9A-Za-z\s])/,tn=/^[\s\S]+?(?=[^0-9A-Z\s\u00c0-\uffff&;.()'"]|\d+\.|\n\n| {2,}\n|\w+:\S|$)/i,rn=/^\n+/,en=/^([ \t]*)/,on=/\\([^0-9A-Z\s])/gi,un="( *)((?:[*+-]|\\d+\\.)) +",an=new RegExp("^"+un),cn=new RegExp("^"+un+"[^\\n]*(?:\\n(?!\\1(?:[*+-]|\\d+\\.) )[^\\n]*)*(\\n|$)","gm"),fn=new RegExp("^( *)((?:[*+-]|\\d+\\.)) [\\s\\S]+?(?:\\n{2,}(?! )(?!\\1(?:[*+-]|\\d+\\.) (?!(?:[*+-]|\\d+\\.) ))\\n*|\\s*\\n*$)"),ln="(?:\\[[^\\]]*\\]|[^\\[\\]]|\\](?=[^\\[]*\\]))*",sn="\\s*<?((?:[^\\s\\\\]|\\\\.)*?)>?(?:\\s+['\"]([\\s\\S]*?)['\"])?\\s*",_n=new RegExp("^\\[("+ln+")\\]\\("+sn+"\\)"),dn=new RegExp("^!\\[("+ln+")\\]\\("+sn+"\\)"),pn=[s,m,g,$,w,j,cn,fn,D],gn=[].concat(pn,[/^[^\n]+(?:  \n|\n{2,})/,z,A]);function mn(n){return n.replace(/[ÀÁÂÃÄÅàáâãä忯]/g,"a").replace(/[çÇ]/g,"c").replace(/[ðÐ]/g,"d").replace(/[ÈÉÊËéèêë]/g,"e").replace(/[ÏïÎîÍíÌì]/g,"i").replace(/[Ññ]/g,"n").replace(/[øØœŒÕõÔôÓóÒò]/g,"o").replace(/[ÜüÛûÚúÙù]/g,"u").replace(/[ŸÿÝý]/g,"y").replace(/[^a-z0-9- ]/gi,"").replace(/ /gi,"-").toLowerCase()}function vn(n){return X.test(n)?"right":W.test(n)?"center":Q.test(n)?"left":null}function yn(n,t,r){var e=r.o;r.o=!0;var o=t(n.trim(),r);r.o=e;var u=[[]];return o.forEach(function(n,t){"tableSeparator"===n.type?0!==t&&t!==o.length-1&&u.push([]):("text"!==n.type||null!=o[t+1]&&"tableSeparator"!==o[t+1].type||(n.content=n.content.replace(V,"")),u[u.length-1].push(n))}),u}function hn(n,t,r){r.u=!0;var e=yn(n[1],t,r),o=n[2].replace(U,"").split("|").map(vn),u=function(n,t,r){return n.trim().split("\n").map(function(n){return yn(n,t,r)})}(n[3],t,r);return r.u=!1,{align:o,cells:u,header:e,type:"table"}}function kn(n,t){return null==n.align[t]?{}:{textAlign:n.align[t]}}function bn(n){return function(t,r){return r.u?n.exec(t):null}}function xn(n){return function(t,r){return r.u||r.i?n.exec(t):null}}function Sn(n){return function(t,r){return r.u||r.i?null:n.exec(t)}}function $n(n){return function(t){return n.exec(t)}}function wn(n,t,r){if(t.u||t.i)return null;if(r&&!r.endsWith("\n"))return null;var e="";n.split("\n").every(function(n){return!pn.some(function(t){return t.test(n)})&&(e+=n+"\n",n.trim())});var o=e.trimEnd();return""==o?null:[e,o]}function zn(n){try{if(decodeURIComponent(n).replace(/[^A-Za-z0-9/:]/g,"").match(/^\s*(javascript|vbscript|data):/i))return null}catch(n){return null}return n}function On(n){return n.replace(on,"$1")}function jn(n,t,r){var e=r.u||!1,o=r.i||!1;r.u=!0,r.i=!0;var u=n(t,r);return r.u=e,r.i=o,u}function En(n,t,r){var e=r.u||!1,o=r.i||!1;r.u=!1,r.i=!0;var u=n(t,r);return r.u=e,r.i=o,u}function An(n,t,r){return r.u=!1,n(t+"\n\n",r)}var Rn,Tn=function(n,t,r){return{content:jn(t,n[1],r)}};function In(){return{}}function Mn(){return null}function Bn(){return[].slice.call(arguments).filter(Boolean).join(" ")}function Ln(n,t,r){for(var e=n,o=t.split(".");o.length&&void 0!==(e=e[o[0]]);)o.shift();return e||r}function Cn(n,t){var r=Ln(t,n);return r?"function"==typeof r||"object"==typeof r&&"render"in r?r:Ln(t,n+".component",n):n}function Dn(n,t){void 0===t&&(t={}),t.overrides=t.overrides||{},t.slugify=t.slugify||mn,t.namedCodesToUnicode=t.namedCodesToUnicode?e({},a,t.namedCodesToUnicode):a;var o=t.createElement||r.createElement;function U(n,r){var u=Ln(t.overrides,n+".props",{});return o.apply(void 0,[Cn(n,t.overrides),e({},r,u,{className:Bn(null==r?void 0:r.className,u.className)||void 0})].concat([].slice.call(arguments,2)))}function V(n){var e=!1;t.forceInline?e=!0:t.forceBlock||(e=!1===q.test(n));for(var o=sn(ln(e?n:n.trimEnd().replace(rn,"")+"\n\n",{u:e}));"string"==typeof o[o.length-1]&&!o[o.length-1].trim();)o.pop();if(null===t.wrapper)return o;var u,a=t.wrapper||(e?"span":"div");if(o.length>1||t.forceWrapper)u=o;else{if(1===o.length)return"string"==typeof(u=o[0])?U("span",{key:"outer"},u):u;u=null}return r.createElement(a,{key:"outer"},u)}function W(n){var t=n.match(i);return t?t.reduce(function(n,t,e){var o=t.indexOf("=");if(-1!==o){var a=function(n){return-1!==n.indexOf("-")&&null===n.match(E)&&(n=n.replace(C,function(n,t){return t.toUpperCase()})),n}(t.slice(0,o)).trim(),c=function(n){var t=n[0];return('"'===t||"'"===t)&&n.length>=2&&n[n.length-1]===t?n.slice(1,-1):n}(t.slice(o+1).trim()),i=u[a]||a,f=n[i]=function(n,t){return"style"===n?t.split(/;\s?/).reduce(function(n,t){var r=t.slice(0,t.indexOf(":"));return n[r.replace(/(-[a-z])/g,function(n){return n[1].toUpperCase()})]=t.slice(r.length+1).trim(),n},{}):"href"===n?zn(t):(t.match(R)&&(t=t.slice(1,t.length-1)),"true"===t||"false"!==t&&t)}(a,c);"string"==typeof f&&(z.test(f)||A.test(f))&&(n[i]=r.cloneElement(V(f.trim()),{key:e}))}else"style"!==t&&(n[u[t]||t]=!0);return n},{}):void 0}var Q=[],X={},on={blockQuote:{l:Sn(s),_:Rn.HIGH,p:function(n,t,r){return{content:t(n[0].replace(_,""),r)}},g:function(n,t,r){return U("blockquote",{key:r.m},t(n.content,r))}},breakLine:{l:$n(d),_:Rn.HIGH,p:In,g:function(n,t,r){return U("br",{key:r.m})}},breakThematic:{l:Sn(p),_:Rn.HIGH,p:In,g:function(n,t,r){return U("hr",{key:r.m})}},codeBlock:{l:Sn(m),_:Rn.MAX,p:function(n){return{content:n[0].replace(/^ {4}/gm,"").replace(/\n+$/,""),lang:void 0}},g:function(n,t,r){return U("pre",{key:r.m},U("code",{className:n.lang?"lang-"+n.lang:""},n.content))}},codeFenced:{l:Sn(g),_:Rn.MAX,p:function(n){return{content:n[3],lang:n[2]||void 0,type:"codeBlock"}}},codeInline:{l:xn(v),_:Rn.LOW,p:function(n){return{content:n[2]}},g:function(n,t,r){return U("code",{key:r.m},n.content)}},footnote:{l:Sn(k),_:Rn.MAX,p:function(n){return Q.push({footnote:n[2],identifier:n[1]}),{}},g:Mn},footnoteReference:{l:bn(b),_:Rn.HIGH,p:function(n){return{content:n[1],target:"#"+t.slugify(n[1])}},g:function(n,t,r){return U("a",{key:r.m,href:zn(n.target)},U("sup",{key:r.m},n.content))}},gfmTask:{l:bn(S),_:Rn.HIGH,p:function(n){return{completed:"x"===n[1].toLowerCase()}},g:function(n,t,r){return U("input",{checked:n.completed,key:r.m,readOnly:!0,type:"checkbox"})}},heading:{l:Sn($),_:Rn.HIGH,p:function(n,r,e){return{content:jn(r,n[2],e),id:t.slugify(n[2]),level:n[1].length}},g:function(n,t,r){return n.tag="h"+n.level,U(n.tag,{id:n.id,key:r.m},t(n.content,r))}},headingSetext:{l:Sn(w),_:Rn.MAX,p:function(n,t,r){return{content:jn(t,n[1],r),level:"="===n[2]?1:2,type:"heading"}}},htmlComment:{l:$n(j),_:Rn.HIGH,p:function(){return{}},g:Mn},image:{l:xn(dn),_:Rn.HIGH,p:function(n){return{alt:n[1],target:On(n[2]),title:n[3]}},g:function(n,t,r){return U("img",{key:r.m,alt:n.alt||void 0,title:n.title||void 0,src:zn(n.target)})}},link:{l:bn(_n),_:Rn.LOW,p:function(n,t,r){return{content:En(t,n[1],r),target:On(n[2]),title:n[3]}},g:function(n,t,r){return U("a",{key:r.m,href:zn(n.target),title:n.title},t(n.content,r))}},linkAngleBraceStyleDetector:{l:bn(M),_:Rn.MAX,p:function(n){return{content:[{content:n[1],type:"text"}],target:n[1],type:"link"}}},linkBareUrlDetector:{l:function(n,t){return t.v?null:bn(T)(n,t)},_:Rn.MAX,p:function(n){return{content:[{content:n[1],type:"text"}],target:n[1],title:void 0,type:"link"}}},linkMailtoDetector:{l:bn(I),_:Rn.MAX,p:function(n){var t=n[1],r=n[1];return f.test(r)||(r="mailto:"+r),{content:[{content:t.replace("mailto:",""),type:"text"}],target:r,type:"link"}}},list:{l:function(n,t,r){var e=L.exec(r);return!e||!t.h&&t.u?null:fn.exec(n=e[1]+n)},_:Rn.HIGH,p:function(n,t,r){var e=n[2],o=e.length>1,u=o?+e:void 0,a=n[0].replace(l,"\n").match(cn),c=!1;return{items:a.map(function(n,e){var o=an.exec(n)[0].length,u=new RegExp("^ {1,"+o+"}","gm"),i=n.replace(u,"").replace(an,""),f=e===a.length-1,l=-1!==i.indexOf("\n\n")||f&&c;c=l;var s,_=r.u,d=r.h;r.h=!0,l?(r.u=!1,s=i.replace(B,"\n\n")):(r.u=!0,s=i.replace(B,""));var p=t(s,r);return r.u=_,r.h=d,p}),ordered:o,start:u}},g:function(n,t,r){return U(n.ordered?"ol":"ul",{key:r.m,start:n.start},n.items.map(function(n,e){return U("li",{key:e},t(n,r))}))}},newlineCoalescer:{l:Sn(y),_:Rn.LOW,p:In,g:function(){return"\n"}},paragraph:{l:wn,_:Rn.LOW,p:Tn,g:function(n,t,r){return U("p",{key:r.m},t(n.content,r))}},ref:{l:bn(N),_:Rn.MAX,p:function(n){return X[n[1]]={target:n[2],title:n[4]},{}},g:Mn},refImage:{l:xn(Z),_:Rn.MAX,p:function(n){return{alt:n[1]||void 0,ref:n[2]}},g:function(n,t,r){return U("img",{key:r.m,alt:n.alt,src:zn(X[n.ref].target),title:X[n.ref].title})}},refLink:{l:bn(F),_:Rn.MAX,p:function(n,t,r){return{content:t(n[1],r),fallbackContent:t(n[0].replace(P,"\\$1"),r),ref:n[2]}},g:function(n,t,r){return X[n.ref]?U("a",{key:r.m,href:zn(X[n.ref].target),title:X[n.ref].title},t(n.content,r)):U("span",{key:r.m},t(n.fallbackContent,r))}},table:{l:Sn(D),_:Rn.HIGH,p:hn,g:function(n,t,r){return U("table",{key:r.m},U("thead",null,U("tr",null,n.header.map(function(e,o){return U("th",{key:o,style:kn(n,o)},t(e,r))}))),U("tbody",null,n.cells.map(function(e,o){return U("tr",{key:o},e.map(function(e,o){return U("td",{key:o,style:kn(n,o)},t(e,r))}))})))}},tableSeparator:{l:function(n,t){return t.o?H.exec(n):null},_:Rn.HIGH,p:function(){return{type:"tableSeparator"}},g:function(){return" | "}},text:{l:$n(tn),_:Rn.MIN,p:function(n){return{content:n[0].replace(O,function(n,r){return t.namedCodesToUnicode[r]?t.namedCodesToUnicode[r]:n})}},g:function(n){return n.content}},textBolded:{l:xn(J),_:Rn.MED,p:function(n,t,r){return{content:t(n[2],r)}},g:function(n,t,r){return U("strong",{key:r.m},t(n.content,r))}},textEmphasized:{l:xn(K),_:Rn.LOW,p:function(n,t,r){return{content:t(n[2],r)}},g:function(n,t,r){return U("em",{key:r.m},t(n.content,r))}},textEscaped:{l:xn(nn),_:Rn.HIGH,p:function(n){return{content:n[1],type:"text"}}},textStrikethroughed:{l:xn(Y),_:Rn.LOW,p:Tn,g:function(n,t,r){return U("del",{key:r.m},t(n.content,r))}}};!0!==t.disableParsingRawHTML&&(on.htmlBlock={l:$n(z),_:Rn.HIGH,p:function(n,t,r){var e,o=n[3].match(en),u=new RegExp("^"+o[1],"gm"),a=n[3].replace(u,""),i=(e=a,gn.some(function(n){return n.test(e)})?An:jn),f=n[1].toLowerCase(),l=-1!==c.indexOf(f);r.v=r.v||"a"===f;var s=l?n[3]:i(t,a,r);return r.v=!1,{attrs:W(n[2]),content:s,noInnerParse:l,tag:l?f:n[1]}},g:function(n,t,r){return U(n.tag,e({key:r.m},n.attrs),n.noInnerParse?n.content:t(n.content,r))}},on.htmlSelfClosing={l:$n(A),_:Rn.HIGH,p:function(n){return{attrs:W(n[2]||""),tag:n[1]}},g:function(n,t,r){return U(n.tag,e({},n.attrs,{key:r.m}))}});var un,ln=function(n){var t=Object.keys(n);function r(e,o){for(var u=[],a="";e;)for(var c=0;c<t.length;){var i=t[c],f=n[i],l=f.l(e,o,a);if(l){var s=l[0];e=e.substring(s.length);var _=f.p(l,r,o);null==_.type&&(_.type=i),u.push(_),a=s;break}c++}return u}return t.sort(function(t,r){var e=n[t]._,o=n[r]._;return e!==o?e-o:t<r?-1:1}),function(n,t){return r(function(n){return n.replace(h,"\n").replace(x,"").replace(G,"    ")}(n),t)}}(on),sn=(un=function(n){return function(t,r,e){return n[t.type].g(t,r,e)}}(on),function n(t,r){if(void 0===r&&(r={}),Array.isArray(t)){for(var e=r.m,o=[],u=!1,a=0;a<t.length;a++){r.m=a;var c=n(t[a],r),i="string"==typeof c;i&&u?o[o.length-1]+=c:null!==c&&o.push(c),u=i}return r.m=e,o}return un(t,n,r)}),pn=V(n);return Q.length?U("div",null,pn,U("footer",{key:"footer"},Q.map(function(n){return U("div",{id:t.slugify(n.identifier),key:n.identifier},n.identifier,sn(ln(n.footnote,{u:!0})))}))):pn}!function(n){n[n.MAX=0]="MAX",n[n.HIGH=1]="HIGH",n[n.MED=2]="MED",n[n.LOW=3]="LOW",n[n.MIN=4]="MIN"}(Rn||(Rn={}));var Nn=function(n){var t=n.children,e=n.options,u=function(n,t){if(null==n)return{};var r,e,o={},u=Object.keys(n);for(e=0;e<u.length;e++)t.indexOf(r=u[e])>=0||(o[r]=n[r]);return o}(n,o);return r.cloneElement(Dn(t,e),u)};return Object.assign(Nn,{compiler:Dn}),Nn});

GitFOSS • v0.2.0 (#421408f) • MIT License