crossnote 0.8.11 → 0.8.12
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/out/cjs/index.cjs
CHANGED
|
@@ -326,7 +326,7 @@ ${e}`}var Ie=class{constructor(){this.map={}}addReference(t,n,a){if(t===n&&!a){t
|
|
|
326
326
|
`;let p="";for(let u=0;u<l-1;u++)p+=`
|
|
327
327
|
`;s.push(`<div class="line-highlight-wrapper">${p}<div aria-hidden="true" class="line-highlight" data-range="${l}-${d}" data-start="${l}" data-end="${d}">${c}</div></div>`)}else{let l="",d=parseInt(o,10);if(isNaN(d)||d<0||d>r)return;for(let c=0;c<d-1;c++)l+=`
|
|
328
328
|
`;s.push(`<div class="line-highlight-wrapper">${l}<div aria-hidden="true" class="line-highlight" data-range="${o}" data-start="${o}">
|
|
329
|
-
</div></div>`)}}),e.append(s.join("")),e.attr("data-line",n.join(","))}var Da=require("path");async function it(e,t,n){let a=[];e("img").each((r,s)=>{let o=e(s),l=n(o.attr("src"),!1);if(l.match(/^(file|vscode-resource):\/\/+/)){l=ee(l),l=l.replace(/\?(\.|\d)+$/,"");let c=(0,Da.extname)(l).slice(1);if(c==="svg")return;a.push(new Promise(p=>{t.fs.readFile(decodeURI(l),"base64").then(u=>(o.attr("src",`data:image/${c};charset=utf-8;base64,${u}`),p(u))).catch(()
|
|
329
|
+
</div></div>`)}}),e.append(s.join("")),e.attr("data-line",n.join(","))}var Da=require("path");async function it(e,t,n){let a=[];e("img").each((r,s)=>{let o=e(s),l=n(o.attr("src"),!1);if(l.match(/^(file|vscode-resource):\/\/+/)){l=ee(l),l=l.replace(/\?(\.|\d)+$/,"");let c=(0,Da.extname)(l).slice(1);if(c==="svg")return;a.push(new Promise(p=>{t.fs.readFile(decodeURI(l),"base64").then(u=>(o.attr("src",`data:image/${c};charset=utf-8;base64,${u}`),p(u))).catch(u=>(console.error(u),p(null)))}))}}),await Promise.all(a)}var Pa=require("path");async function Ct(e,t,n){let a=[];e("img").each((r,s)=>{let o=e(s),l=n(o.attr("src"),!1);if(l.match(/^(file|vscode-resource):\/\/+/)){if(l=ee(l),l=l.replace(/\?(\.|\d)+$/,""),(0,Pa.extname)(l).slice(1)!=="svg")return;a.push(new Promise(p=>{t.fs.readFile(decodeURI(l),"base64").then(u=>(o.attr("src",`data:image/svg+xml;charset=utf-8;base64,${u}`),p(u))).catch(()=>p(null))}))}}),await Promise.all(a)}async function Ot(e){let t=[],n=[],a=[];e("table").each((r,s)=>{let o=e(s),l=null;o.children().each((d,c)=>{e(c).children().each((u,b)=>{let S=e(b);S.children().each((g,m)=>{let f=e(m),h=f.text();if(h.length){if(h.trim()==="^"&&l){let E=e(l.children()[g]);E.length&&t.push([E,f])}else if(h.trim()===">"){let E=f.next();E.length&&n.push([f,E])}}else{let E=f.prev();E.length&&a.push([E,f])}}),l=S})})});for(let r=t.length-1;r>=0;r--){let[s,o]=t[r],l=(parseInt(s.attr("rowspan"),10)||1)+(parseInt(o.attr("rowspan"),10)||1);s.attr("rowspan",l.toString()),o.remove()}for(let r=0;r<n.length;r++){let[s,o]=n[r],l=(parseInt(s.attr("colspan"),10)||1)+(parseInt(o.attr("colspan"),10)||1);o.attr("colspan",l.toString()),s.remove()}for(let r=a.length-1;r>=0;r--){let[s,o]=a[r],l=(parseInt(s.attr("colspan"),10)||1)+(parseInt(o.attr("colspan"),10)||1);s.attr("colspan",l.toString()),o.remove()}}var Ma=require("html-escaper");async function xt(e,t,n,a){let r=[],s=[];e('[data-role="codeBlock"]').each((o,l)=>{let d=e(l);if(d.data("executor"))return;let c=d.data("normalizedInfo");c.attributes.cmd&&(d.data("executor","fenced-code-chunks"),r.push(Gr(d,c,e,t,s,n,a)))}),await Promise.all(r)}async function Gr(e,t,n,a,r,s,o){let l=e.text(),d=t.attributes.id||"code-chunk-id-"+r.length,c=ke(t),p=["js","javascript"].indexOf(c)!==-1,u=n('<div class="code-chunk"></div>');u.attr("data-id",d),u.attr("data-cmd",c),p&&u.attr("data-code",l),e.replaceWith(u);let b=n('<div class="input-div"/>');b.append(e),u.append(b);let S=a[d],g=r.length?r[r.length-1].id:"";S?(S.code=l,S.normalizedInfo=t,S.prev=g):(S={id:d,code:l,normalizedInfo:t,result:"",plainResult:"",running:!1,prev:g,next:null},a[d]=S),g&&a[g]&&(a[g].next=d),r.push(S),s.triggeredBySave&&t.attributes.run_on_save&&await ot(d,a,o);let m=S.result;!m&&S.normalizedInfo.attributes.element&&(m=S.normalizedInfo.attributes.element,S.result=m),S.running&&u.addClass("running");let f='<div class="status">running...</div>',h='<div class="btn-group"><div class="run-btn btn"><span>\u25B6\uFE0E</span></div><div class="run-all-btn btn">all</div></div>',E=`<div class="output-div">${m}</div>`;!s.isForPreview&&p&&(E+=`<script>${l}</script>`,m=S.normalizedInfo.attributes.element||""),b.append(h),b.append(f),t.attributes.output_first===!0?u.prepend(E):u.append(E)}async function ot(e,t,n){let{headings:a,enableScriptExecution:r,filePath:s,fileDirectoryPath:o,latexEngine:l,modifySource:d,parseMD:c}=n,p=t[e];if(!p||p.running)return"";let u=[p.code],b=p;for(;b.normalizedInfo.attributes.continue;){let E=b.normalizedInfo.attributes.continue;if(E===!0&&(E=b.prev),b=t[E],!b)break;u.unshift(b.code)}let S=u.join(`
|
|
330
330
|
`),g=ke(p.normalizedInfo);p.running=!0;let m,f="text",h=p.normalizedInfo.attributes.modify_source;try{let E=p.normalizedInfo.attributes;if(g==="toc")m=me(a,{ordered:E.ordered_list,depthFrom:E.depth_from,depthTo:E.depth_to,tab:E.tab||" ",ignoreLink:E.ignore_link}).content,f="markdown",h=!0;else{if(!r)return"";m=await An(S,o,g,p.normalizedInfo.attributes,l)}if(p.plainResult=m,h&&"code_chunk_offset"in p.normalizedInfo.attributes)return p.result="",d(p,m,s);if(g.match(/(la)?tex/)||g==="pdflatex"||g.match(/python/)&&(E.matplotlib||E.mpl)?f="markdown":p.normalizedInfo.attributes.output&&(f=p.normalizedInfo.attributes.output),!m)m="";else if(f!=="html")if(f==="png")m=`<img src="data:image/png;charset=utf-8;base64,${new Buffer(m).toString("base64")}">`;else if(f==="markdown"){let{html:A}=await c(m,{useRelativeFilePath:!0,isForPreview:!1,hideFrontMatter:!0});m=A}else f==="none"?m="":m=`<pre class="language-text">${(0,Ma.escape)(m)}</pre>`}catch(E){m=`<pre class="language-text">${E}</pre>`}return p.result=m,p.running=!1,m}async function Lt(e,t){let n=[];for(let a in e)e.hasOwnProperty(a)&&n.push(ot(a,e,t));return Promise.all(n)}var Fa=N(require("cross-fetch")),Ua=require("html-escaper"),Ba=N(require("yaml"));var st=(e,t)=>{let n=e.class||"";return n.split(" ").indexOf(t)===-1?{...e,class:`${n} ${t}`.trim()}:e},zr=["mermaid","puml","plantuml","wavedrom","graphviz","viz","dot","vega","vega-lite"];async function Dt({$:e,graphsCache:t,fileDirectoryPath:n,imageDirectoryPath:a,plantumlServer:r,plantumlJarPath:s,kirokiServer:o}){let l=[];e('[data-role="codeBlock"]').each((d,c)=>{let p=e(c);if(p.data("executor"))return;let u=p.data("normalizedInfo"),b=!!u.attributes.kroki;u.attributes.literate===!1||u.attributes.cmd===!1||zr.indexOf(u.language)===-1&&!b||(p.data("executor","fenced-diagrams"),u.attributes.literate!==!1&&l.push(Hr({$container:p,normalizedInfo:u,$:e,graphsCache:t,fileDirectoryPath:n,imageDirectoryPath:a,plantumlServer:r,plantumlJarPath:s,isKroki:b,kirokiServer:o})))}),await Promise.all(l)}async function Hr({$container:e,normalizedInfo:t,$:n,graphsCache:a,fileDirectoryPath:r,plantumlServer:s,plantumlJarPath:o,isKroki:l,kirokiServer:d}){let c=null,p=e.text(),u=Z(JSON.stringify(t)+p),b=a[u];if(l)if(b)c=b;else{let S=d||"https://kroki.io",g=typeof t.attributes.kroki=="string"?t.attributes.kroki:t.language;try{let f=await(await(0,Fa.default)(`${S}/${g}/${t.attributes.output??"svg"}`,{method:"POST",body:p,headers:{"Content-Type":"text/plain; charset=utf-8"}})).text();c=`<div ${Y(st(t.attributes,t.language))}>${f}</div>`,a[u]=c}catch(m){c=`<pre class="language-text">${m}</pre>`}}else try{switch(t.language){case"mermaid":{c=`<div ${Y(st(t.attributes,t.language))}>${(0,Ua.escape)(p)}</div>`;break}case"wavedrom":{c=`<div ${Y(st(t.attributes,t.language))}><script type="WaveDrom">${p}</script></div>`;break}case"puml":case"plantuml":{let S=b;S||(S=await $e({content:p,fileDirectoryPath:r,serverURL:s,plantumlJarPath:o}),a[u]=S),c=`<p ${Y(t.attributes)}>${S}</p>`;break}case"graphviz":case"viz":case"dot":{let S=b;if(!S){let g=t.attributes.engine||"dot";S=await je(p,{engine:g}),a[u]=S}c=`<p ${Y(t.attributes)}>${S}</p>`;break}case"vega":case"vega-lite":{if(t.attributes.interactive===!0){let S=p.trim(),g;S[0]!=="{"?g=Ba.parse(S):g=JSON.parse(S),c=jr(JSON.stringify(g).replace("<","<"),t.attributes,t.language)}else{let S=b;S||(S=await(t.language==="vega"?fe:ze)(p,r),a[u]=S),c=`<p ${Y(t.attributes)}>${S}</p>`}break}}}catch(S){c=n(`<pre class="language-text">${S.toString()}</pre>`)}c!==null&&(t.attributes.output_first===!0?e.before(c):e.after(c)),t.attributes.hide!==!1&&t.attributes.code_block!==!0&&e.data("hiddenByEnhancer",!0)}var jr=(e,t,n)=>`<p ${Y(st(t,n))}><span style="display: none">${e}</span></p>`;var Wr=["math"];async function Pt(e,t,n,a){return e('[data-role="codeBlock"]').each((r,s)=>{let o=e(s);if(o.data("executor"))return;let l=o.data("normalizedInfo");if(l.attributes.literate===!1||l.attributes.cmd===!1||Wr.indexOf(l.language)===-1||(o.data("executor","math"),l.attributes.literate===!1))return;let d=o.text(),c=Vr(d,l,t,n,a);l.attributes.output_first===!0?o.before(c):o.after(c),l.attributes.hide!==!1&&o.data("hiddenByEnhancer",!0)}),e}var Vr=(e,t,n,a,r)=>{let s=null;try{let o=Ye({content:e,displayMode:!0,openTag:a.length?a[0][0]:"",closeTag:a.length?a[0][1]:"",renderingOption:n,katexConfig:r});s=`<p ${Y(t.attributes)}>${o}</p>`}catch(o){s=`<pre class="language-text">${o.toString()}</pre>`}return s};async function Mt(e,t,n,a){e("img, a").each((r,s)=>{let o="src";s.name==="a"&&(o="href");let l=e(s),d=l.attr(o);if(t.isForPreview&&s.name!=="a"&&l.parent().prev().hasClass("sync-line")){let c=parseInt(l.parent().prev().attr("data-line"),10);c&&l.parent().after(`<p data-line="${c+1}" class="sync-line" style="margin:0;"></p>`)}l.attr(o,n(d,t.useRelativeFilePath,t.fileDirectoryPath))}),a||e(".crossnote-header").each((r,s)=>{let o=s.attribs.class,l=s.attribs.id,d=e(s),c=d.prev();c.addClass(o),c.attr("id",encodeURIComponent(l)),d.remove()})}var $a=[{key:"vega-embed",version:"6.22.2"}],pe=class pe{constructor({filePath:t,notebook:n}){this.graphsCache={};this.codeChunksData={};this.filesCache={};this.isPreviewInPresentationMode=!1;this.filePath=t,this.notebook=n,this.fileDirectoryPath=R.dirname(this.filePath),this.projectDirectoryPath=this.notebook.notebookPath||this.fileDirectoryPath,this.fs=this.notebook.fs,this.headings=[],this.tocHTML=""}get protocolsWhiteListRegExp(){let t=(this.notebook.config.protocolsWhiteList??ce().protocolsWhiteList??"").split(",").map(n=>n.trim());return new RegExp("^("+t.join("|")+")")}cacheCodeChunkResult(t,n){let a=this.codeChunksData[t];a&&(a.result=Ut.default.AES.decrypt(n,"crossnote").toString(Ut.default.enc.Utf8))}generateScriptsForPreview(t=!1,n={},a=null){let r="";if(r+="<script>var exports = undefined</script>",r+=`<script type="text/javascript" src="${V(R.resolve(B(),"./dependencies/mermaid/mermaid.min.js"),a)}" charset="UTF-8"></script>`,r+=`<script type="module">
|
|
331
331
|
import zenuml from 'https://cdn.jsdelivr.net/npm/@mermaid-js/mermaid-zenuml@0.1.0/dist/mermaid-zenuml.esm.min.mjs';
|
|
332
332
|
await mermaid.registerExternalDiagrams([zenuml]);
|
package/out/esm/index.mjs
CHANGED
|
@@ -326,7 +326,7 @@ ${e}`}var we=class{constructor(){this.map={}}addReference(t,n,a){if(t===n&&!a){t
|
|
|
326
326
|
`;let c="";for(let g=0;g<l-1;g++)c+=`
|
|
327
327
|
`;s.push(`<div class="line-highlight-wrapper">${c}<div aria-hidden="true" class="line-highlight" data-range="${l}-${d}" data-start="${l}" data-end="${d}">${p}</div></div>`)}else{let l="",d=parseInt(o,10);if(isNaN(d)||d<0||d>r)return;for(let p=0;p<d-1;p++)l+=`
|
|
328
328
|
`;s.push(`<div class="line-highlight-wrapper">${l}<div aria-hidden="true" class="line-highlight" data-range="${o}" data-start="${o}">
|
|
329
|
-
</div></div>`)}}),e.append(s.join("")),e.attr("data-line",n.join(","))}import{extname as xr}from"path";async function Ye(e,t,n){let a=[];e("img").each((r,s)=>{let o=e(s),l=n(o.attr("src"),!1);if(l.match(/^(file|vscode-resource):\/\/+/)){l=Q(l),l=l.replace(/\?(\.|\d)+$/,"");let p=xr(l).slice(1);if(p==="svg")return;a.push(new Promise(c=>{t.fs.readFile(decodeURI(l),"base64").then(g=>(o.attr("src",`data:image/${p};charset=utf-8;base64,${g}`),c(g))).catch(()
|
|
329
|
+
</div></div>`)}}),e.append(s.join("")),e.attr("data-line",n.join(","))}import{extname as xr}from"path";async function Ye(e,t,n){let a=[];e("img").each((r,s)=>{let o=e(s),l=n(o.attr("src"),!1);if(l.match(/^(file|vscode-resource):\/\/+/)){l=Q(l),l=l.replace(/\?(\.|\d)+$/,"");let p=xr(l).slice(1);if(p==="svg")return;a.push(new Promise(c=>{t.fs.readFile(decodeURI(l),"base64").then(g=>(o.attr("src",`data:image/${p};charset=utf-8;base64,${g}`),c(g))).catch(g=>(console.error(g),c(null)))}))}}),await Promise.all(a)}import{extname as Lr}from"path";async function kt(e,t,n){let a=[];e("img").each((r,s)=>{let o=e(s),l=n(o.attr("src"),!1);if(l.match(/^(file|vscode-resource):\/\/+/)){if(l=Q(l),l=l.replace(/\?(\.|\d)+$/,""),Lr(l).slice(1)!=="svg")return;a.push(new Promise(c=>{t.fs.readFile(decodeURI(l),"base64").then(g=>(o.attr("src",`data:image/svg+xml;charset=utf-8;base64,${g}`),c(g))).catch(()=>c(null))}))}}),await Promise.all(a)}async function Tt(e){let t=[],n=[],a=[];e("table").each((r,s)=>{let o=e(s),l=null;o.children().each((d,p)=>{e(p).children().each((g,b)=>{let S=e(b);S.children().each((m,u)=>{let f=e(u),h=f.text();if(h.length){if(h.trim()==="^"&&l){let E=e(l.children()[m]);E.length&&t.push([E,f])}else if(h.trim()===">"){let E=f.next();E.length&&n.push([f,E])}}else{let E=f.prev();E.length&&a.push([E,f])}}),l=S})})});for(let r=t.length-1;r>=0;r--){let[s,o]=t[r],l=(parseInt(s.attr("rowspan"),10)||1)+(parseInt(o.attr("rowspan"),10)||1);s.attr("rowspan",l.toString()),o.remove()}for(let r=0;r<n.length;r++){let[s,o]=n[r],l=(parseInt(s.attr("colspan"),10)||1)+(parseInt(o.attr("colspan"),10)||1);o.attr("colspan",l.toString()),s.remove()}for(let r=a.length-1;r>=0;r--){let[s,o]=a[r],l=(parseInt(s.attr("colspan"),10)||1)+(parseInt(o.attr("colspan"),10)||1);s.attr("colspan",l.toString()),o.remove()}}import{escape as Dr}from"html-escaper";async function wt(e,t,n,a){let r=[],s=[];e('[data-role="codeBlock"]').each((o,l)=>{let d=e(l);if(d.data("executor"))return;let p=d.data("normalizedInfo");p.attributes.cmd&&(d.data("executor","fenced-code-chunks"),r.push(Pr(d,p,e,t,s,n,a)))}),await Promise.all(r)}async function Pr(e,t,n,a,r,s,o){let l=e.text(),d=t.attributes.id||"code-chunk-id-"+r.length,p=Ee(t),c=["js","javascript"].indexOf(p)!==-1,g=n('<div class="code-chunk"></div>');g.attr("data-id",d),g.attr("data-cmd",p),c&&g.attr("data-code",l),e.replaceWith(g);let b=n('<div class="input-div"/>');b.append(e),g.append(b);let S=a[d],m=r.length?r[r.length-1].id:"";S?(S.code=l,S.normalizedInfo=t,S.prev=m):(S={id:d,code:l,normalizedInfo:t,result:"",plainResult:"",running:!1,prev:m,next:null},a[d]=S),m&&a[m]&&(a[m].next=d),r.push(S),s.triggeredBySave&&t.attributes.run_on_save&&await Ke(d,a,o);let u=S.result;!u&&S.normalizedInfo.attributes.element&&(u=S.normalizedInfo.attributes.element,S.result=u),S.running&&g.addClass("running");let f='<div class="status">running...</div>',h='<div class="btn-group"><div class="run-btn btn"><span>\u25B6\uFE0E</span></div><div class="run-all-btn btn">all</div></div>',E=`<div class="output-div">${u}</div>`;!s.isForPreview&&c&&(E+=`<script>${l}</script>`,u=S.normalizedInfo.attributes.element||""),b.append(h),b.append(f),t.attributes.output_first===!0?g.prepend(E):g.append(E)}async function Ke(e,t,n){let{headings:a,enableScriptExecution:r,filePath:s,fileDirectoryPath:o,latexEngine:l,modifySource:d,parseMD:p}=n,c=t[e];if(!c||c.running)return"";let g=[c.code],b=c;for(;b.normalizedInfo.attributes.continue;){let E=b.normalizedInfo.attributes.continue;if(E===!0&&(E=b.prev),b=t[E],!b)break;g.unshift(b.code)}let S=g.join(`
|
|
330
330
|
`),m=Ee(c.normalizedInfo);c.running=!0;let u,f="text",h=c.normalizedInfo.attributes.modify_source;try{let E=c.normalizedInfo.attributes;if(m==="toc")u=pe(a,{ordered:E.ordered_list,depthFrom:E.depth_from,depthTo:E.depth_to,tab:E.tab||" ",ignoreLink:E.ignore_link}).content,f="markdown",h=!0;else{if(!r)return"";u=await rn(S,o,m,c.normalizedInfo.attributes,l)}if(c.plainResult=u,h&&"code_chunk_offset"in c.normalizedInfo.attributes)return c.result="",d(c,u,s);if(m.match(/(la)?tex/)||m==="pdflatex"||m.match(/python/)&&(E.matplotlib||E.mpl)?f="markdown":c.normalizedInfo.attributes.output&&(f=c.normalizedInfo.attributes.output),!u)u="";else if(f!=="html")if(f==="png")u=`<img src="data:image/png;charset=utf-8;base64,${new Buffer(u).toString("base64")}">`;else if(f==="markdown"){let{html:_}=await p(u,{useRelativeFilePath:!0,isForPreview:!1,hideFrontMatter:!0});u=_}else f==="none"?u="":u=`<pre class="language-text">${Dr(u)}</pre>`}catch(E){u=`<pre class="language-text">${E}</pre>`}return c.result=u,c.running=!1,u}async function At(e,t){let n=[];for(let a in e)e.hasOwnProperty(a)&&n.push(Ke(a,e,t));return Promise.all(n)}import Mr from"cross-fetch";import{escape as Fr}from"html-escaper";import*as Vn from"yaml";var Ze=(e,t)=>{let n=e.class||"";return n.split(" ").indexOf(t)===-1?{...e,class:`${n} ${t}`.trim()}:e},Ur=["mermaid","puml","plantuml","wavedrom","graphviz","viz","dot","vega","vega-lite"];async function _t({$:e,graphsCache:t,fileDirectoryPath:n,imageDirectoryPath:a,plantumlServer:r,plantumlJarPath:s,kirokiServer:o}){let l=[];e('[data-role="codeBlock"]').each((d,p)=>{let c=e(p);if(c.data("executor"))return;let g=c.data("normalizedInfo"),b=!!g.attributes.kroki;g.attributes.literate===!1||g.attributes.cmd===!1||Ur.indexOf(g.language)===-1&&!b||(c.data("executor","fenced-diagrams"),g.attributes.literate!==!1&&l.push(Br({$container:c,normalizedInfo:g,$:e,graphsCache:t,fileDirectoryPath:n,imageDirectoryPath:a,plantumlServer:r,plantumlJarPath:s,isKroki:b,kirokiServer:o})))}),await Promise.all(l)}async function Br({$container:e,normalizedInfo:t,$:n,graphsCache:a,fileDirectoryPath:r,plantumlServer:s,plantumlJarPath:o,isKroki:l,kirokiServer:d}){let p=null,c=e.text(),g=K(JSON.stringify(t)+c),b=a[g];if(l)if(b)p=b;else{let S=d||"https://kroki.io",m=typeof t.attributes.kroki=="string"?t.attributes.kroki:t.language;try{let f=await(await Mr(`${S}/${m}/${t.attributes.output??"svg"}`,{method:"POST",body:c,headers:{"Content-Type":"text/plain; charset=utf-8"}})).text();p=`<div ${q(Ze(t.attributes,t.language))}>${f}</div>`,a[g]=p}catch(u){p=`<pre class="language-text">${u}</pre>`}}else try{switch(t.language){case"mermaid":{p=`<div ${q(Ze(t.attributes,t.language))}>${Fr(c)}</div>`;break}case"wavedrom":{p=`<div ${q(Ze(t.attributes,t.language))}><script type="WaveDrom">${c}</script></div>`;break}case"puml":case"plantuml":{let S=b;S||(S=await De({content:c,fileDirectoryPath:r,serverURL:s,plantumlJarPath:o}),a[g]=S),p=`<p ${q(t.attributes)}>${S}</p>`;break}case"graphviz":case"viz":case"dot":{let S=b;if(!S){let m=t.attributes.engine||"dot";S=await Ue(c,{engine:m}),a[g]=S}p=`<p ${q(t.attributes)}>${S}</p>`;break}case"vega":case"vega-lite":{if(t.attributes.interactive===!0){let S=c.trim(),m;S[0]!=="{"?m=Vn.parse(S):m=JSON.parse(S),p=$r(JSON.stringify(m).replace("<","<"),t.attributes,t.language)}else{let S=b;S||(S=await(t.language==="vega"?ue:Me)(c,r),a[g]=S),p=`<p ${q(t.attributes)}>${S}</p>`}break}}}catch(S){p=n(`<pre class="language-text">${S.toString()}</pre>`)}p!==null&&(t.attributes.output_first===!0?e.before(p):e.after(p)),t.attributes.hide!==!1&&t.attributes.code_block!==!0&&e.data("hiddenByEnhancer",!0)}var $r=(e,t,n)=>`<p ${q(Ze(t,n))}><span style="display: none">${e}</span></p>`;var Gr=["math"];async function Rt(e,t,n,a){return e('[data-role="codeBlock"]').each((r,s)=>{let o=e(s);if(o.data("executor"))return;let l=o.data("normalizedInfo");if(l.attributes.literate===!1||l.attributes.cmd===!1||Gr.indexOf(l.language)===-1||(o.data("executor","math"),l.attributes.literate===!1))return;let d=o.text(),p=zr(d,l,t,n,a);l.attributes.output_first===!0?o.before(p):o.after(p),l.attributes.hide!==!1&&o.data("hiddenByEnhancer",!0)}),e}var zr=(e,t,n,a,r)=>{let s=null;try{let o=He({content:e,displayMode:!0,openTag:a.length?a[0][0]:"",closeTag:a.length?a[0][1]:"",renderingOption:n,katexConfig:r});s=`<p ${q(t.attributes)}>${o}</p>`}catch(o){s=`<pre class="language-text">${o.toString()}</pre>`}return s};async function It(e,t,n,a){e("img, a").each((r,s)=>{let o="src";s.name==="a"&&(o="href");let l=e(s),d=l.attr(o);if(t.isForPreview&&s.name!=="a"&&l.parent().prev().hasClass("sync-line")){let p=parseInt(l.parent().prev().attr("data-line"),10);p&&l.parent().after(`<p data-line="${p+1}" class="sync-line" style="margin:0;"></p>`)}l.attr(o,n(d,t.useRelativeFilePath,t.fileDirectoryPath))}),a||e(".crossnote-header").each((r,s)=>{let o=s.attribs.class,l=s.attribs.id,d=e(s),p=d.prev();p.addClass(o),p.attr("id",encodeURIComponent(l)),d.remove()})}var Kn=[{key:"vega-embed",version:"6.22.2"}],Ve=class e{constructor({filePath:t,notebook:n}){this.graphsCache={};this.codeChunksData={};this.filesCache={};this.isPreviewInPresentationMode=!1;this.filePath=t,this.notebook=n,this.fileDirectoryPath=R.dirname(this.filePath),this.projectDirectoryPath=this.notebook.notebookPath||this.fileDirectoryPath,this.fs=this.notebook.fs,this.headings=[],this.tocHTML=""}get protocolsWhiteListRegExp(){let t=(this.notebook.config.protocolsWhiteList??ge().protocolsWhiteList??"").split(",").map(n=>n.trim());return new RegExp("^("+t.join("|")+")")}cacheCodeChunkResult(t,n){let a=this.codeChunksData[t];a&&(a.result=Yn.AES.decrypt(n,"crossnote").toString(Yn.enc.Utf8))}generateScriptsForPreview(t=!1,n={},a=null){let r="";if(r+="<script>var exports = undefined</script>",r+=`<script type="text/javascript" src="${W(R.resolve(U(),"./dependencies/mermaid/mermaid.min.js"),a)}" charset="UTF-8"></script>`,r+=`<script type="module">
|
|
331
331
|
import zenuml from 'https://cdn.jsdelivr.net/npm/@mermaid-js/mermaid-zenuml@0.1.0/dist/mermaid-zenuml.esm.min.mjs';
|
|
332
332
|
await mermaid.registerExternalDiagrams([zenuml]);
|