foxmd 0.1.0-beta.2 → 0.1.0-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.mjs +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),require("server-only");var e=require("foxts/lazy-value"),t=require("marked"),s=require("react"),r=require("html-entities"),l=require("foxts/fast-string-array-join"),a=require("fast-escape-regexp");let n=new Map([["bash","shell"],["zsh","shell"],["sh","shell"],["js","javascript"],["ts","typescript"],["py","python"],["yml","yaml"]]),i=/[\u0000-\u001F]/g,o=/[\s!"#$%&'()*+,./:;<=>?@[\\\]^_`{|}~-]+/g,c={};for(let e of[{base:"A",letters:"AⒶA\xc0\xc1\xc2ẦẤẪẨ\xc3ĀĂẰẮẴẲȦǠ\xc4ǞẢ\xc5ǺǍȀȂẠẬẶḀĄȺⱯ"},{base:"AA",letters:"Ꜳ"},{base:"AE",letters:"\xc6ǼǢ"},{base:"AO",letters:"Ꜵ"},{base:"AU",letters:"Ꜷ"},{base:"AV",letters:"ꜸꜺ"},{base:"AY",letters:"Ꜽ"},{base:"B",letters:"BⒷBḂḄḆɃƂƁ"},{base:"C",letters:"CⒸCĆĈĊČ\xc7ḈƇȻꜾ"},{base:"D",letters:"DⒹDḊĎḌḐḒḎĐƋƊƉꝹ"},{base:"DZ",letters:"DZDŽ"},{base:"Dz",letters:"DzDž"},{base:"E",letters:"EⒺE\xc8\xc9\xcaỀẾỄỂẼĒḔḖĔĖ\xcbẺĚȄȆẸỆȨḜĘḘḚƐƎ"},{base:"F",letters:"FⒻFḞƑꝻ"},{base:"G",letters:"GⒼGǴĜḠĞĠǦĢǤƓꞠꝽꝾ"},{base:"H",letters:"HⒽHĤḢḦȞḤḨḪĦⱧⱵꞍ"},{base:"I",letters:"IⒾI\xcc\xcd\xceĨĪĬİ\xcfḮỈǏȈȊỊĮḬƗ"},{base:"J",letters:"JⒿJĴɈ"},{base:"K",letters:"KⓀKḰǨḲĶḴƘⱩꝀꝂꝄꞢ"},{base:"L",letters:"LⓁLĿĹĽḶḸĻḼḺŁȽⱢⱠꝈꝆꞀ"},{base:"LJ",letters:"LJ"},{base:"Lj",letters:"Lj"},{base:"M",letters:"MⓂMḾṀṂⱮƜ"},{base:"N",letters:"NⓃNǸŃ\xd1ṄŇṆŅṊṈȠƝꞐꞤ"},{base:"NJ",letters:"NJ"},{base:"Nj",letters:"Nj"},{base:"O",letters:"OⓄO\xd2\xd3\xd4ỒỐỖỔ\xd5ṌȬṎŌṐṒŎȮȰ\xd6ȪỎŐǑȌȎƠỜỚỠỞỢỌỘǪǬ\xd8ǾƆƟꝊꝌ"},{base:"OI",letters:"Ƣ"},{base:"OO",letters:"Ꝏ"},{base:"OU",letters:"Ȣ"},{base:"OE",letters:"\x8cŒ"},{base:"oe",letters:"\x9cœ"},{base:"P",letters:"PⓅPṔṖƤⱣꝐꝒꝔ"},{base:"Q",letters:"QⓆQꝖꝘɊ"},{base:"R",letters:"RⓇRŔṘŘȐȒṚṜŖṞɌⱤꝚꞦꞂ"},{base:"S",letters:"SⓈSẞŚṤŜṠŠṦṢṨȘŞⱾꞨꞄ"},{base:"T",letters:"TⓉTṪŤṬȚŢṰṮŦƬƮȾꞆ"},{base:"TZ",letters:"Ꜩ"},{base:"U",letters:"UⓊU\xd9\xda\xdbŨṸŪṺŬ\xdcǛǗǕǙỦŮŰǓȔȖƯỪỨỮỬỰỤṲŲṶṴɄ"},{base:"V",letters:"VⓋVṼṾƲꝞɅ"},{base:"VY",letters:"Ꝡ"},{base:"W",letters:"WⓌWẀẂŴẆẄẈⱲ"},{base:"X",letters:"XⓍXẊẌ"},{base:"Y",letters:"YⓎYỲ\xddŶỸȲẎŸỶỴƳɎỾ"},{base:"Z",letters:"ZⓏZŹẐŻŽẒẔƵȤⱿⱫꝢ"},{base:"a",letters:"aⓐaẚ\xe0\xe1\xe2ầấẫẩ\xe3āăằắẵẳȧǡ\xe4ǟả\xe5ǻǎȁȃạậặḁąⱥɐ"},{base:"aa",letters:"ꜳ"},{base:"ae",letters:"\xe6ǽǣ"},{base:"ao",letters:"ꜵ"},{base:"au",letters:"ꜷ"},{base:"av",letters:"ꜹꜻ"},{base:"ay",letters:"ꜽ"},{base:"b",letters:"bⓑbḃḅḇƀƃɓ"},{base:"c",letters:"cⓒcćĉċč\xe7ḉƈȼꜿↄ"},{base:"d",letters:"dⓓdḋďḍḑḓḏđƌɖɗꝺ"},{base:"dz",letters:"dzdž"},{base:"e",letters:"eⓔe\xe8\xe9\xeaềếễểẽēḕḗĕė\xebẻěȅȇẹệȩḝęḙḛɇɛǝ"},{base:"f",letters:"fⓕfḟƒꝼ"},{base:"g",letters:"gⓖgǵĝḡğġǧģǥɠꞡᵹꝿ"},{base:"h",letters:"hⓗhĥḣḧȟḥḩḫẖħⱨⱶɥ"},{base:"hv",letters:"ƕ"},{base:"i",letters:"iⓘi\xec\xed\xeeĩīĭ\xefḯỉǐȉȋịįḭɨı"},{base:"j",letters:"jⓙjĵǰɉ"},{base:"k",letters:"kⓚkḱǩḳķḵƙⱪꝁꝃꝅꞣ"},{base:"l",letters:"lⓛlŀĺľḷḹļḽḻſłƚɫⱡꝉꞁꝇ"},{base:"lj",letters:"lj"},{base:"m",letters:"mⓜmḿṁṃɱɯ"},{base:"n",letters:"nⓝnǹń\xf1ṅňṇņṋṉƞɲʼnꞑꞥ"},{base:"nj",letters:"nj"},{base:"o",letters:"oⓞo\xf2\xf3\xf4ồốỗổ\xf5ṍȭṏōṑṓŏȯȱ\xf6ȫỏőǒȍȏơờớỡởợọộǫǭ\xf8ǿɔꝋꝍɵ"},{base:"oi",letters:"ƣ"},{base:"ou",letters:"ȣ"},{base:"oo",letters:"ꝏ"},{base:"p",letters:"pⓟpṕṗƥᵽꝑꝓꝕ"},{base:"q",letters:"qⓠqɋꝗꝙ"},{base:"r",letters:"rⓡrŕṙřȑȓṛṝŗṟɍɽꝛꞧꞃ"},{base:"s",letters:"sⓢs\xdfśṥŝṡšṧṣṩșşȿꞩꞅẛ"},{base:"t",letters:"tⓣtṫẗťṭțţṱṯŧƭʈⱦꞇ"},{base:"tz",letters:"ꜩ"},{base:"u",letters:"uⓤu\xf9\xfa\xfbũṹūṻŭ\xfcǜǘǖǚủůűǔȕȗưừứữửựụṳųṷṵʉ"},{base:"v",letters:"vⓥvṽṿʋꝟʌ"},{base:"vy",letters:"ꝡ"},{base:"w",letters:"wⓦwẁẃŵẇẅẘẉⱳ"},{base:"x",letters:"xⓧxẋẍ"},{base:"y",letters:"yⓨyỳ\xfdŷỹȳẏ\xffỷẙỵƴɏỿ"},{base:"z",letters:"zⓩzźẑżžẓẕƶȥɀⱬꝣ"}])for(let t of e.letters.split(""))c[t]=e.base;let b=e.lazyValue(()=>new t.Marked);exports.foxmd=function(e,{foxmdRendererOptions:t,markedInstance:
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),require("server-only");var e=require("foxts/lazy-value"),t=require("marked"),s=require("react"),r=require("html-entities"),l=require("foxts/fast-string-array-join"),a=require("fast-escape-regexp");let n=new Map([["bash","shell"],["zsh","shell"],["sh","shell"],["js","javascript"],["ts","typescript"],["py","python"],["yml","yaml"]]),i=/[\u0000-\u001F]/g,o=/[\s!"#$%&'()*+,./:;<=>?@[\\\]^_`{|}~-]+/g,c={};for(let e of[{base:"A",letters:"AⒶA\xc0\xc1\xc2ẦẤẪẨ\xc3ĀĂẰẮẴẲȦǠ\xc4ǞẢ\xc5ǺǍȀȂẠẬẶḀĄȺⱯ"},{base:"AA",letters:"Ꜳ"},{base:"AE",letters:"\xc6ǼǢ"},{base:"AO",letters:"Ꜵ"},{base:"AU",letters:"Ꜷ"},{base:"AV",letters:"ꜸꜺ"},{base:"AY",letters:"Ꜽ"},{base:"B",letters:"BⒷBḂḄḆɃƂƁ"},{base:"C",letters:"CⒸCĆĈĊČ\xc7ḈƇȻꜾ"},{base:"D",letters:"DⒹDḊĎḌḐḒḎĐƋƊƉꝹ"},{base:"DZ",letters:"DZDŽ"},{base:"Dz",letters:"DzDž"},{base:"E",letters:"EⒺE\xc8\xc9\xcaỀẾỄỂẼĒḔḖĔĖ\xcbẺĚȄȆẸỆȨḜĘḘḚƐƎ"},{base:"F",letters:"FⒻFḞƑꝻ"},{base:"G",letters:"GⒼGǴĜḠĞĠǦĢǤƓꞠꝽꝾ"},{base:"H",letters:"HⒽHĤḢḦȞḤḨḪĦⱧⱵꞍ"},{base:"I",letters:"IⒾI\xcc\xcd\xceĨĪĬİ\xcfḮỈǏȈȊỊĮḬƗ"},{base:"J",letters:"JⒿJĴɈ"},{base:"K",letters:"KⓀKḰǨḲĶḴƘⱩꝀꝂꝄꞢ"},{base:"L",letters:"LⓁLĿĹĽḶḸĻḼḺŁȽⱢⱠꝈꝆꞀ"},{base:"LJ",letters:"LJ"},{base:"Lj",letters:"Lj"},{base:"M",letters:"MⓂMḾṀṂⱮƜ"},{base:"N",letters:"NⓃNǸŃ\xd1ṄŇṆŅṊṈȠƝꞐꞤ"},{base:"NJ",letters:"NJ"},{base:"Nj",letters:"Nj"},{base:"O",letters:"OⓄO\xd2\xd3\xd4ỒỐỖỔ\xd5ṌȬṎŌṐṒŎȮȰ\xd6ȪỎŐǑȌȎƠỜỚỠỞỢỌỘǪǬ\xd8ǾƆƟꝊꝌ"},{base:"OI",letters:"Ƣ"},{base:"OO",letters:"Ꝏ"},{base:"OU",letters:"Ȣ"},{base:"OE",letters:"\x8cŒ"},{base:"oe",letters:"\x9cœ"},{base:"P",letters:"PⓅPṔṖƤⱣꝐꝒꝔ"},{base:"Q",letters:"QⓆQꝖꝘɊ"},{base:"R",letters:"RⓇRŔṘŘȐȒṚṜŖṞɌⱤꝚꞦꞂ"},{base:"S",letters:"SⓈSẞŚṤŜṠŠṦṢṨȘŞⱾꞨꞄ"},{base:"T",letters:"TⓉTṪŤṬȚŢṰṮŦƬƮȾꞆ"},{base:"TZ",letters:"Ꜩ"},{base:"U",letters:"UⓊU\xd9\xda\xdbŨṸŪṺŬ\xdcǛǗǕǙỦŮŰǓȔȖƯỪỨỮỬỰỤṲŲṶṴɄ"},{base:"V",letters:"VⓋVṼṾƲꝞɅ"},{base:"VY",letters:"Ꝡ"},{base:"W",letters:"WⓌWẀẂŴẆẄẈⱲ"},{base:"X",letters:"XⓍXẊẌ"},{base:"Y",letters:"YⓎYỲ\xddŶỸȲẎŸỶỴƳɎỾ"},{base:"Z",letters:"ZⓏZŹẐŻŽẒẔƵȤⱿⱫꝢ"},{base:"a",letters:"aⓐaẚ\xe0\xe1\xe2ầấẫẩ\xe3āăằắẵẳȧǡ\xe4ǟả\xe5ǻǎȁȃạậặḁąⱥɐ"},{base:"aa",letters:"ꜳ"},{base:"ae",letters:"\xe6ǽǣ"},{base:"ao",letters:"ꜵ"},{base:"au",letters:"ꜷ"},{base:"av",letters:"ꜹꜻ"},{base:"ay",letters:"ꜽ"},{base:"b",letters:"bⓑbḃḅḇƀƃɓ"},{base:"c",letters:"cⓒcćĉċč\xe7ḉƈȼꜿↄ"},{base:"d",letters:"dⓓdḋďḍḑḓḏđƌɖɗꝺ"},{base:"dz",letters:"dzdž"},{base:"e",letters:"eⓔe\xe8\xe9\xeaềếễểẽēḕḗĕė\xebẻěȅȇẹệȩḝęḙḛɇɛǝ"},{base:"f",letters:"fⓕfḟƒꝼ"},{base:"g",letters:"gⓖgǵĝḡğġǧģǥɠꞡᵹꝿ"},{base:"h",letters:"hⓗhĥḣḧȟḥḩḫẖħⱨⱶɥ"},{base:"hv",letters:"ƕ"},{base:"i",letters:"iⓘi\xec\xed\xeeĩīĭ\xefḯỉǐȉȋịįḭɨı"},{base:"j",letters:"jⓙjĵǰɉ"},{base:"k",letters:"kⓚkḱǩḳķḵƙⱪꝁꝃꝅꞣ"},{base:"l",letters:"lⓛlŀĺľḷḹļḽḻſłƚɫⱡꝉꞁꝇ"},{base:"lj",letters:"lj"},{base:"m",letters:"mⓜmḿṁṃɱɯ"},{base:"n",letters:"nⓝnǹń\xf1ṅňṇņṋṉƞɲʼnꞑꞥ"},{base:"nj",letters:"nj"},{base:"o",letters:"oⓞo\xf2\xf3\xf4ồốỗổ\xf5ṍȭṏōṑṓŏȯȱ\xf6ȫỏőǒȍȏơờớỡởợọộǫǭ\xf8ǿɔꝋꝍɵ"},{base:"oi",letters:"ƣ"},{base:"ou",letters:"ȣ"},{base:"oo",letters:"ꝏ"},{base:"p",letters:"pⓟpṕṗƥᵽꝑꝓꝕ"},{base:"q",letters:"qⓠqɋꝗꝙ"},{base:"r",letters:"rⓡrŕṙřȑȓṛṝŗṟɍɽꝛꞧꞃ"},{base:"s",letters:"sⓢs\xdfśṥŝṡšṧṣṩșşȿꞩꞅẛ"},{base:"t",letters:"tⓣtṫẗťṭțţṱṯŧƭʈⱦꞇ"},{base:"tz",letters:"ꜩ"},{base:"u",letters:"uⓤu\xf9\xfa\xfbũṹūṻŭ\xfcǜǘǖǚủůűǔȕȗưừứữửựụṳųṷṵʉ"},{base:"v",letters:"vⓥvṽṿʋꝟʌ"},{base:"vy",letters:"ꝡ"},{base:"w",letters:"wⓦwẁẃŵẇẅẘẉⱳ"},{base:"x",letters:"xⓧxẋẍ"},{base:"y",letters:"yⓨyỳ\xfdŷỹȳẏ\xffỷẙỵƴɏỿ"},{base:"z",letters:"zⓩzźẑżžẓẕƶȥɀⱬꝣ"}])for(let t of e.letters.split(""))c[t]=e.base;let b=e.lazyValue(()=>new t.Marked);exports.foxmd=function(e,{foxmdRendererOptions:t,foxmdParserOptions:d,markedInstance:u=b(),lexerOptions:p=function(e){return{gfm:!0,breaks:!0,tokenizer:e.defaults.tokenizer}}(u),isInline:m=!1}={}){let h=u.lexer(e,p),g=function(e,{UNSAFE_pickSingleImageChildOutOfParentParagraph:t=!1}={}){let s=new Map;function n(t=[]){e.elIdList.push(0);let s=t.map(t=>{switch(t.type){case"text":return e.incrementElId(),e.text(r.decode(t.text));case"strong":return e.incrementElId(),e.strong(n(t.tokens).jsx);case"em":return e.incrementElId(),e.em(n(t.tokens).jsx);case"del":return e.incrementElId(),e.del(n(t.tokens).jsx);case"codespan":return e.incrementElId(),e.codespan(r.decode(t.text));case"link":return e.incrementElId(),e.link(t.href,n(t.tokens).jsx,t.title??void 0);case"image":return e.incrementElId(),e.image(t.href,t.text,t.title);case"html":return e.incrementElId(),e.html(t.text);case"br":return e.incrementElId(),e.br();case"escape":return e.incrementElId(),e.text(t.text);default:return console.warn(`[foxmd] Token with "${t.type}" type was not found`),null}});return e.elIdList.pop(),{jsx:s,toc:[]}}return{parse:function b(d){let u=[];e.elIdList.push(0);let p=d.map(d=>{switch(d.type){case"space":return null;case"heading":{let t=d.depth,b=function e(t=[]){return l.fastStringArrayJoin(t.map(t=>{switch(t.type){case"text":case"codespan":return r.decode(t.text);case"strong":case"em":case"del":case"link":return e(t.tokens);case"image":case"html":case"br":case"escape":return"";default:return console.warn(`[foxmd] Token with "${t.type}" type was not found`),""}}),"-")}(d.tokens),p=function(e){if("string"!=typeof e)throw TypeError("str must be a string!");let t=a.escapeRegexp("-");return e.replaceAll(/[^\u0000-\u007E]/g,e=>c[e]||e).replaceAll(i,"").replaceAll(o,"-").replaceAll(RegExp(`${t}{2,}`,"g"),"-").replaceAll(RegExp(`^${t}+|${t}+$`,"g"),"").toLowerCase()}(b),m=1;return s.has(p)?(m=s.get(p)+1,s.set(p,m),p=p+"-"+m):s.set(p,m),u.push({text:b,id:p,level:t}),e.incrementElId(),e.heading(n(d.tokens).jsx,t,p)}case"paragraph":if(t&&d.tokens?.length===1&&"image"===d.tokens[0].type)return n(d.tokens).jsx;return e.incrementElId(),e.paragraph(n(d.tokens).jsx);case"text":return d.tokens?n(d.tokens).jsx:d.text;case"blockquote":{let t=b(d.tokens).jsx;return e.incrementElId(),e.blockquote(t)}case"list":{e.elIdList.push(0);let t=d.items.map(t=>{let s=[];return t.task&&(e.incrementElId(),s.push(e.checkbox(t.checked??!1))),s.push(b(t.tokens).jsx),e.incrementElId(),e.listItem(s)});return e.elIdList.pop(),e.incrementElId(),e.list(t,d.ordered,d.ordered?d.start:void 0)}case"code":return e.incrementElId(),e.code(d.text,d.lang);case"html":return e.incrementElId(),e.html(d.text);case"table":{e.elIdList.push(0);let t=d.header.map((t,s)=>e.tableCell(n(t.tokens).jsx,{header:!0,align:d.align[s]}));e.elIdList.pop(),e.incrementElId();let s=e.tableRow(t);e.incrementElId();let r=e.tableHeader(s);e.elIdList.push(0);let l=d.rows.map(t=>{e.elIdList.push(0);let s=t.map((t,s)=>e.tableCell(n(t.tokens).jsx,{header:!1,align:d.align[s]}));return e.elIdList.pop(),e.incrementElId(),e.tableRow(s)});e.elIdList.pop(),e.incrementElId();let a=e.tableBody(l);return e.incrementElId(),e.table([r,a])}case"hr":return e.incrementElId(),e.hr();default:return console.warn(`[foxmd] Token with "${d.type}" type was not found`),null}});return e.elIdList.pop(),{jsx:p,toc:u}},parseInline:n}}(function({suppressHydrationWarning:e=!1,specialImageSizeInTitleOrAlt:t=!0,customRenderMethods:r={},UNSAFE_allowHtml:l=!1}={}){return{...function(e,t,r){let l=[];function a(){return l.join("-")}function i(t,r=null,l={}){let n={key:"foxmd-"+a(),suppressHydrationWarning:e};return s.createElement(t,{...l,...n},r)}return{get elIdList(){return l},get elementId(){return a()},incrementElId(){l[l.length-1]+=1},heading:(e,t,s)=>i(`h${t}`,e,{id:s}),paragraph:e=>i("p",e),link:(e,t,s)=>((e.startsWith("javascript:")||e.startsWith("data:")||e.startsWith("vbscript:"))&&(e=""),i("a",t,{href:e,title:s,target:void 0})),image(e,s,r){let l,a;if(t){if(s.includes("|")){let[e,t]=s.split("|");t&&t.includes("x")&&([l,a]=t.split("x").map(e=>e.trim()),s=e)}(void 0===l||void 0===a)&&r?.includes("size:")&&(r=r.replace(/size:(\d+)x(\d+)/,(e,t,s)=>(l=t,a=s,"")))}return i("img",null,{src:e,alt:s,title:r,width:l,height:a})},codespan:(e,t=null)=>i("code",e,{className:t?`language-${t}`:void 0}),code(e,t=""){return i("pre",this.codespan(e,t),{"data-language":(n.has(t)?n.get(t):t).toUpperCase()})},blockquote:e=>i("blockquote",e),list:(e,t,s)=>i(t?"ol":"ul",e,t&&1!==s?{start:s}:{}),listItem:e=>i("li",e),checkbox:e=>i("input",null,{type:"checkbox",disabled:!0,checked:e}),table:e=>i("table",e),tableHeader:e=>i("thead",e),tableBody:e=>i("tbody",e),tableRow:e=>i("tr",e),tableCell:(e,t)=>i(t.header?"th":"td",e,{align:t.align}),strong:e=>i("strong",e),em:e=>i("em",e),del:e=>i("del",e),text:e=>e,html:e=>r?i("div",null,{dangerouslySetInnerHTML:{__html:e},style:{display:"contents"}}):e,hr:()=>i("hr"),br:()=>i("br")}}(e,t,l),...r}}(t),d);return m?g.parseInline(h):g.parse(h)};
|
package/dist/index.d.ts
CHANGED
|
@@ -50,14 +50,18 @@ interface FoxmdParserParseResult {
|
|
|
50
50
|
level: number;
|
|
51
51
|
}>;
|
|
52
52
|
}
|
|
53
|
+
interface FoxmdParserOptions {
|
|
54
|
+
UNSAFE_pickSingleImageChildOutOfParentParagraph?: boolean;
|
|
55
|
+
}
|
|
53
56
|
|
|
54
57
|
interface FoxmdOptions {
|
|
55
58
|
foxmdRendererOptions?: FoxmdRendererOptions;
|
|
59
|
+
foxmdParserOptions?: FoxmdParserOptions;
|
|
56
60
|
markedInstance?: Marked;
|
|
57
61
|
lexerOptions?: MarkedOptions;
|
|
58
62
|
isInline?: boolean;
|
|
59
63
|
}
|
|
60
|
-
declare function foxmd(markdownString: string, { foxmdRendererOptions, markedInstance, lexerOptions, isInline }?: FoxmdOptions): FoxmdParserParseResult;
|
|
64
|
+
declare function foxmd(markdownString: string, { foxmdRendererOptions, foxmdParserOptions, markedInstance, lexerOptions, isInline }?: FoxmdOptions): FoxmdParserParseResult;
|
|
61
65
|
|
|
62
66
|
export { foxmd };
|
|
63
67
|
export type { FoxmdOptions };
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import"server-only";import{lazyValue as e}from"foxts/lazy-value";import{Marked as t}from"marked";import{createElement as s}from"react";import{decode as r}from"html-entities";import{fastStringArrayJoin as l}from"foxts/fast-string-array-join";import{escapeRegexp as a}from"fast-escape-regexp";let n=new Map([["bash","shell"],["zsh","shell"],["sh","shell"],["js","javascript"],["ts","typescript"],["py","python"],["yml","yaml"]]),o=/[\u0000-\u001F]/g,i=/[\s!"#$%&'()*+,./:;<=>?@[\\\]^_`{|}~-]+/g,b={};for(let e of[{base:"A",letters:"AⒶA\xc0\xc1\xc2ẦẤẪẨ\xc3ĀĂẰẮẴẲȦǠ\xc4ǞẢ\xc5ǺǍȀȂẠẬẶḀĄȺⱯ"},{base:"AA",letters:"Ꜳ"},{base:"AE",letters:"\xc6ǼǢ"},{base:"AO",letters:"Ꜵ"},{base:"AU",letters:"Ꜷ"},{base:"AV",letters:"ꜸꜺ"},{base:"AY",letters:"Ꜽ"},{base:"B",letters:"BⒷBḂḄḆɃƂƁ"},{base:"C",letters:"CⒸCĆĈĊČ\xc7ḈƇȻꜾ"},{base:"D",letters:"DⒹDḊĎḌḐḒḎĐƋƊƉꝹ"},{base:"DZ",letters:"DZDŽ"},{base:"Dz",letters:"DzDž"},{base:"E",letters:"EⒺE\xc8\xc9\xcaỀẾỄỂẼĒḔḖĔĖ\xcbẺĚȄȆẸỆȨḜĘḘḚƐƎ"},{base:"F",letters:"FⒻFḞƑꝻ"},{base:"G",letters:"GⒼGǴĜḠĞĠǦĢǤƓꞠꝽꝾ"},{base:"H",letters:"HⒽHĤḢḦȞḤḨḪĦⱧⱵꞍ"},{base:"I",letters:"IⒾI\xcc\xcd\xceĨĪĬİ\xcfḮỈǏȈȊỊĮḬƗ"},{base:"J",letters:"JⒿJĴɈ"},{base:"K",letters:"KⓀKḰǨḲĶḴƘⱩꝀꝂꝄꞢ"},{base:"L",letters:"LⓁLĿĹĽḶḸĻḼḺŁȽⱢⱠꝈꝆꞀ"},{base:"LJ",letters:"LJ"},{base:"Lj",letters:"Lj"},{base:"M",letters:"MⓂMḾṀṂⱮƜ"},{base:"N",letters:"NⓃNǸŃ\xd1ṄŇṆŅṊṈȠƝꞐꞤ"},{base:"NJ",letters:"NJ"},{base:"Nj",letters:"Nj"},{base:"O",letters:"OⓄO\xd2\xd3\xd4ỒỐỖỔ\xd5ṌȬṎŌṐṒŎȮȰ\xd6ȪỎŐǑȌȎƠỜỚỠỞỢỌỘǪǬ\xd8ǾƆƟꝊꝌ"},{base:"OI",letters:"Ƣ"},{base:"OO",letters:"Ꝏ"},{base:"OU",letters:"Ȣ"},{base:"OE",letters:"\x8cŒ"},{base:"oe",letters:"\x9cœ"},{base:"P",letters:"PⓅPṔṖƤⱣꝐꝒꝔ"},{base:"Q",letters:"QⓆQꝖꝘɊ"},{base:"R",letters:"RⓇRŔṘŘȐȒṚṜŖṞɌⱤꝚꞦꞂ"},{base:"S",letters:"SⓈSẞŚṤŜṠŠṦṢṨȘŞⱾꞨꞄ"},{base:"T",letters:"TⓉTṪŤṬȚŢṰṮŦƬƮȾꞆ"},{base:"TZ",letters:"Ꜩ"},{base:"U",letters:"UⓊU\xd9\xda\xdbŨṸŪṺŬ\xdcǛǗǕǙỦŮŰǓȔȖƯỪỨỮỬỰỤṲŲṶṴɄ"},{base:"V",letters:"VⓋVṼṾƲꝞɅ"},{base:"VY",letters:"Ꝡ"},{base:"W",letters:"WⓌWẀẂŴẆẄẈⱲ"},{base:"X",letters:"XⓍXẊẌ"},{base:"Y",letters:"YⓎYỲ\xddŶỸȲẎŸỶỴƳɎỾ"},{base:"Z",letters:"ZⓏZŹẐŻŽẒẔƵȤⱿⱫꝢ"},{base:"a",letters:"aⓐaẚ\xe0\xe1\xe2ầấẫẩ\xe3āăằắẵẳȧǡ\xe4ǟả\xe5ǻǎȁȃạậặḁąⱥɐ"},{base:"aa",letters:"ꜳ"},{base:"ae",letters:"\xe6ǽǣ"},{base:"ao",letters:"ꜵ"},{base:"au",letters:"ꜷ"},{base:"av",letters:"ꜹꜻ"},{base:"ay",letters:"ꜽ"},{base:"b",letters:"bⓑbḃḅḇƀƃɓ"},{base:"c",letters:"cⓒcćĉċč\xe7ḉƈȼꜿↄ"},{base:"d",letters:"dⓓdḋďḍḑḓḏđƌɖɗꝺ"},{base:"dz",letters:"dzdž"},{base:"e",letters:"eⓔe\xe8\xe9\xeaềếễểẽēḕḗĕė\xebẻěȅȇẹệȩḝęḙḛɇɛǝ"},{base:"f",letters:"fⓕfḟƒꝼ"},{base:"g",letters:"gⓖgǵĝḡğġǧģǥɠꞡᵹꝿ"},{base:"h",letters:"hⓗhĥḣḧȟḥḩḫẖħⱨⱶɥ"},{base:"hv",letters:"ƕ"},{base:"i",letters:"iⓘi\xec\xed\xeeĩīĭ\xefḯỉǐȉȋịįḭɨı"},{base:"j",letters:"jⓙjĵǰɉ"},{base:"k",letters:"kⓚkḱǩḳķḵƙⱪꝁꝃꝅꞣ"},{base:"l",letters:"lⓛlŀĺľḷḹļḽḻſłƚɫⱡꝉꞁꝇ"},{base:"lj",letters:"lj"},{base:"m",letters:"mⓜmḿṁṃɱɯ"},{base:"n",letters:"nⓝnǹń\xf1ṅňṇņṋṉƞɲʼnꞑꞥ"},{base:"nj",letters:"nj"},{base:"o",letters:"oⓞo\xf2\xf3\xf4ồốỗổ\xf5ṍȭṏōṑṓŏȯȱ\xf6ȫỏőǒȍȏơờớỡởợọộǫǭ\xf8ǿɔꝋꝍɵ"},{base:"oi",letters:"ƣ"},{base:"ou",letters:"ȣ"},{base:"oo",letters:"ꝏ"},{base:"p",letters:"pⓟpṕṗƥᵽꝑꝓꝕ"},{base:"q",letters:"qⓠqɋꝗꝙ"},{base:"r",letters:"rⓡrŕṙřȑȓṛṝŗṟɍɽꝛꞧꞃ"},{base:"s",letters:"sⓢs\xdfśṥŝṡšṧṣṩșşȿꞩꞅẛ"},{base:"t",letters:"tⓣtṫẗťṭțţṱṯŧƭʈⱦꞇ"},{base:"tz",letters:"ꜩ"},{base:"u",letters:"uⓤu\xf9\xfa\xfbũṹūṻŭ\xfcǜǘǖǚủůűǔȕȗưừứữửựụṳųṷṵʉ"},{base:"v",letters:"vⓥvṽṿʋꝟʌ"},{base:"vy",letters:"ꝡ"},{base:"w",letters:"wⓦwẁẃŵẇẅẘẉⱳ"},{base:"x",letters:"xⓧxẋẍ"},{base:"y",letters:"yⓨyỳ\xfdŷỹȳẏ\xffỷẙỵƴɏỿ"},{base:"z",letters:"zⓩzźẑżžẓẕƶȥɀⱬꝣ"}])for(let t of e.letters.split(""))b[t]=e.base;let c=e(()=>new t);function d(e,{foxmdRendererOptions:t,markedInstance:
|
|
1
|
+
import"server-only";import{lazyValue as e}from"foxts/lazy-value";import{Marked as t}from"marked";import{createElement as s}from"react";import{decode as r}from"html-entities";import{fastStringArrayJoin as l}from"foxts/fast-string-array-join";import{escapeRegexp as a}from"fast-escape-regexp";let n=new Map([["bash","shell"],["zsh","shell"],["sh","shell"],["js","javascript"],["ts","typescript"],["py","python"],["yml","yaml"]]),o=/[\u0000-\u001F]/g,i=/[\s!"#$%&'()*+,./:;<=>?@[\\\]^_`{|}~-]+/g,b={};for(let e of[{base:"A",letters:"AⒶA\xc0\xc1\xc2ẦẤẪẨ\xc3ĀĂẰẮẴẲȦǠ\xc4ǞẢ\xc5ǺǍȀȂẠẬẶḀĄȺⱯ"},{base:"AA",letters:"Ꜳ"},{base:"AE",letters:"\xc6ǼǢ"},{base:"AO",letters:"Ꜵ"},{base:"AU",letters:"Ꜷ"},{base:"AV",letters:"ꜸꜺ"},{base:"AY",letters:"Ꜽ"},{base:"B",letters:"BⒷBḂḄḆɃƂƁ"},{base:"C",letters:"CⒸCĆĈĊČ\xc7ḈƇȻꜾ"},{base:"D",letters:"DⒹDḊĎḌḐḒḎĐƋƊƉꝹ"},{base:"DZ",letters:"DZDŽ"},{base:"Dz",letters:"DzDž"},{base:"E",letters:"EⒺE\xc8\xc9\xcaỀẾỄỂẼĒḔḖĔĖ\xcbẺĚȄȆẸỆȨḜĘḘḚƐƎ"},{base:"F",letters:"FⒻFḞƑꝻ"},{base:"G",letters:"GⒼGǴĜḠĞĠǦĢǤƓꞠꝽꝾ"},{base:"H",letters:"HⒽHĤḢḦȞḤḨḪĦⱧⱵꞍ"},{base:"I",letters:"IⒾI\xcc\xcd\xceĨĪĬİ\xcfḮỈǏȈȊỊĮḬƗ"},{base:"J",letters:"JⒿJĴɈ"},{base:"K",letters:"KⓀKḰǨḲĶḴƘⱩꝀꝂꝄꞢ"},{base:"L",letters:"LⓁLĿĹĽḶḸĻḼḺŁȽⱢⱠꝈꝆꞀ"},{base:"LJ",letters:"LJ"},{base:"Lj",letters:"Lj"},{base:"M",letters:"MⓂMḾṀṂⱮƜ"},{base:"N",letters:"NⓃNǸŃ\xd1ṄŇṆŅṊṈȠƝꞐꞤ"},{base:"NJ",letters:"NJ"},{base:"Nj",letters:"Nj"},{base:"O",letters:"OⓄO\xd2\xd3\xd4ỒỐỖỔ\xd5ṌȬṎŌṐṒŎȮȰ\xd6ȪỎŐǑȌȎƠỜỚỠỞỢỌỘǪǬ\xd8ǾƆƟꝊꝌ"},{base:"OI",letters:"Ƣ"},{base:"OO",letters:"Ꝏ"},{base:"OU",letters:"Ȣ"},{base:"OE",letters:"\x8cŒ"},{base:"oe",letters:"\x9cœ"},{base:"P",letters:"PⓅPṔṖƤⱣꝐꝒꝔ"},{base:"Q",letters:"QⓆQꝖꝘɊ"},{base:"R",letters:"RⓇRŔṘŘȐȒṚṜŖṞɌⱤꝚꞦꞂ"},{base:"S",letters:"SⓈSẞŚṤŜṠŠṦṢṨȘŞⱾꞨꞄ"},{base:"T",letters:"TⓉTṪŤṬȚŢṰṮŦƬƮȾꞆ"},{base:"TZ",letters:"Ꜩ"},{base:"U",letters:"UⓊU\xd9\xda\xdbŨṸŪṺŬ\xdcǛǗǕǙỦŮŰǓȔȖƯỪỨỮỬỰỤṲŲṶṴɄ"},{base:"V",letters:"VⓋVṼṾƲꝞɅ"},{base:"VY",letters:"Ꝡ"},{base:"W",letters:"WⓌWẀẂŴẆẄẈⱲ"},{base:"X",letters:"XⓍXẊẌ"},{base:"Y",letters:"YⓎYỲ\xddŶỸȲẎŸỶỴƳɎỾ"},{base:"Z",letters:"ZⓏZŹẐŻŽẒẔƵȤⱿⱫꝢ"},{base:"a",letters:"aⓐaẚ\xe0\xe1\xe2ầấẫẩ\xe3āăằắẵẳȧǡ\xe4ǟả\xe5ǻǎȁȃạậặḁąⱥɐ"},{base:"aa",letters:"ꜳ"},{base:"ae",letters:"\xe6ǽǣ"},{base:"ao",letters:"ꜵ"},{base:"au",letters:"ꜷ"},{base:"av",letters:"ꜹꜻ"},{base:"ay",letters:"ꜽ"},{base:"b",letters:"bⓑbḃḅḇƀƃɓ"},{base:"c",letters:"cⓒcćĉċč\xe7ḉƈȼꜿↄ"},{base:"d",letters:"dⓓdḋďḍḑḓḏđƌɖɗꝺ"},{base:"dz",letters:"dzdž"},{base:"e",letters:"eⓔe\xe8\xe9\xeaềếễểẽēḕḗĕė\xebẻěȅȇẹệȩḝęḙḛɇɛǝ"},{base:"f",letters:"fⓕfḟƒꝼ"},{base:"g",letters:"gⓖgǵĝḡğġǧģǥɠꞡᵹꝿ"},{base:"h",letters:"hⓗhĥḣḧȟḥḩḫẖħⱨⱶɥ"},{base:"hv",letters:"ƕ"},{base:"i",letters:"iⓘi\xec\xed\xeeĩīĭ\xefḯỉǐȉȋịįḭɨı"},{base:"j",letters:"jⓙjĵǰɉ"},{base:"k",letters:"kⓚkḱǩḳķḵƙⱪꝁꝃꝅꞣ"},{base:"l",letters:"lⓛlŀĺľḷḹļḽḻſłƚɫⱡꝉꞁꝇ"},{base:"lj",letters:"lj"},{base:"m",letters:"mⓜmḿṁṃɱɯ"},{base:"n",letters:"nⓝnǹń\xf1ṅňṇņṋṉƞɲʼnꞑꞥ"},{base:"nj",letters:"nj"},{base:"o",letters:"oⓞo\xf2\xf3\xf4ồốỗổ\xf5ṍȭṏōṑṓŏȯȱ\xf6ȫỏőǒȍȏơờớỡởợọộǫǭ\xf8ǿɔꝋꝍɵ"},{base:"oi",letters:"ƣ"},{base:"ou",letters:"ȣ"},{base:"oo",letters:"ꝏ"},{base:"p",letters:"pⓟpṕṗƥᵽꝑꝓꝕ"},{base:"q",letters:"qⓠqɋꝗꝙ"},{base:"r",letters:"rⓡrŕṙřȑȓṛṝŗṟɍɽꝛꞧꞃ"},{base:"s",letters:"sⓢs\xdfśṥŝṡšṧṣṩșşȿꞩꞅẛ"},{base:"t",letters:"tⓣtṫẗťṭțţṱṯŧƭʈⱦꞇ"},{base:"tz",letters:"ꜩ"},{base:"u",letters:"uⓤu\xf9\xfa\xfbũṹūṻŭ\xfcǜǘǖǚủůűǔȕȗưừứữửựụṳųṷṵʉ"},{base:"v",letters:"vⓥvṽṿʋꝟʌ"},{base:"vy",letters:"ꝡ"},{base:"w",letters:"wⓦwẁẃŵẇẅẘẉⱳ"},{base:"x",letters:"xⓧxẋẍ"},{base:"y",letters:"yⓨyỳ\xfdŷỹȳẏ\xffỷẙỵƴɏỿ"},{base:"z",letters:"zⓩzźẑżžẓẕƶȥɀⱬꝣ"}])for(let t of e.letters.split(""))b[t]=e.base;let c=e(()=>new t);function d(e,{foxmdRendererOptions:t,foxmdParserOptions:u,markedInstance:p=c(),lexerOptions:m=function(e){return{gfm:!0,breaks:!0,tokenizer:e.defaults.tokenizer}}(p),isInline:h=!1}={}){let g=p.lexer(e,m),x=function(e,{UNSAFE_pickSingleImageChildOutOfParentParagraph:t=!1}={}){let s=new Map;function n(t=[]){e.elIdList.push(0);let s=t.map(t=>{switch(t.type){case"text":return e.incrementElId(),e.text(r(t.text));case"strong":return e.incrementElId(),e.strong(n(t.tokens).jsx);case"em":return e.incrementElId(),e.em(n(t.tokens).jsx);case"del":return e.incrementElId(),e.del(n(t.tokens).jsx);case"codespan":return e.incrementElId(),e.codespan(r(t.text));case"link":return e.incrementElId(),e.link(t.href,n(t.tokens).jsx,t.title??void 0);case"image":return e.incrementElId(),e.image(t.href,t.text,t.title);case"html":return e.incrementElId(),e.html(t.text);case"br":return e.incrementElId(),e.br();case"escape":return e.incrementElId(),e.text(t.text);default:return console.warn(`[foxmd] Token with "${t.type}" type was not found`),null}});return e.elIdList.pop(),{jsx:s,toc:[]}}return{parse:function c(d){let u=[];e.elIdList.push(0);let p=d.map(d=>{switch(d.type){case"space":return null;case"heading":{let t=d.depth,c=function e(t=[]){return l(t.map(t=>{switch(t.type){case"text":case"codespan":return r(t.text);case"strong":case"em":case"del":case"link":return e(t.tokens);case"image":case"html":case"br":case"escape":return"";default:return console.warn(`[foxmd] Token with "${t.type}" type was not found`),""}}),"-")}(d.tokens),p=function(e){if("string"!=typeof e)throw TypeError("str must be a string!");let t=a("-");return e.replaceAll(/[^\u0000-\u007E]/g,e=>b[e]||e).replaceAll(o,"").replaceAll(i,"-").replaceAll(RegExp(`${t}{2,}`,"g"),"-").replaceAll(RegExp(`^${t}+|${t}+$`,"g"),"").toLowerCase()}(c),m=1;return s.has(p)?(m=s.get(p)+1,s.set(p,m),p=p+"-"+m):s.set(p,m),u.push({text:c,id:p,level:t}),e.incrementElId(),e.heading(n(d.tokens).jsx,t,p)}case"paragraph":if(t&&d.tokens?.length===1&&"image"===d.tokens[0].type)return n(d.tokens).jsx;return e.incrementElId(),e.paragraph(n(d.tokens).jsx);case"text":return d.tokens?n(d.tokens).jsx:d.text;case"blockquote":{let t=c(d.tokens).jsx;return e.incrementElId(),e.blockquote(t)}case"list":{e.elIdList.push(0);let t=d.items.map(t=>{let s=[];return t.task&&(e.incrementElId(),s.push(e.checkbox(t.checked??!1))),s.push(c(t.tokens).jsx),e.incrementElId(),e.listItem(s)});return e.elIdList.pop(),e.incrementElId(),e.list(t,d.ordered,d.ordered?d.start:void 0)}case"code":return e.incrementElId(),e.code(d.text,d.lang);case"html":return e.incrementElId(),e.html(d.text);case"table":{e.elIdList.push(0);let t=d.header.map((t,s)=>e.tableCell(n(t.tokens).jsx,{header:!0,align:d.align[s]}));e.elIdList.pop(),e.incrementElId();let s=e.tableRow(t);e.incrementElId();let r=e.tableHeader(s);e.elIdList.push(0);let l=d.rows.map(t=>{e.elIdList.push(0);let s=t.map((t,s)=>e.tableCell(n(t.tokens).jsx,{header:!1,align:d.align[s]}));return e.elIdList.pop(),e.incrementElId(),e.tableRow(s)});e.elIdList.pop(),e.incrementElId();let a=e.tableBody(l);return e.incrementElId(),e.table([r,a])}case"hr":return e.incrementElId(),e.hr();default:return console.warn(`[foxmd] Token with "${d.type}" type was not found`),null}});return e.elIdList.pop(),{jsx:p,toc:u}},parseInline:n}}(function({suppressHydrationWarning:e=!1,specialImageSizeInTitleOrAlt:t=!0,customRenderMethods:r={},UNSAFE_allowHtml:l=!1}={}){return{...function(e,t,r){let l=[];function a(){return l.join("-")}function o(t,r=null,l={}){let n={key:"foxmd-"+a(),suppressHydrationWarning:e};return s(t,{...l,...n},r)}return{get elIdList(){return l},get elementId(){return a()},incrementElId(){l[l.length-1]+=1},heading:(e,t,s)=>o(`h${t}`,e,{id:s}),paragraph:e=>o("p",e),link:(e,t,s)=>((e.startsWith("javascript:")||e.startsWith("data:")||e.startsWith("vbscript:"))&&(e=""),o("a",t,{href:e,title:s,target:void 0})),image(e,s,r){let l,a;if(t){if(s.includes("|")){let[e,t]=s.split("|");t&&t.includes("x")&&([l,a]=t.split("x").map(e=>e.trim()),s=e)}(void 0===l||void 0===a)&&r?.includes("size:")&&(r=r.replace(/size:(\d+)x(\d+)/,(e,t,s)=>(l=t,a=s,"")))}return o("img",null,{src:e,alt:s,title:r,width:l,height:a})},codespan:(e,t=null)=>o("code",e,{className:t?`language-${t}`:void 0}),code(e,t=""){return o("pre",this.codespan(e,t),{"data-language":(n.has(t)?n.get(t):t).toUpperCase()})},blockquote:e=>o("blockquote",e),list:(e,t,s)=>o(t?"ol":"ul",e,t&&1!==s?{start:s}:{}),listItem:e=>o("li",e),checkbox:e=>o("input",null,{type:"checkbox",disabled:!0,checked:e}),table:e=>o("table",e),tableHeader:e=>o("thead",e),tableBody:e=>o("tbody",e),tableRow:e=>o("tr",e),tableCell:(e,t)=>o(t.header?"th":"td",e,{align:t.align}),strong:e=>o("strong",e),em:e=>o("em",e),del:e=>o("del",e),text:e=>e,html:e=>r?o("div",null,{dangerouslySetInnerHTML:{__html:e},style:{display:"contents"}}):e,hr:()=>o("hr"),br:()=>o("br")}}(e,t,l),...r}}(t),u);return h?x.parseInline(g):x.parse(g)}export{d as foxmd};
|