@domphy/press 0.19.0 → 0.19.2

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.js CHANGED
@@ -1,85 +1,110 @@
1
- function Ye(e){return{base:"/",srcDir:".",outDir:"dist",head:[],...e,themeConfig:Object.assign({nav:[],sidebar:{}},e.themeConfig)}}import{cpSync as un,existsSync as He,mkdirSync as de,readFileSync as gn,rmSync as Oe,writeFileSync as U}from"fs";import{dirname as Ue,join as A,relative as mn,resolve as fn}from"path";import{fileURLToPath as hn}from"url";import{execSync as bn}from"child_process";import{createApp as yn,defineRoutes as $n}from"@domphy/app";import{themeCSS as xn}from"@domphy/theme";import{createHighlighter as Je}from"shiki";var fe="github-light",Qe=["typescript","javascript","tsx","jsx","json","bash","shellscript","html","css","vue","svelte","markdown","diff","yaml","ruby","python","go","rust","sql"],be={ts:"typescript",js:"javascript",sh:"bash",shell:"bash",zsh:"bash",md:"markdown",yml:"yaml",htm:"html",rb:"ruby",py:"python"},X=null;function z(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}function Ve(e){let t=e.match(/<code[^>]*>([\s\S]*)<\/code>/);return t?t[1]:e}function ye(e){let t=(e.match(/^(\S+)/)??[])[1]??"",n=be[t.toLowerCase()]??t.toLowerCase(),r=e.includes(":line-numbers"),i=e.match(/\[([^\]]*[a-zA-Z.][^\]]*)\]/),s=i?i[1]:null,a=e.match(/\{([0-9,\s\-]+)\}/),c=new Set;if(a)for(let l of a[1].split(",")){let g=l.trim().split("-").map(Number);if(g.length===1&&!isNaN(g[0]))c.add(g[0]);else if(g.length===2)for(let m=g[0];m<=g[1];m++)c.add(m)}return{lang:n,highlightLines:c,lineNumbers:r,title:s}}var he=/\s*\/\/ \[!code ([^\]]+)\]\s*$/,Ze={"++":"diff add","--":"diff remove",highlight:"highlighted",focus:"focus",error:"highlighted error",warning:"highlighted warning"};function et(e){let t=e.split(`
2
- `),n=new Map,r=[],i=!1;for(let s of t){let a=he.exec(s);if(a){let c=a[1].trim(),l=Ze[c];l&&(l.includes("focus")&&(i=!0),n.set(r.length+1,l)),r.push(s.replace(he,""))}else r.push(s)}return{cleanCode:r.join(`
3
- `),lineClasses:n,hasFocus:i}}function tt(e,t,n,r,i){let s=0;return e.replace(/<span class="line">/g,()=>{s++;let a=t.get(s)??"",c=["line"];return a?c.push(...a.split(" ")):n.has(s)&&c.push("highlighted"),r&&!a.includes("focus")&&c.push("dimmed"),`${i?`<span class="line-number">${s}</span>`:""}<span class="${c.join(" ")}">`})}async function Y(){X||(X=Je({themes:[fe],langs:Qe}));let e=await X,t=new Set(e.getLoadedLanguages());return(n,r)=>{let i=be[r?.toLowerCase()]??r?.toLowerCase();return!i||!t.has(i)?z(n):Ve(e.codeToHtml(n,{lang:i,theme:fe}))}}function J(e,t,n){let{lang:r,highlightLines:i,lineNumbers:s,title:a}=ye(t);if(r==="mermaid")return`<div class="dp-mermaid language-mermaid">${z(e.trim())}</div>`;let{cleanCode:c,lineClasses:l,hasFocus:g}=et(e),m=n(c.trimEnd(),r),d=tt(m,l,i,g,s),u=i.size>0||l.size>0,y=a?`<div class="code-block-title"><span>${z(a)}</span></div>`:"",x=[s?"line-numbers":"",u?"has-annotations":"",g?"has-focus":""].filter(Boolean).join(" ");return`<div class="code-block ${r?`language-${r}`:""}">${y}<div class="code-block-inner"><pre class="${x}"><code>${d}</code></pre><button class="code-copy-btn" type="button" aria-label="Copy code" data-copy>\u2398</button></div></div>`}import{navLink as ve}from"@domphy/app";import{toolbar as Z,toolbarSpacer as lt}from"@domphy/ui";import{readdirSync as nt,statSync as ot}from"fs";import{join as rt,posix as it,relative as st,sep as at}from"path";var ct=new Set(["snippets","demos","node_modules",".git"]);function $e(e){let r=e.split(at).join(it.sep).replace(/\.md$/,"").split("/");return r[r.length-1]==="index"?(r.pop(),r.length===0?"/":`/${r.join("/")}/`):`/${r.join("/")}`}function xe(e){return e==="/"?"index.html":`${e.replace(/^\/+/,"").replace(/\/+$/,"")}/index.html`}function ke(e){let t=[];for(let n of nt(e)){let r=rt(e,n);if(ot(r).isDirectory()){if(ct.has(n)||n.startsWith("."))continue;t.push(...ke(r))}else n.endsWith(".md")&&n.toLowerCase()!=="readme.md"&&t.push(r)}return t}function H(e){let n=ke(e).map(r=>{let i=st(e,r),s=$e(i);return{route:s,outFile:xe(s),filePath:r}});return n.sort((r,i)=>r.route.localeCompare(i.route)),n}function Q(e){let t=[];for(let n of e)n.link&&t.push({text:n.text,link:n.link}),n.items&&t.push(...Q(n.items));return t}function O(e,t){let n="";for(let r of Object.keys(t.themeConfig.sidebar))e.startsWith(r)&&r.length>n.length&&(n=r);return n?t.themeConfig.sidebar[n]:[]}function V(e,t){let n=Q(O(e,t)),r=n.findIndex(i=>i.link===e||i.link===e.replace(/\/$/,"")||`${i.link}/`===e);return r===-1?{}:{prev:r>0?n[r-1]:void 0,next:r<n.length-1?n[r+1]:void 0}}var dt={github:"GitHub",twitter:"Twitter",discord:"Discord",youtube:"YouTube",linkedin:"LinkedIn",mastodon:"Mastodon",npm:"npm",bluesky:"Bluesky"};function pt(e){let t=e.icon.toLowerCase();return{a:[e.icon.startsWith("http")||e.icon.startsWith("/")?{img:null,src:e.icon,alt:e.ariaLabel??t,width:"18",height:"18"}:{span:"",class:`dp-social-icon dp-icon-${t}`,ariaHidden:"true"}],href:e.link,class:`dp-social-link dp-social-${t}`,ariaLabel:e.ariaLabel??dt[t]??e.icon,target:"_blank",rel:"noopener noreferrer"}}function te(e,t,n){return{a:e,href:t,class:n,$:[ve({href:t})]}}function ut(e){return{div:[{span:e.text,class:"dp-nav-dropdown-label"},{div:e.items.map(t=>te(t.text,t.link)),class:"dp-nav-dropdown-menu"}],class:"dp-nav-dropdown"}}function we(e){let t=e.themeConfig.announcementBar;if(!t)return null;let n=t.id?t.id:"",r=[{span:t.text,class:"dp-announcement-text"}];return t.dismissible!==!1&&r.push({button:"\u2715",type:"button",class:"dp-announcement-close",dataDismissAnnouncement:"",ariaLabel:"Dismiss"}),{div:r,class:"dp-announcement",...n?{dataId:n}:{}}}function Se(e){let t=e.themeConfig.search!==!1,n=e.themeConfig.logo?{a:[{img:null,src:e.themeConfig.logo,alt:e.title,class:"dp-logo-img"}],href:e.base,class:"dp-logo"}:{a:e.title,href:e.base,class:"dp-logo"},r=(e.themeConfig.socialLinks??[]).map(pt);return{header:[n,lt(),{nav:e.themeConfig.nav.map(i=>i.items?ut(i):te(i.text,i.link)),$:[Z({gap:4})],class:"dp-nav",ariaLabel:"Primary"},{div:[...t?[{div:[{input:null,type:"search",placeholder:typeof e.themeConfig.search=="object"&&e.themeConfig.search.placeholder||"Search...",class:"dp-search-static",ariaLabel:"Search documentation"}],dataIsland:"search",class:"dp-search-slot"}]:[],...r,{button:"\u25D0",type:"button",class:"dp-theme-toggle",ariaLabel:"Toggle dark mode",dataThemeToggle:""},{button:"\u2630",type:"button",class:"dp-menu-toggle",ariaLabel:"Toggle menu",dataMenuToggle:""}],$:[Z({gap:2})],class:"dp-header-actions"}],$:[Z({gap:4})],class:"dp-header"}}function Ee(e){return{span:e.text,class:`dp-badge dp-badge-${e.type??"tip"}`}}function ee(e,t,n){return n?{a:[{span:e},Ee(n)],href:t,$:[ve({href:t})],class:"dp-sidebar-link-with-badge"}:te(e,t)}function gt(e){let t=[],n=e.items&&e.items.length>0;if(e.link)t.push(ee(e.text,e.link,e.badge));else{let i=[{span:e.text}];e.badge&&i.push(Ee(e.badge)),n&&i.push({button:e.collapsed?"\u203A":"\u2039",type:"button",class:"dp-sidebar-toggle",ariaLabel:e.collapsed?"Expand":"Collapse",dataSidebarToggle:""}),t.push({div:i,class:"dp-sidebar-title"})}if(e.items){let i=[];for(let s of e.items)if(s.items){i.push({div:s.text,class:"dp-sidebar-subtitle"});for(let a of s.items)a.link&&i.push(ee(a.text,a.link,a.badge))}else s.link&&i.push(ee(s.text,s.link,s.badge));t.push({div:i,class:"dp-sidebar-items"})}let r=["dp-sidebar-group",n&&e.collapsed?"collapsed":""].filter(Boolean).join(" ");return{div:t,class:r}}function mt(e){return{nav:O(e.route,e.config).map(gt),class:"dp-sidebar",ariaLabel:"Documentation"}}function ft(e){if(e.frontmatter.aside===!1)return null;let[t,n]=e.config.themeConfig.outline?.level??[2,3],r=e.toc.filter(i=>i.level>=t&&i.level<=n);return r.length===0?null:{aside:[{div:"On this page",class:"dp-aside-title"},{nav:r.map(i=>({a:i.text,href:`#${i.slug}`,class:`dp-toc-${i.level}`})),class:"dp-toc"}],class:"dp-aside"}}function ht(e){let{prev:t,next:n}=V(e.route,e.config);return!t&&!n?null:{nav:[t?{a:[{small:"Previous"},{span:t.text}],href:t.link,class:"prev"}:{span:""},n?{a:[{small:"Next"},{span:n.text}],href:n.link,class:"next"}:{span:""}],class:"dp-prevnext",ariaLabel:"Page navigation"}}function bt(e){let{editLink:t}=e.config.themeConfig,n=e.config.lastUpdated,r=t&&e.filePath,i=n&&e.lastUpdated;if(!r&&!i&&!e.readingTime)return null;let s=[];if(i){let c=new Date(e.lastUpdated).toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric"});s.push({span:["Last updated: ",{time:c,dateTime:e.lastUpdated,class:"dp-last-updated-date"}],class:"dp-last-updated"})}if(e.readingTime&&s.push({span:`${e.readingTime} min read`,class:"dp-reading-time"}),r){let c=t.pattern.replace(/:path/g,e.filePath);s.push({a:t.text??"Edit this page",href:c,class:"dp-edit-link",target:"_blank",rel:"noopener noreferrer"})}return{div:s,class:"dp-doc-footer"}}function yt(e){let t=e.badge;if(!t)return null;let n=typeof t=="string"?t:t.text??"",r=typeof t=="object"?t.type??"tip":"tip";return n?{span:n,class:`dp-badge dp-badge-${r} dp-page-badge`}:null}function ne(e){let t=[],n=yt(e.frontmatter);n&&t.push({div:[n],class:"dp-page-badge-row"}),t.push({div:e.body,class:"dp-content"});let r=ht(e);r&&t.push(r);let i=bt(e);i&&t.push(i);let s=[mt(e),{main:t,class:"dp-main"}],a=ft(e);a&&s.push(a);let c=we(e.config);return{div:[...c?[c]:[],Se(e.config),{div:s,class:"dp-shell"},{footer:e.config.themeConfig.footerMessage??"",class:"dp-footer"}]}}function $t(e){let t=[];return e.name&&t.push({div:e.name,class:"dp-hero-name"}),e.text&&t.push({h1:e.text,class:"dp-hero-text"}),e.tagline&&t.push({p:e.tagline,class:"dp-hero-tagline"}),e.actions?.length&&t.push({div:e.actions.map(n=>({a:n.text,href:n.link,class:`dp-hero-action ${n.theme??"brand"}`})),class:"dp-hero-actions"}),{section:t,class:"dp-hero"}}function xt(e){return{div:e.map(t=>{let n=[];t.icon&&n.push({div:t.icon,class:"dp-feature-icon"}),n.push({div:t.title,class:"dp-feature-title"}),n.push({p:t.details,class:"dp-feature-details"});let r={div:n,class:"dp-feature"};return t.link?{a:[r],href:t.link,class:"dp-feature-link"}:r}),class:"dp-features"}}function oe(e){let t=[],n=e.frontmatter.hero,r=e.frontmatter.features;n&&t.push($t(n)),r?.length&&t.push(xt(r)),t.push({div:e.body,class:"dp-content dp-home"});let i=we(e.config);return{div:[...i?[i]:[],Se(e.config),{main:t,class:"dp-main dp-main-home"},{footer:e.config.themeConfig.footerMessage??"",class:"dp-footer"}]}}import{readFileSync as kt}from"fs";import{dirname as Me,extname as vt,isAbsolute as wt,resolve as Ce}from"path";import{splitFrontmatter as St,tokensToDomphy as Et}from"@domphy/markdown";import Ct from"markdown-it";import Dt from"markdown-it-container";import Tt from"markdown-it-mark";import Lt from"markdown-it-sub";import Mt from"markdown-it-sup";import jt from"markdown-it-include";import De from"markdown-it-emoji";var It=jt,At=Tt,_t=Lt,Rt=Mt,zt=De.full??De,Pt=/^<<<\s+(\S+?)(?:\s+\[([^\]]*)\])?\s*$/gm,Ft={".ts":"ts",".tsx":"tsx",".js":"js",".jsx":"jsx",".mjs":"js",".cjs":"js",".json":"json",".css":"css",".html":"html",".vue":"vue",".md":"markdown",".sh":"bash",".bash":"bash",".yml":"yaml",".yaml":"yaml",".rb":"ruby",".py":"python",".go":"go",".rs":"rust"};function Nt(e,t,n){return e.startsWith("@/")?Ce(Me(n),e.slice(2)):wt(e)?e:Ce(t,e)}function Ht(e,t,n){return e.replace(Pt,(r,i,s)=>{let a=Nt(i,t,n),c="```",l;try{l=kt(a,"utf8")}catch{return[c,`Could not import: ${i}`,c].join(`
4
- `)}let g=Ft[vt(a).toLowerCase()]??"",m=s?`${g} [${s}]`:g;return[c+m,l.trimEnd(),c].join(`
5
- `)})}function Ot(e){return e.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,"").replace(/^\s*\n/,"")}var ie={tip:"TIP",warning:"WARNING",info:"INFO",danger:"DANGER",note:"NOTE",abstract:"ABSTRACT",success:"SUCCESS",question:"QUESTION",failure:"FAILURE",bug:"BUG",example:"EXAMPLE",quote:"QUOTE"};function Te(e,t){return e.slice(e.indexOf(t)+t.length).trim()}function Le(e,t,n,r,i,s){let a=new e(n,t,1);a.block=!0,i&&a.attrSet("class",i);let c=new e("inline","",0);c.content=s,c.children=[];let l=new e("text","",0);l.content=s,c.children.push(l);let g=new e(r,t,-1);return g.block=!0,[a,c,g]}function re(e,t){let n=new e("html_block","",0);return n.content=t,n.block=!0,n}function Ut(e,t,n,r,i){let s=t[n];s.tag="div",s.attrSet("class","code-group");let a=t[r];a.tag="div";let c=[];for(let d=n+1;d<r;d++){let u=t[d];if(u.type!=="fence")continue;let y=(u.info??"").trim(),x=y.match(/\[([^\]]+)\]/),_=y.split(/\s+/,1)[0]??"";c.push({token:u,label:x?x[1]:_||"Code"})}if(c.length===0)return t.slice(n,r+1);let l=c.map((d,u)=>`<input type="radio" name="cg-${i}" id="cgt-${i}-${u}"${u===0?" checked":""}>`).join(""),g=c.map((d,u)=>`<label for="cgt-${i}-${u}">${z(d.label)}</label>`).join(""),m=[re(e,`${l}<div class="tabs">${g}</div>`),re(e,'<div class="blocks">')];return c.forEach(d=>{d.token.info=(d.token.info??"").replace(/\[[^\]]*\]/,"").trim(),m.push(d.token)}),m.push(re(e,"</div>")),[s,...m,a]}function Bt(e){if(e.length===0)return e;let t=e[0].constructor,n=[],r=0,i=Object.keys(ie).join("|"),s=new RegExp(`^container_(${i})_open$`),a=new RegExp(`^container_(${i})_close$`);for(let c=0;c<e.length;c++){let l=e[c],g=l.type.match(s);if(g){let m=g[1];l.tag="div",l.attrSet("class",`custom-block ${m}`);let d=Te(l.info.trim(),m);n.push(l),n.push(...Le(t,"p","paragraph_open","paragraph_close","custom-block-title",d||ie[m]||m.toUpperCase()));continue}if(a.test(l.type)){l.tag="div",n.push(l);continue}if(l.type==="container_details_open"){l.tag="details",l.attrSet("class","custom-block details"),n.push(l),n.push(...Le(t,"summary","summary_open","summary_close",null,Te(l.info.trim(),"details")||"Details"));continue}if(l.type==="container_details_close"){l.tag="details",n.push(l);continue}if(l.type==="container_steps_open"){l.tag="div",l.attrSet("class","custom-block steps"),n.push(l);continue}if(l.type==="container_steps_close"){l.tag="div",n.push(l);continue}if(l.type==="container_code-group_open"){let m=0,d=-1;for(let u=c;u<e.length;u++)if(e[u].type==="container_code-group_open")m++;else if(e[u].type==="container_code-group_close"&&(m--,m===0)){d=u;break}if(d===-1){n.push(l);continue}n.push(...Ut(t,e,c,d,r++)),c=d;continue}n.push(l)}return n}function Wt(e){if(e.length===0)return e;let t=e[0].constructor;for(let n=1;n<e.length;n++){let r=e[n];if(r.type!=="inline"||!r.children?.length)continue;let i=e[n-1];if(i?.type!=="list_item_open")continue;let s=r.children[0];if(s.type!=="text")continue;let a=s.content;if(!(a.startsWith("[ ] ")||a.startsWith("[x] ")||a.startsWith("[X] ")))continue;let l=a[1].toLowerCase()==="x";s.content=a.slice(4),r.content=r.content.replace(/^\[[ xX]\] /,""),i.attrSet("class",((i.attrGet("class")??"")+" task-list-item").trim());let g=new t("html_inline","",0);g.content=`<input type="checkbox"${l?" checked":""} disabled class="task-list-check" aria-label="${l?"done":"todo"}">`,r.children.unshift(g)}return e}function qt(e,t){let n=new Ct({html:!0,linkify:!0,typographer:!1});n.enable(["strikethrough","table"]),n.use(It,{root:e}),n.use(At),n.use(_t),n.use(Rt),n.use(zt);let r=()=>"",i=Object.keys(ie);for(let s of[...i,"details","code-group","steps"])n.use(Dt,s,{render:r});return n.core.ruler.push("press_containers",s=>(s.tokens=Bt(s.tokens),!0)),n.core.ruler.push("press_task_lists",s=>(s.tokens=Wt(s.tokens),!0)),n.core.ruler.push("press_fences",s=>{for(let a of s.tokens){if(a.type!=="fence")continue;let c=J(a.content,a.info??"",t);a.type="html_block",a.content=c,a.tag=""}return!0}),n.core.ruler.push("press_external_links",s=>{for(let a of s.tokens)if(!(a.type!=="inline"||!a.children))for(let c of a.children){if(c.type!=="link_open")continue;let l=c.attrGet("href")??"";(l.startsWith("http://")||l.startsWith("https://"))&&(c.attrSet("target","_blank"),c.attrSet("rel","noopener noreferrer"))}return!0}),n.core.ruler.push("press_image_lazy",s=>{for(let a of s.tokens)if(!(a.type!=="inline"||!a.children))for(let c of a.children)c.type==="image"&&c.attrSet("loading","lazy");return!0}),n}function Gt(e){let n=(e.split(/[\\/]/).pop()??e).replace(/\.md$/i,"");if(n.toLowerCase()==="index"){let r=e.split(/[\\/]/).filter(Boolean);return r[r.length-2]??n}return n}function Kt(e){return e.find(t=>t.level===1)?.text}function je(e){return e.map(t=>{if(!t||typeof t!="object"||Array.isArray(t))return t;let n=t,r=Object.keys(n).find(s=>/^h[1-6]$/.test(s));if(r&&typeof n.id=="string"){let s=n.id,a=Array.isArray(n[r])?[...n[r]]:n[r]!=null?[n[r]]:[];return a.push({a:"#",href:`#${s}`,class:"header-anchor",ariaHidden:"true"}),{...n,[r]:a}}let i=Object.keys(n).find(s=>/^[a-z][a-z0-9]*$/.test(s)&&s!=="style"&&s!=="class"&&!s.startsWith("data")&&!s.startsWith("on")&&!s.startsWith("aria")&&!s.startsWith("_")&&s!=="$"&&s!=="href"&&s!=="src"&&s!=="id"&&s!=="type"&&s!=="name");return i&&Array.isArray(n[i])?{...n,[i]:je(n[i])}:t})}async function se(e,t){let{filePath:n,docsDir:r,highlight:i}=t,s=Me(n),{frontmatter:a,content:c}=St(e),l=Ot(c),g=Ht(l,s,r),d=qt(r,i).parse(g,{}),{body:u,toc:y}=Et(d,{highlight:i}),x=je(u),q=(typeof a.title=="string"?a.title:void 0)??Kt(y)??Gt(n);return{frontmatter:a,body:x,toc:y,islands:[],title:q}}import{ElementNode as Xt,RecordState as Yt}from"@domphy/core";import{themeColor as Ie,themeSpacing as M}from"@domphy/theme";import{card as Jt,inputSearch as Qt,link as Vt,menu as Zt,small as en}from"@domphy/ui";var tn=3,nn=2,on=1;function _e(e){let t=[];for(let n of e.toLowerCase().split(/[^\p{L}\p{N}]+/u))n.length>=2&&t.push(n);return t}function ae(e,t,n,r){for(let i of _e(n)){let s=e.get(i);s||(s=new Map,e.set(i,s));let a=s.get(t);(a===void 0||r>a)&&s.set(t,r)}}function ce(e){let t=[],n=new Map;for(let i of e){let s=t.length;t.push({route:i.route,pageTitle:i.title,heading:i.title,slug:"",isPage:!0}),ae(n,s,i.title,tn),ae(n,s,i.text,on);for(let a of i.toc){let c=t.length;t.push({route:i.route,pageTitle:i.title,heading:a.text,slug:a.slug,isPage:!1}),ae(n,c,a.text,nn)}}let r={};for(let[i,s]of Array.from(n.entries()).sort((a,c)=>a[0]<c[0]?-1:1))r[i]=Array.from(s.entries()).sort((a,c)=>a[0]-c[0]).map(([a,c])=>[a,c]);return JSON.stringify({entries:t,postings:r})}function Re(e,t,n=10){let r=JSON.parse(e),i=_e(t);if(i.length===0)return[];let s=new Map,a=new Map;for(let l of i){let g=new Set;for(let m in r.postings){if(m!==l&&!m.startsWith(l))continue;let d=m===l;for(let[u,y]of r.postings[m]){let x=d?y:y*.5;s.set(u,(s.get(u)??0)+x),g.has(u)||(g.add(u),a.set(u,(a.get(u)??0)+1))}}}let c=[];for(let[l,g]of s){let m=r.entries[l],d=a.get(l)??0;c.push({route:m.route,pageTitle:m.pageTitle,heading:m.heading,slug:m.slug,isPage:m.isPage,score:d*100+g,href:m.slug?`${m.route}#${m.slug}`:m.route})}return c.sort((l,g)=>g.score!==l.score?g.score-l.score:l.route!==g.route?l.route<g.route?-1:1:l.isPage===g.isPage?0:l.isPage?-1:1),c.slice(0,n)}function ze(e,t){return`dp-search-${e}-option-${t}`}var rn=0;function sn(e,t,n,r){let i=ze(n,t);return{a:[{div:e.isPage?e.pageTitle:e.heading},e.isPage?null:{small:e.pageTitle,$:[en({color:"neutral"})]}],href:e.href,role:"option",id:i,ariaSelected:s=>r.get("active",s)===t||void 0,onClick:()=>{r.set("open",!1)},onMouseEnter:()=>{r.set("active",t)},$:[Vt({color:"neutral",accentColor:"primary"})],style:{display:"flex",flexDirection:"column",gap:M(1),paddingBlock:M(2),paddingInline:M(3),borderRadius:M(1),backgroundColor:s=>r.get("active",s)===t?Ie(s,"shift-3","primary"):Ie(s,"inherit","neutral")},_key:e.href}}function Ae(e,t){let n=e.get("index"),r=e.get("query"),i=n&&r.trim()?Re(n,r,t):[];e.set("results",i),e.set("active",-1),e.set("open",i.length>0)}function Pe(e={}){let{indexUrl:t="/search-index.json",placeholder:n="Search docs\u2026",limit:r=10}=e,i=++rn,s=`dp-search-${i}-listbox`,a=new Yt({index:null,query:"",results:[],open:!1,active:-1}),c=null;function l(d){d&&(a.set("open",!1),window.location.assign(d.href))}let g={input:null,type:"search",placeholder:n,autocomplete:"off",role:"combobox",ariaExpanded:d=>a.get("open",d)?"true":"false",ariaControls:s,ariaAutocomplete:"list",ariaActiveDescendant:d=>{let u=a.get("active",d);return u>=0?ze(i,u):void 0},value:d=>a.get("query",d),onInput:d=>{a.set("query",d.target.value),c&&clearTimeout(c),c=setTimeout(()=>Ae(a,r),120)},onFocus:()=>{a.get("results").length>0&&a.set("open",!0)},onKeyDown:d=>{let u=a.get("results");if(d.key==="Escape"){a.set("open",!1),a.set("active",-1);return}if(d.key==="ArrowDown"){if(!u.length)return;d.preventDefault(),a.set("open",!0),a.set("active",(a.get("active")+1)%u.length);return}if(d.key==="ArrowUp"){if(!u.length)return;d.preventDefault(),a.set("active",(a.get("active")-1+u.length)%u.length);return}if(d.key==="Enter"){let y=a.get("active");l(y>=0?u[y]:u[0])}},$:[Qt({color:"neutral",accentColor:"primary"})],style:{width:"100%"}},m={div:d=>a.get("open",d)?a.get("results",d).map((u,y)=>sn(u,y,i,a)):[],id:s,role:"listbox",$:[Zt({selectable:!1,color:"neutral"}),Jt({color:"neutral"})],style:{display:d=>a.get("open",d)?"block":"none",position:"absolute",insetInlineStart:0,insetInlineEnd:0,marginBlockStart:M(1),maxHeight:M(80),overflowY:"auto",zIndex:"50"}};return{div:[g,m],role:"search",style:{position:"relative",display:"block",width:"100%"},_onMount:d=>{fetch(t).then(x=>x.text()).then(x=>{a.set("index",x),a.get("query").trim()&&Ae(a,r)}).catch(()=>{});let u=d.domElement,y=x=>{u.contains(x.target)||a.set("open",!1)};document.addEventListener("pointerdown",y),d.setMetadata("dpSearchHandler",y)},_onRemove:d=>{let u=d.getMetadata("dpSearchHandler");u&&document.removeEventListener("pointerdown",u),c&&clearTimeout(c)}}}function an(e,t={}){for(;e.firstChild;)e.removeChild(e.firstChild);let n=new Xt(Pe(t));return n.render(e),n}import{themeColor as cn,themeSpacing as ln}from"@domphy/theme";var f=(e,t)=>cn(null,e,t),o=e=>ln(e),k=f("inherit"),w=f("shift-1"),j=f("shift-2"),h=f("shift-3"),b=f("shift-6"),T=f("shift-9"),D=f("shift-11"),$=f("shift-9","primary"),dn=f("shift-10","primary"),I=o(14),Fe=o(62),pn=o(56),Ne=o(190);function le(){return`
1
+ function Je(e){return{base:"/",srcDir:".",outDir:"dist",head:[],...e,themeConfig:Object.assign({nav:[],sidebar:{}},e.themeConfig)}}import{cpSync as mn,existsSync as Oe,mkdirSync as me,readFileSync as fn,rmSync as Ue,writeFileSync as W}from"fs";import{dirname as Be,join as I,relative as hn,resolve as bn}from"path";import{fileURLToPath as yn}from"url";import{execSync as $n}from"child_process";import{createApp as xn,defineRoutes as kn}from"@domphy/app";import{themeCSS as vn}from"@domphy/theme";import{createHighlighter as Qe}from"shiki";var $e="github-light",Ve=["typescript","javascript","tsx","jsx","json","bash","shellscript","html","css","vue","svelte","markdown","diff","yaml","ruby","python","go","rust","sql"],ke={ts:"typescript",js:"javascript",sh:"bash",shell:"bash",zsh:"bash",md:"markdown",yml:"yaml",htm:"html",rb:"ruby",py:"python"},J=null;function R(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}function Ze(e){let t=e.match(/<code[^>]*>([\s\S]*)<\/code>/);return t?t[1]:e}function ve(e){let t=(e.match(/^(\S+)/)??[])[1]??"",n=ke[t.toLowerCase()]??t.toLowerCase(),r=e.includes(":line-numbers"),s=e.match(/\[([^\]]*[a-zA-Z.][^\]]*)\]/),i=s?s[1]:null,a=e.match(/\{([0-9,\s\-]+)\}/),l=new Set;if(a)for(let c of a[1].split(",")){let g=c.trim().split("-").map(Number);if(g.length===1&&!isNaN(g[0]))l.add(g[0]);else if(g.length===2)for(let m=g[0];m<=g[1];m++)l.add(m)}return{lang:n,highlightLines:l,lineNumbers:r,title:i}}var xe=/\s*\/\/ \[!code ([^\]]+)\]\s*$/,et={"++":"diff add","--":"diff remove",highlight:"highlighted",focus:"focus",error:"highlighted error",warning:"highlighted warning"};function tt(e){let t=e.split(`
2
+ `),n=new Map,r=[],s=!1;for(let i of t){let a=xe.exec(i);if(a){let l=a[1].trim(),c=et[l];c&&(c.includes("focus")&&(s=!0),n.set(r.length+1,c)),r.push(i.replace(xe,""))}else r.push(i)}return{cleanCode:r.join(`
3
+ `),lineClasses:n,hasFocus:s}}function nt(e,t,n,r,s){let i=0;return e.replace(/<span class="line">/g,()=>{i++;let a=t.get(i)??"",l=["line"];return a?l.push(...a.split(" ")):n.has(i)&&l.push("highlighted"),r&&!a.includes("focus")&&l.push("dimmed"),`${s?`<span class="line-number">${i}</span>`:""}<span class="${l.join(" ")}">`})}async function Q(){J||(J=Qe({themes:[$e],langs:Ve}));let e=await J,t=new Set(e.getLoadedLanguages());return(n,r)=>{let s=ke[r?.toLowerCase()]??r?.toLowerCase();return!s||!t.has(s)?R(n):Ze(e.codeToHtml(n,{lang:s,theme:$e}))}}function V(e,t,n){let{lang:r,highlightLines:s,lineNumbers:i,title:a}=ve(t);if(r==="mermaid")return`<div class="dp-mermaid language-mermaid">${R(e.trim())}</div>`;let{cleanCode:l,lineClasses:c,hasFocus:g}=tt(e),m=n(l.trimEnd(),r),d=nt(m,c,s,g,i),u=s.size>0||c.size>0,b=a?`<div class="code-block-title"><span>${R(a)}</span></div>`:"",k=[i?"line-numbers":"",u?"has-annotations":"",g?"has-focus":""].filter(Boolean).join(" ");return`<div class="code-block ${r?`language-${r}`:""}">${b}<div class="code-block-inner"><pre class="${k}"><code>${d}</code></pre><button class="code-copy-btn" type="button" aria-label="Copy code" data-copy>\u2398</button></div></div>`}import{navLink as Ce}from"@domphy/app";import{toolbar as te,toolbarSpacer as dt}from"@domphy/ui";import{readdirSync as ot,statSync as rt}from"fs";import{join as it,posix as st,relative as at,sep as ct}from"path";var lt=new Set(["snippets","demos","node_modules",".git"]);function we(e){let r=e.split(ct).join(st.sep).replace(/\.md$/,"").split("/");return r[r.length-1]==="index"?(r.pop(),r.length===0?"/":`/${r.join("/")}/`):`/${r.join("/")}`}function Se(e){return e==="/"?"index.html":`${e.replace(/^\/+/,"").replace(/\/+$/,"")}/index.html`}function Ee(e){let t=[];for(let n of ot(e)){let r=it(e,n);if(rt(r).isDirectory()){if(lt.has(n)||n.startsWith("."))continue;t.push(...Ee(r))}else n.endsWith(".md")&&n.toLowerCase()!=="readme.md"&&t.push(r)}return t}function O(e){let n=Ee(e).map(r=>{let s=at(e,r),i=we(s);return{route:i,outFile:Se(i),filePath:r}});return n.sort((r,s)=>r.route.localeCompare(s.route)),n}function Z(e){let t=[];for(let n of e)n.link&&t.push({text:n.text,link:n.link}),n.items&&t.push(...Z(n.items));return t}function U(e,t){let n="";for(let r of Object.keys(t.themeConfig.sidebar))e.startsWith(r)&&r.length>n.length&&(n=r);return n?t.themeConfig.sidebar[n]:[]}function ee(e,t){let n=Z(U(e,t)),r=n.findIndex(s=>s.link===e||s.link===e.replace(/\/$/,"")||`${s.link}/`===e);return r===-1?{}:{prev:r>0?n[r-1]:void 0,next:r<n.length-1?n[r+1]:void 0}}var pt={github:"GitHub",twitter:"Twitter",discord:"Discord",youtube:"YouTube",linkedin:"LinkedIn",mastodon:"Mastodon",npm:"npm",bluesky:"Bluesky"};function gt(e){let t=e.icon.toLowerCase();return{a:[e.icon.startsWith("http")||e.icon.startsWith("/")?{img:null,src:e.icon,alt:e.ariaLabel??t,width:"18",height:"18"}:{span:"",class:`dp-social-icon dp-icon-${t}`,ariaHidden:"true"}],href:e.link,class:`dp-social-link dp-social-${t}`,ariaLabel:e.ariaLabel??pt[t]??e.icon,target:"_blank",rel:"noopener noreferrer"}}function oe(e,t,n){return{a:e,href:t,class:n,$:[Ce({href:t})]}}function ut(e){return{div:[{span:e.text,class:"dp-nav-dropdown-label"},{div:e.items.map(t=>oe(t.text,t.link)),class:"dp-nav-dropdown-menu"}],class:"dp-nav-dropdown"}}function De(e){let t=e.themeConfig.announcementBar;if(!t)return null;let n=t.id?t.id:"",r=[{span:t.text,class:"dp-announcement-text"}];return t.dismissible!==!1&&r.push({button:"\u2715",type:"button",class:"dp-announcement-close",dataDismissAnnouncement:"",ariaLabel:"Dismiss"}),{div:r,class:"dp-announcement",...n?{dataId:n}:{}}}function mt(e){let{config:t,route:n}=e;if(!t.locales)return null;let r=Object.entries(t.locales);if(r.length<=1)return null;let s="/",i=n;for(let[c]of r)if(c!=="/"&&n.startsWith(c.replace(/\/$/,""))){s=c,i=n.slice(c.replace(/\/$/,"").length)||"/";break}let a=t.locales[s];if(!a)return null;let l=r.map(([c,g])=>{let d=(c==="/"?"":c.replace(/\/$/,""))+(i==="/"?"/":i);return{a:g.label,href:d,class:`dp-locale-option${c===s?" active":""}`,...c===s?{ariaCurrent:"true"}:{},lang:g.lang}});return{div:[{span:["\u{1F310} ",a.label],class:"dp-locale-current"},{div:l,class:"dp-locale-menu"}],class:"dp-locale-switcher",ariaLabel:"Select language"}}function Te(e){let{config:t}=e,n=t.themeConfig.search!==!1,r=t.themeConfig.logo,s=r?typeof r=="string"?[{img:null,src:r,alt:t.title,class:"dp-logo-img"}]:[{img:null,src:r.light,alt:t.title,class:"dp-logo-img dp-logo-light"},{img:null,src:r.dark,alt:t.title,class:"dp-logo-img dp-logo-dark"}]:[],i=r?{a:s,href:t.base,class:"dp-logo"}:{a:t.title,href:t.base,class:"dp-logo"},a=(t.themeConfig.socialLinks??[]).map(gt),l=mt(e);return{header:[i,dt(),{nav:t.themeConfig.nav.map(c=>c.items?ut(c):oe(c.text,c.link)),$:[te({gap:4})],class:"dp-nav",ariaLabel:"Primary"},{div:[...n?[{div:[{input:null,type:"search",placeholder:typeof t.themeConfig.search=="object"&&t.themeConfig.search.placeholder||"Search...",class:"dp-search-static",ariaLabel:"Search documentation"}],dataIsland:"search",class:"dp-search-slot"}]:[],...a,...l?[l]:[],{button:"\u25D0",type:"button",class:"dp-theme-toggle",ariaLabel:"Toggle dark mode",dataThemeToggle:""},{button:"\u2630",type:"button",class:"dp-menu-toggle",ariaLabel:"Toggle menu",dataMenuToggle:""}],$:[te({gap:2})],class:"dp-header-actions"}],$:[te({gap:4})],class:"dp-header"}}function Le(e){return{span:e.text,class:`dp-badge dp-badge-${e.type??"tip"}`}}function ne(e,t,n){return n?{a:[{span:e},Le(n)],href:t,$:[Ce({href:t})],class:"dp-sidebar-link-with-badge"}:oe(e,t)}function ft(e){let t=[],n=e.items&&e.items.length>0;if(e.link)t.push(ne(e.text,e.link,e.badge));else{let s=[{span:e.text}];e.badge&&s.push(Le(e.badge)),n&&s.push({button:e.collapsed?"\u203A":"\u2039",type:"button",class:"dp-sidebar-toggle",ariaLabel:e.collapsed?"Expand":"Collapse",dataSidebarToggle:""}),t.push({div:s,class:"dp-sidebar-title"})}if(e.items){let s=[];for(let i of e.items)if(i.items){s.push({div:i.text,class:"dp-sidebar-subtitle"});for(let a of i.items)a.link&&s.push(ne(a.text,a.link,a.badge))}else i.link&&s.push(ne(i.text,i.link,i.badge));t.push({div:s,class:"dp-sidebar-items"})}let r=["dp-sidebar-group",n&&e.collapsed?"collapsed":""].filter(Boolean).join(" ");return{div:t,class:r}}function ht(e){return{nav:U(e.route,e.config).map(ft),class:"dp-sidebar",ariaLabel:"Documentation"}}function bt(e){if(e.frontmatter.aside===!1)return null;let[t,n]=e.config.themeConfig.outline?.level??[2,3],r=e.toc.filter(i=>i.level>=t&&i.level<=n);return r.length===0?null:{aside:[{div:e.config.themeConfig.tocTitle??"On this page",class:"dp-aside-title"},{nav:r.map(i=>({a:i.text,href:`#${i.slug}`,class:`dp-toc-${i.level}`})),class:"dp-toc"}],class:"dp-aside"}}function yt(e){let{prev:t,next:n}=ee(e.route,e.config);return!t&&!n?null:{nav:[t?{a:[{small:"Previous"},{span:t.text}],href:t.link,class:"prev"}:{span:""},n?{a:[{small:"Next"},{span:n.text}],href:n.link,class:"next"}:{span:""}],class:"dp-prevnext",ariaLabel:"Page navigation"}}function $t(e){let{editLink:t}=e.config.themeConfig,n=e.config.lastUpdated,r=t&&e.filePath,s=n&&e.lastUpdated;if(!r&&!s&&!e.readingTime)return null;let i=[];if(s){let l=new Date(e.lastUpdated).toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric"});i.push({span:["Last updated: ",{time:l,dateTime:e.lastUpdated,class:"dp-last-updated-date"}],class:"dp-last-updated"})}if(e.readingTime&&i.push({span:`${e.readingTime} min read`,class:"dp-reading-time"}),r){let l=t.pattern.replace(/:path/g,e.filePath);i.push({a:t.text??"Edit this page",href:l,class:"dp-edit-link",target:"_blank",rel:"noopener noreferrer"})}return{div:i,class:"dp-doc-footer"}}function xt(e){let t=e.badge;if(!t)return null;let n=typeof t=="string"?t:t.text??"",r=typeof t=="object"?t.type??"tip":"tip";return n?{span:n,class:`dp-badge dp-badge-${r} dp-page-badge`}:null}function F(e,t,n){let r=e.config.themeConfig.slots?.[t];return r?r(e):n(e)}function re(e){let t=e.config.themeConfig.slots,n=e.frontmatter.sidebar!==!1,r=[],s=xt(e.frontmatter);s&&r.push({div:[s],class:"dp-page-badge-row"}),r.push({div:e.body,class:"dp-content"});let i=F(e,"prevNext",yt);i&&r.push(i);let a=F(e,"docFooter",$t);a&&r.push(a);let l=n?F(e,"sidebar",ht):null,c=[...l?[l]:[],{main:r,class:`dp-main${n?"":" dp-main-full"}`}],g=F(e,"aside",bt);g&&n&&c.push(g);let m=F(e,"header",Te),d=De(e.config),u=t?.footer?t.footer(e):{footer:e.config.themeConfig.footerMessage??"",class:"dp-footer"};return{div:[...d?[d]:[],...m?[m]:[],{div:c,class:"dp-shell"},...u?[u]:[]]}}function kt(e){let t=[];return e.name&&t.push({div:e.name,class:"dp-hero-name"}),e.text&&t.push({h1:e.text,class:"dp-hero-text"}),e.tagline&&t.push({p:e.tagline,class:"dp-hero-tagline"}),e.actions?.length&&t.push({div:e.actions.map(n=>({a:n.text,href:n.link,class:`dp-hero-action ${n.theme??"brand"}`})),class:"dp-hero-actions"}),{section:t,class:"dp-hero"}}function vt(e){return{div:e.map(t=>{let n=[];t.icon&&n.push({div:t.icon,class:"dp-feature-icon"}),n.push({div:t.title,class:"dp-feature-title"}),n.push({p:t.details,class:"dp-feature-details"});let r={div:n,class:"dp-feature"};return t.link?{a:[r],href:t.link,class:"dp-feature-link"}:r}),class:"dp-features"}}function ie(e){let t=[],n=e.frontmatter.hero,r=e.frontmatter.features;n&&t.push(kt(n)),r?.length&&t.push(vt(r)),t.push({div:e.body,class:"dp-content dp-home"});let s=De(e.config);return{div:[...s?[s]:[],Te(e),{main:t,class:"dp-main dp-main-home"},{footer:e.config.themeConfig.footerMessage??"",class:"dp-footer"}]}}import{readFileSync as wt}from"fs";import{dirname as _e,extname as St,isAbsolute as Et,resolve as Me}from"path";import{splitFrontmatter as Ct,tokensToDomphy as Dt}from"@domphy/markdown";import Tt from"markdown-it";import Lt from"markdown-it-container";import Mt from"markdown-it-mark";import jt from"markdown-it-sub";import _t from"markdown-it-sup";import It from"markdown-it-include";import je from"markdown-it-emoji";var zt=It,At=Mt,Rt=jt,Ft=_t,Pt=je.full??je,Nt=/^<<<\s+(\S+?)(?:\s+\[([^\]]*)\])?\s*$/gm,Ht={".ts":"ts",".tsx":"tsx",".js":"js",".jsx":"jsx",".mjs":"js",".cjs":"js",".json":"json",".css":"css",".html":"html",".vue":"vue",".md":"markdown",".sh":"bash",".bash":"bash",".yml":"yaml",".yaml":"yaml",".rb":"ruby",".py":"python",".go":"go",".rs":"rust"};function Ot(e,t,n){return e.startsWith("@/")?Me(_e(n),e.slice(2)):Et(e)?e:Me(t,e)}function Ut(e,t,n){return e.replace(Nt,(r,s,i)=>{let a=Ot(s,t,n),l="```",c;try{c=wt(a,"utf8")}catch{return[l,`Could not import: ${s}`,l].join(`
4
+ `)}let g=Ht[St(a).toLowerCase()]??"",m=i?`${g} [${i}]`:g;return[l+m,c.trimEnd(),l].join(`
5
+ `)})}function Bt(e){return e.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,"").replace(/^\s*\n/,"")}var ce={tip:"TIP",warning:"WARNING",info:"INFO",danger:"DANGER",note:"NOTE",abstract:"ABSTRACT",success:"SUCCESS",question:"QUESTION",failure:"FAILURE",bug:"BUG",example:"EXAMPLE",quote:"QUOTE"};function se(e,t){return e.slice(e.indexOf(t)+t.length).trim()}function B(e,t,n,r,s,i){let a=new e(n,t,1);a.block=!0,s&&a.attrSet("class",s);let l=new e("inline","",0);l.content=i,l.children=[];let c=new e("text","",0);c.content=i,l.children.push(c);let g=new e(r,t,-1);return g.block=!0,[a,l,g]}function ae(e,t){let n=new e("html_block","",0);return n.content=t,n.block=!0,n}function Wt(e,t,n,r,s){let i=t[n];i.tag="div",i.attrSet("class","code-group");let a=t[r];a.tag="div";let l=[];for(let d=n+1;d<r;d++){let u=t[d];if(u.type!=="fence")continue;let b=(u.info??"").trim(),k=b.match(/\[([^\]]+)\]/),z=b.split(/\s+/,1)[0]??"";l.push({token:u,label:k?k[1]:z||"Code"})}if(l.length===0)return t.slice(n,r+1);let c=l.map((d,u)=>`<input type="radio" name="cg-${s}" id="cgt-${s}-${u}"${u===0?" checked":""}>`).join(""),g=l.map((d,u)=>`<label for="cgt-${s}-${u}">${R(d.label)}</label>`).join(""),m=[ae(e,`${c}<div class="tabs">${g}</div>`),ae(e,'<div class="blocks">')];return l.forEach(d=>{d.token.info=(d.token.info??"").replace(/\[[^\]]*\]/,"").trim(),m.push(d.token)}),m.push(ae(e,"</div>")),[i,...m,a]}function qt(e){if(e.length===0)return e;let t=e[0].constructor,n=[],r=0,s=Object.keys(ce).join("|"),i=new RegExp(`^container_(${s})_open$`),a=new RegExp(`^container_(${s})_close$`);for(let l=0;l<e.length;l++){let c=e[l],g=c.type.match(i);if(g){let m=g[1];c.tag="div",c.attrSet("class",`custom-block ${m}`);let d=se(c.info.trim(),m);n.push(c),n.push(...B(t,"p","paragraph_open","paragraph_close","custom-block-title",d||ce[m]||m.toUpperCase()));continue}if(a.test(c.type)){c.tag="div",n.push(c);continue}if(c.type==="container_details_open"){c.tag="details",c.attrSet("class","custom-block details"),n.push(c),n.push(...B(t,"summary","summary_open","summary_close",null,se(c.info.trim(),"details")||"Details"));continue}if(c.type==="container_details_close"){c.tag="details",n.push(c);continue}if(c.type==="container_steps_open"){c.tag="div",c.attrSet("class","custom-block steps"),n.push(c);continue}if(c.type==="container_steps_close"){c.tag="div",n.push(c);continue}if(c.type==="container_card-grid_open"){c.tag="div",c.attrSet("class","custom-block card-grid"),n.push(c);continue}if(c.type==="container_card-grid_close"){c.tag="div",n.push(c);continue}if(c.type==="container_card_open"){c.tag="div",c.attrSet("class","custom-block card");let m=se(c.info.trim(),"card");n.push(c),m&&n.push(...B(t,"p","paragraph_open","paragraph_close","card-title",m));continue}if(c.type==="container_card_close"){c.tag="div",n.push(c);continue}if(c.type==="container_link-card_open"){let m=c.info.trim().slice(9).trim(),d=m.match(/^\[([^\]]+)\]\(([^)]+)\)/),u=d?d[2]:"#",b=d?d[1]:m;c.tag="a",c.attrSet("class","custom-block link-card"),c.attrSet("href",u),n.push(c),b&&n.push(...B(t,"p","paragraph_open","paragraph_close","link-card-title",b));continue}if(c.type==="container_link-card_close"){c.tag="a",n.push(c);continue}if(c.type==="container_code-group_open"){let m=0,d=-1;for(let u=l;u<e.length;u++)if(e[u].type==="container_code-group_open")m++;else if(e[u].type==="container_code-group_close"&&(m--,m===0)){d=u;break}if(d===-1){n.push(c);continue}n.push(...Wt(t,e,l,d,r++)),l=d;continue}n.push(c)}return n}function Gt(e){if(e.length===0)return e;let t=e[0].constructor;for(let n=1;n<e.length;n++){let r=e[n];if(r.type!=="inline"||!r.children?.length)continue;let s=e[n-1];if(s?.type!=="list_item_open")continue;let i=r.children[0];if(i.type!=="text")continue;let a=i.content;if(!(a.startsWith("[ ] ")||a.startsWith("[x] ")||a.startsWith("[X] ")))continue;let c=a[1].toLowerCase()==="x";i.content=a.slice(4),r.content=r.content.replace(/^\[[ xX]\] /,""),s.attrSet("class",((s.attrGet("class")??"")+" task-list-item").trim());let g=new t("html_inline","",0);g.content=`<input type="checkbox"${c?" checked":""} disabled class="task-list-check" aria-label="${c?"done":"todo"}">`,r.children.unshift(g)}return e}function Kt(e,t){let n=new Tt({html:!0,linkify:!0,typographer:!1});n.enable(["strikethrough","table"]),n.use(zt,{root:e}),n.use(At),n.use(Rt),n.use(Ft),n.use(Pt);let r=()=>"",s=Object.keys(ce);for(let i of[...s,"details","code-group","steps","card","card-grid","link-card"])n.use(Lt,i,{render:r});return n.core.ruler.push("press_containers",i=>(i.tokens=qt(i.tokens),!0)),n.core.ruler.push("press_task_lists",i=>(i.tokens=Gt(i.tokens),!0)),n.core.ruler.push("press_fences",i=>{for(let a of i.tokens){if(a.type!=="fence")continue;let l=V(a.content,a.info??"",t);a.type="html_block",a.content=l,a.tag=""}return!0}),n.core.ruler.push("press_external_links",i=>{for(let a of i.tokens)if(!(a.type!=="inline"||!a.children))for(let l of a.children){if(l.type!=="link_open")continue;let c=l.attrGet("href")??"";(c.startsWith("http://")||c.startsWith("https://"))&&(l.attrSet("target","_blank"),l.attrSet("rel","noopener noreferrer"))}return!0}),n.core.ruler.push("press_image_lazy",i=>{for(let a of i.tokens)if(!(a.type!=="inline"||!a.children))for(let l of a.children)l.type==="image"&&l.attrSet("loading","lazy");return!0}),n}function Xt(e){let n=(e.split(/[\\/]/).pop()??e).replace(/\.md$/i,"");if(n.toLowerCase()==="index"){let r=e.split(/[\\/]/).filter(Boolean);return r[r.length-2]??n}return n}function Yt(e){return e.find(t=>t.level===1)?.text}function Ie(e){return e.map(t=>{if(!t||typeof t!="object"||Array.isArray(t))return t;let n=t,r=Object.keys(n).find(i=>/^h[1-6]$/.test(i));if(r&&typeof n.id=="string"){let i=n.id,a=Array.isArray(n[r])?[...n[r]]:n[r]!=null?[n[r]]:[];return a.push({a:"#",href:`#${i}`,class:"header-anchor",ariaHidden:"true"}),{...n,[r]:a}}let s=Object.keys(n).find(i=>/^[a-z][a-z0-9]*$/.test(i)&&i!=="style"&&i!=="class"&&!i.startsWith("data")&&!i.startsWith("on")&&!i.startsWith("aria")&&!i.startsWith("_")&&i!=="$"&&i!=="href"&&i!=="src"&&i!=="id"&&i!=="type"&&i!=="name");return s&&Array.isArray(n[s])?{...n,[s]:Ie(n[s])}:t})}async function le(e,t){let{filePath:n,docsDir:r,highlight:s}=t,i=_e(n),{frontmatter:a,content:l}=Ct(e),c=Bt(l),g=Ut(c,i,r),d=Kt(r,s).parse(g,{}),{body:u,toc:b}=Dt(d,{highlight:s}),k=Ie(u),K=(typeof a.title=="string"?a.title:void 0)??Yt(b)??Xt(n);return{frontmatter:a,body:k,toc:b,islands:[],title:K}}import{ElementNode as Jt,RecordState as Qt}from"@domphy/core";import{themeColor as ze,themeSpacing as j}from"@domphy/theme";import{card as Vt,inputSearch as Zt,link as en,menu as tn,small as nn}from"@domphy/ui";var on=3,rn=2,sn=1;function Re(e){let t=[];for(let n of e.toLowerCase().split(/[^\p{L}\p{N}]+/u))n.length>=2&&t.push(n);return t}function de(e,t,n,r){for(let s of Re(n)){let i=e.get(s);i||(i=new Map,e.set(s,i));let a=i.get(t);(a===void 0||r>a)&&i.set(t,r)}}function pe(e){let t=[],n=new Map;for(let s of e){let i=t.length;t.push({route:s.route,pageTitle:s.title,heading:s.title,slug:"",isPage:!0}),de(n,i,s.title,on),de(n,i,s.text,sn);for(let a of s.toc){let l=t.length;t.push({route:s.route,pageTitle:s.title,heading:a.text,slug:a.slug,isPage:!1}),de(n,l,a.text,rn)}}let r={};for(let[s,i]of Array.from(n.entries()).sort((a,l)=>a[0]<l[0]?-1:1))r[s]=Array.from(i.entries()).sort((a,l)=>a[0]-l[0]).map(([a,l])=>[a,l]);return JSON.stringify({entries:t,postings:r})}function Fe(e,t,n=10){let r=JSON.parse(e),s=Re(t);if(s.length===0)return[];let i=new Map,a=new Map;for(let c of s){let g=new Set;for(let m in r.postings){if(m!==c&&!m.startsWith(c))continue;let d=m===c;for(let[u,b]of r.postings[m]){let k=d?b:b*.5;i.set(u,(i.get(u)??0)+k),g.has(u)||(g.add(u),a.set(u,(a.get(u)??0)+1))}}}let l=[];for(let[c,g]of i){let m=r.entries[c],d=a.get(c)??0;l.push({route:m.route,pageTitle:m.pageTitle,heading:m.heading,slug:m.slug,isPage:m.isPage,score:d*100+g,href:m.slug?`${m.route}#${m.slug}`:m.route})}return l.sort((c,g)=>g.score!==c.score?g.score-c.score:c.route!==g.route?c.route<g.route?-1:1:c.isPage===g.isPage?0:c.isPage?-1:1),l.slice(0,n)}function Pe(e,t){return`dp-search-${e}-option-${t}`}var an=0;function cn(e,t,n,r){let s=Pe(n,t);return{a:[{div:e.isPage?e.pageTitle:e.heading},e.isPage?null:{small:e.pageTitle,$:[nn({color:"neutral"})]}],href:e.href,role:"option",id:s,ariaSelected:i=>r.get("active",i)===t||void 0,onClick:()=>{r.set("open",!1)},onMouseEnter:()=>{r.set("active",t)},$:[en({color:"neutral",accentColor:"primary"})],style:{display:"flex",flexDirection:"column",gap:j(1),paddingBlock:j(2),paddingInline:j(3),borderRadius:j(1),backgroundColor:i=>r.get("active",i)===t?ze(i,"shift-3","primary"):ze(i,"inherit","neutral")},_key:e.href}}function Ae(e,t){let n=e.get("index"),r=e.get("query"),s=n&&r.trim()?Fe(n,r,t):[];e.set("results",s),e.set("active",-1),e.set("open",s.length>0)}function Ne(e={}){let{indexUrl:t="/search-index.json",placeholder:n="Search docs\u2026",limit:r=10}=e,s=++an,i=`dp-search-${s}-listbox`,a=new Qt({index:null,query:"",results:[],open:!1,active:-1}),l=null;function c(d){d&&(a.set("open",!1),window.location.assign(d.href))}let g={input:null,type:"search",placeholder:n,autocomplete:"off",role:"combobox",ariaExpanded:d=>a.get("open",d)?"true":"false",ariaControls:i,ariaAutocomplete:"list",ariaActiveDescendant:d=>{let u=a.get("active",d);return u>=0?Pe(s,u):void 0},value:d=>a.get("query",d),onInput:d=>{a.set("query",d.target.value),l&&clearTimeout(l),l=setTimeout(()=>Ae(a,r),120)},onFocus:()=>{a.get("results").length>0&&a.set("open",!0)},onKeyDown:d=>{let u=a.get("results");if(d.key==="Escape"){a.set("open",!1),a.set("active",-1);return}if(d.key==="ArrowDown"){if(!u.length)return;d.preventDefault(),a.set("open",!0),a.set("active",(a.get("active")+1)%u.length);return}if(d.key==="ArrowUp"){if(!u.length)return;d.preventDefault(),a.set("active",(a.get("active")-1+u.length)%u.length);return}if(d.key==="Enter"){let b=a.get("active");c(b>=0?u[b]:u[0])}},$:[Zt({color:"neutral",accentColor:"primary"})],style:{width:"100%"}},m={div:d=>a.get("open",d)?a.get("results",d).map((u,b)=>cn(u,b,s,a)):[],id:i,role:"listbox",$:[tn({selectable:!1,color:"neutral"}),Vt({color:"neutral"})],style:{display:d=>a.get("open",d)?"block":"none",position:"absolute",insetInlineStart:0,insetInlineEnd:0,marginBlockStart:j(1),maxHeight:j(80),overflowY:"auto",zIndex:"50"}};return{div:[g,m],role:"search",style:{position:"relative",display:"block",width:"100%"},_onMount:d=>{fetch(t).then(k=>k.text()).then(k=>{a.set("index",k),a.get("query").trim()&&Ae(a,r)}).catch(()=>{});let u=d.domElement,b=k=>{u.contains(k.target)||a.set("open",!1)};document.addEventListener("pointerdown",b),d.setMetadata("dpSearchHandler",b)},_onRemove:d=>{let u=d.getMetadata("dpSearchHandler");u&&document.removeEventListener("pointerdown",u),l&&clearTimeout(l)}}}function ln(e,t={}){for(;e.firstChild;)e.removeChild(e.firstChild);let n=new Jt(Ne(t));return n.render(e),n}import{themeColor as dn,themeSpacing as pn}from"@domphy/theme";var h=(e,t)=>dn(null,e,t),o=e=>pn(e),v=h("inherit"),x=h("shift-1"),L=h("shift-2"),f=h("shift-3"),y=h("shift-6"),C=h("shift-9"),D=h("shift-11"),$=h("shift-9","primary"),gn=h("shift-10","primary"),_=o(14),He=o(62),un=o(56),ge=o(190);function ue(){return`
6
6
  /* ------------------------------------------------------------------ reset */
7
7
  *,*::before,*::after{box-sizing:border-box}
8
- html{scroll-behavior:smooth;scroll-padding-top:calc(${I} + ${o(4)})}
9
- body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;background:${k};color:${T};line-height:1.6;font-size:16px}
8
+ html{scroll-behavior:smooth;scroll-padding-top:calc(${_} + ${o(4)})}
9
+ body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;background:${v};color:${C};line-height:1.6;font-size:16px}
10
10
  a{color:${$};text-decoration:none}
11
11
  a:hover{text-decoration:underline}
12
12
 
13
13
  /* -------------------------------------------------------- announcement bar */
14
- .dp-announcement{display:flex;align-items:center;justify-content:center;gap:${o(3)};padding:${o(2.5)} ${o(6)};background:${$};color:${k};font-size:14px;font-weight:500;text-align:center}
15
- .dp-announcement a{color:${k};font-weight:700}
16
- .dp-announcement-close{background:none;border:none;color:${k};cursor:pointer;font-size:14px;opacity:.7;padding:${o(.5)} ${o(1.5)};border-radius:${o(1)};flex-shrink:0}
14
+ .dp-announcement{display:flex;align-items:center;justify-content:center;gap:${o(3)};padding:${o(2.5)} ${o(6)};background:${$};color:${v};font-size:14px;font-weight:500;text-align:center}
15
+ .dp-announcement a{color:${v};font-weight:700}
16
+ .dp-announcement-close{background:none;border:none;color:${v};cursor:pointer;font-size:14px;opacity:.7;padding:${o(.5)} ${o(1.5)};border-radius:${o(1)};flex-shrink:0}
17
17
  .dp-announcement-close:hover{opacity:1}
18
18
 
19
19
  /* ------------------------------------------------------------------ header */
20
20
  .dp-logo{font-weight:700;font-size:18px;color:${D};white-space:nowrap;flex-shrink:0}
21
21
  .dp-logo:hover{text-decoration:none}
22
22
  .dp-logo-img{height:${o(7)};width:auto;display:block}
23
- .dp-nav a{color:${b};font-size:14px;font-weight:500;white-space:nowrap;line-height:1}
23
+ .dp-nav a{color:${y};font-size:14px;font-weight:500;white-space:nowrap;line-height:1}
24
24
  .dp-nav a:hover,.dp-nav a[aria-current="page"]{color:${$};text-decoration:none}
25
25
  .dp-nav-dropdown{position:relative;display:flex;align-items:center}
26
- .dp-nav-dropdown-label{color:${b};font-size:14px;font-weight:500;cursor:pointer;user-select:none}
26
+ .dp-nav-dropdown-label{color:${y};font-size:14px;font-weight:500;cursor:pointer;user-select:none}
27
27
  .dp-nav-dropdown-label::after{content:" \u25BE";font-size:10px;opacity:.6}
28
- .dp-nav-dropdown-menu{display:none;position:absolute;top:calc(100% + ${o(2)});right:0;background:${w};border:1px solid ${h};border-radius:${o(2)};padding:${o(1.5)};min-width:${o(40)};z-index:100;flex-direction:column;gap:${o(.5)};box-shadow:0 4px 16px rgba(0,0,0,.1)}
28
+ .dp-nav-dropdown-menu{display:none;position:absolute;top:calc(100% + ${o(2)});right:0;background:${x};border:1px solid ${f};border-radius:${o(2)};padding:${o(1.5)};min-width:${o(40)};z-index:100;flex-direction:column;gap:${o(.5)};box-shadow:0 4px 16px rgba(0,0,0,.1)}
29
29
  .dp-nav-dropdown-menu a{display:block;padding:${o(1.25)} ${o(2.5)};border-radius:${o(1.25)};font-size:13px}
30
- .dp-nav-dropdown-menu a:hover{background:${j}}
30
+ .dp-nav-dropdown-menu a:hover{background:${L}}
31
31
  .dp-nav-dropdown:hover .dp-nav-dropdown-menu,.dp-nav-dropdown:focus-within .dp-nav-dropdown-menu{display:flex}
32
32
  .dp-header-actions{flex-shrink:0}
33
33
  .dp-search-slot{width:${o(50)}}
34
- .dp-search-static{width:100%;height:${o(8)};padding:0 ${o(2.5)};border:1px solid ${h};border-radius:${o(1.5)};background:${w};color:${b};font-size:13px;font-family:inherit;outline:none;cursor:pointer}
35
- .dp-search-static::placeholder{color:${b}}
36
- .dp-theme-toggle,.dp-menu-toggle{border:1px solid ${h};background:${w};color:${T};border-radius:${o(2)};width:${o(8.5)};height:${o(8.5)};cursor:pointer;font-size:16px}
34
+ .dp-search-static{width:100%;height:${o(8)};padding:0 ${o(2.5)};border:1px solid ${f};border-radius:${o(1.5)};background:${x};color:${y};font-size:13px;font-family:inherit;outline:none;cursor:pointer}
35
+ .dp-search-static::placeholder{color:${y}}
36
+ .dp-theme-toggle,.dp-menu-toggle{border:1px solid ${f};background:${x};color:${C};border-radius:${o(2)};width:${o(8.5)};height:${o(8.5)};cursor:pointer;font-size:16px}
37
37
  .dp-menu-toggle{display:none}
38
38
 
39
+ /* --------------------------------------------------------- locale switcher */
40
+ .dp-locale-switcher{position:relative;display:flex;align-items:center}
41
+ .dp-locale-current{color:${y};font-size:13px;font-weight:500;cursor:pointer;user-select:none;padding:${o(1)} ${o(2)};border:1px solid ${f};border-radius:${o(1.5)};background:${x};white-space:nowrap;display:flex;align-items:center;gap:${o(1)}}
42
+ .dp-locale-current::after{content:" \u25BE";font-size:10px;opacity:.6}
43
+ .dp-locale-menu{display:none;position:absolute;top:calc(100% + ${o(2)});right:0;background:${x};border:1px solid ${f};border-radius:${o(2)};padding:${o(1.5)};min-width:${o(32)};z-index:200;flex-direction:column;gap:${o(.5)};box-shadow:0 4px 16px rgba(0,0,0,.1)}
44
+ .dp-locale-switcher:hover .dp-locale-menu,.dp-locale-switcher:focus-within .dp-locale-menu{display:flex}
45
+ .dp-locale-option{display:block;padding:${o(1.25)} ${o(2.5)};border-radius:${o(1.25)};font-size:13px;color:${y}}
46
+ .dp-locale-option:hover{background:${L};color:${C};text-decoration:none}
47
+ .dp-locale-option.active{color:${$};font-weight:600}
48
+
49
+ /* -------------------------------------------------- logo light/dark variant */
50
+ [data-theme="dark"] .dp-logo-light{display:none}
51
+ [data-theme="light"] .dp-logo-dark,.dp-logo-dark{display:none}
52
+ [data-theme="dark"] .dp-logo-dark{display:block}
53
+
39
54
  /* ------------------------------------------------------------ social links */
40
- .dp-social-link{display:inline-flex;align-items:center;justify-content:center;width:${o(8.5)};height:${o(8.5)};border-radius:${o(2)};color:${b};background:${w};border:1px solid ${h};font-size:10px;font-weight:700;flex-shrink:0}
41
- .dp-social-link:hover{color:${T};border-color:${b};text-decoration:none}
55
+ .dp-social-link{display:inline-flex;align-items:center;justify-content:center;width:${o(8.5)};height:${o(8.5)};border-radius:${o(2)};color:${y};background:${x};border:1px solid ${f};font-size:10px;font-weight:700;flex-shrink:0}
56
+ .dp-social-link:hover{color:${C};border-color:${y};text-decoration:none}
42
57
  .dp-social-icon{display:block;width:${o(4)};height:${o(4)};background:currentColor;flex-shrink:0}
43
58
  .dp-icon-github{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C6.477 2 2 6.477 2 12c0 4.42 2.865 8.17 6.839 9.49.5.092.682-.217.682-.482 0-.237-.008-.866-.013-1.7-2.782.603-3.369-1.342-3.369-1.342-.454-1.155-1.11-1.463-1.11-1.463-.908-.62.069-.608.069-.608 1.003.07 1.531 1.03 1.531 1.03.892 1.529 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.11-4.555-4.943 0-1.091.39-1.984 1.029-2.683-.103-.253-.446-1.27.098-2.647 0 0 .84-.269 2.75 1.025A9.578 9.578 0 0 1 12 6.836c.85.004 1.705.115 2.504.337 1.909-1.294 2.747-1.025 2.747-1.025.546 1.377.202 2.394.1 2.647.64.699 1.028 1.592 1.028 2.683 0 3.842-2.339 4.687-4.566 4.935.359.309.678.919.678 1.852 0 1.336-.012 2.415-.012 2.741 0 .267.18.578.688.48C19.138 20.167 22 16.418 22 12c0-5.523-4.477-10-10-10z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C6.477 2 2 6.477 2 12c0 4.42 2.865 8.17 6.839 9.49.5.092.682-.217.682-.482 0-.237-.008-.866-.013-1.7-2.782.603-3.369-1.342-3.369-1.342-.454-1.155-1.11-1.463-1.11-1.463-.908-.62.069-.608.069-.608 1.003.07 1.531 1.03 1.531 1.03.892 1.529 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.11-4.555-4.943 0-1.091.39-1.984 1.029-2.683-.103-.253-.446-1.27.098-2.647 0 0 .84-.269 2.75 1.025A9.578 9.578 0 0 1 12 6.836c.85.004 1.705.115 2.504.337 1.909-1.294 2.747-1.025 2.747-1.025.546 1.377.202 2.394.1 2.647.64.699 1.028 1.592 1.028 2.683 0 3.842-2.339 4.687-4.566 4.935.359.309.678.919.678 1.852 0 1.336-.012 2.415-.012 2.741 0 .267.18.578.688.48C19.138 20.167 22 16.418 22 12c0-5.523-4.477-10-10-10z'/%3E%3C/svg%3E") center/contain no-repeat}
44
59
  .dp-icon-twitter{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-4.714-6.231-5.401 6.231H2.744l7.737-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-4.714-6.231-5.401 6.231H2.744l7.737-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z'/%3E%3C/svg%3E") center/contain no-repeat}
45
60
  .dp-icon-discord{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.27 18.27 0 0 0-5.487 0 12.64 12.64 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057c.01.044.032.084.064.107a19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028 14.09 14.09 0 0 0 1.226-1.994.076.076 0 0 0-.041-.106 13.107 13.107 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10.2 10.2 0 0 0 .372-.292.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01 10.2 10.2 0 0 0 .373.292.077.077 0 0 1-.006.127 12.299 12.299 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.839 19.839 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.27 18.27 0 0 0-5.487 0 12.64 12.64 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057c.01.044.032.084.064.107a19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028 14.09 14.09 0 0 0 1.226-1.994.076.076 0 0 0-.041-.106 13.107 13.107 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10.2 10.2 0 0 0 .372-.292.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01 10.2 10.2 0 0 0 .373.292.077.077 0 0 1-.006.127 12.299 12.299 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.839 19.839 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03z'/%3E%3C/svg%3E") center/contain no-repeat}
46
61
 
47
62
  /* ------------------------------------------------------------------ layout */
48
- .dp-shell{display:grid;grid-template-columns:${Fe} minmax(0,1fr) ${pn};align-items:start;max-width:1440px;margin:0 auto}
49
- .dp-sidebar{position:sticky;top:${I};max-height:calc(100vh - ${I});overflow-y:auto;padding:${o(6)} ${o(3)} ${o(12)} ${o(6)};border-right:1px solid ${h}}
63
+ .dp-shell{display:grid;grid-template-columns:${He} minmax(0,1fr) ${un};align-items:start;max-width:1440px;margin:0 auto}
64
+ .dp-sidebar{position:sticky;top:${_};max-height:calc(100vh - ${_});overflow-y:auto;padding:${o(6)} ${o(3)} ${o(12)} ${o(6)};border-right:1px solid ${f}}
50
65
  .dp-sidebar-group{margin-bottom:${o(3.5)}}
51
66
  .dp-sidebar-title{display:flex;align-items:center;gap:${o(1.5)};font-size:13px;font-weight:700;color:${D};margin:${o(2)} 0 ${o(1)}}
52
- .dp-sidebar-subtitle{font-size:12px;color:${b};padding:${o(1)} ${o(3)};font-weight:600}
67
+ .dp-sidebar-subtitle{font-size:12px;color:${y};padding:${o(1)} ${o(3)};font-weight:600}
53
68
  .dp-sidebar-items{display:flex;flex-direction:column}
54
- .dp-sidebar-toggle{margin-left:auto;background:none;border:none;cursor:pointer;color:${b};font-size:14px;padding:0 ${o(1)};line-height:1}
55
- .dp-sidebar-toggle:hover{color:${T}}
69
+ .dp-sidebar-toggle{margin-left:auto;background:none;border:none;cursor:pointer;color:${y};font-size:14px;padding:0 ${o(1)};line-height:1}
70
+ .dp-sidebar-toggle:hover{color:${C}}
56
71
  .dp-sidebar-group.collapsed .dp-sidebar-items{display:none}
57
- .dp-sidebar a{display:flex;align-items:center;gap:${o(1.5)};padding:${o(1.25)} ${o(3)};font-size:14px;color:${b};border-radius:${o(1.5)}}
58
- .dp-sidebar a:hover{color:${T};text-decoration:none}
59
- .dp-sidebar a[aria-current="page"]{color:${$};font-weight:600;background:${w}}
72
+ .dp-sidebar a{display:flex;align-items:center;gap:${o(1.5)};padding:${o(1.25)} ${o(3)};font-size:14px;color:${y};border-radius:${o(1.5)}}
73
+ .dp-sidebar a:hover{color:${C};text-decoration:none}
74
+ .dp-sidebar a[aria-current="page"]{color:${$};font-weight:600;background:${x}}
60
75
  .dp-sidebar-link-with-badge{display:flex;align-items:center}
61
76
  .dp-main{padding:${o(8)} ${o(12)} ${o(20)};min-width:0}
62
- .dp-content{max-width:${Ne}}
63
- .dp-aside{position:sticky;top:${I};max-height:calc(100vh - ${I});overflow-y:auto;padding:${o(8)} ${o(6)};font-size:13px}
64
- .dp-aside-title{font-weight:700;margin-bottom:${o(2)};color:${T}}
65
- .dp-toc a{display:block;padding:${o(.75)} 0;color:${b}}
77
+ .dp-main-full{grid-column:1 / -1;max-width:${ge};margin:0 auto}
78
+ .dp-content{max-width:${ge}}
79
+ .dp-aside{position:sticky;top:${_};max-height:calc(100vh - ${_});overflow-y:auto;padding:${o(8)} ${o(6)};font-size:13px}
80
+ .dp-aside-title{font-weight:700;margin-bottom:${o(2)};color:${C}}
81
+ .dp-toc a{display:block;padding:${o(.75)} 0;color:${y}}
66
82
  .dp-toc a:hover{color:${$};text-decoration:none}
67
83
  .dp-toc-2{padding-left:0}
68
84
  .dp-toc-3{padding-left:${o(3)}}
69
85
  .dp-toc-4{padding-left:${o(6)}}
70
86
 
87
+ /* -------------------------------------------------- card / link-card / card-grid */
88
+ .custom-block.card{background:${x};border:1px solid ${f};border-radius:${o(3)};padding:${o(5)} ${o(6)};margin:${o(3)} 0}
89
+ .custom-block.card .card-title{font-size:16px;font-weight:600;color:${D};margin:0 0 ${o(2)}}
90
+ .custom-block.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(${o(56)},1fr));gap:${o(4)};margin:${o(4)} 0}
91
+ a.custom-block.link-card{display:block;background:${x};border:1px solid ${f};border-radius:${o(3)};padding:${o(5)} ${o(6)};margin:${o(3)} 0;transition:border-color .15s,background .15s;text-decoration:none;color:${C}}
92
+ a.custom-block.link-card:hover{border-color:${$};background:${L};text-decoration:none}
93
+ a.custom-block.link-card .link-card-title{font-size:16px;font-weight:600;color:${$};margin:0 0 ${o(2)}}
94
+ .custom-block.card-grid .custom-block.card,.custom-block.card-grid a.custom-block.link-card{margin:0}
95
+
71
96
  /* ------------------------------------------------------------------ badges */
72
97
  .dp-badge{display:inline-block;padding:${o(.5)} ${o(1.75)};border-radius:${o(2.5)};font-size:11px;font-weight:700;line-height:1.4;white-space:nowrap;vertical-align:middle}
73
- .dp-badge-tip{background:color-mix(in srgb,${$} 12%,${k});color:${$}}
74
- .dp-badge-info{background:${j};color:${b}}
75
- .dp-badge-warning{background:color-mix(in srgb,${f("shift-9","warning")} 12%,${k});color:${f("shift-9","warning")}}
76
- .dp-badge-danger{background:color-mix(in srgb,${f("shift-9","danger")} 12%,${k});color:${f("shift-9","danger")}}
98
+ .dp-badge-tip{background:color-mix(in srgb,${$} 12%,${v});color:${$}}
99
+ .dp-badge-info{background:${L};color:${y}}
100
+ .dp-badge-warning{background:color-mix(in srgb,${h("shift-9","warning")} 12%,${v});color:${h("shift-9","warning")}}
101
+ .dp-badge-danger{background:color-mix(in srgb,${h("shift-9","danger")} 12%,${v});color:${h("shift-9","danger")}}
77
102
  .dp-page-badge{margin-left:${o(2)}}
78
103
  .dp-page-badge-row{margin-bottom:${o(-2)}}
79
104
 
80
105
  /* ------------------------------------------------------------------- prose */
81
106
  .dp-content h1{font-size:30px;font-weight:700;line-height:1.25;margin:0 0 ${o(6)};letter-spacing:-.02em;color:${D}}
82
- .dp-content h2{font-size:22px;font-weight:700;margin:${o(11)} 0 ${o(4)};padding-top:${o(5)};border-top:1px solid ${h};letter-spacing:-.01em;color:${D}}
107
+ .dp-content h2{font-size:22px;font-weight:700;margin:${o(11)} 0 ${o(4)};padding-top:${o(5)};border-top:1px solid ${f};letter-spacing:-.01em;color:${D}}
83
108
  .dp-content h3{font-size:18px;font-weight:600;margin:${o(7)} 0 ${o(3)};color:${D}}
84
109
  .dp-content h4{font-size:16px;font-weight:600;margin:${o(5.5)} 0 ${o(2)};color:${D}}
85
110
  .dp-content p{margin:${o(4)} 0}
@@ -88,22 +113,22 @@ a:hover{text-decoration:underline}
88
113
  .dp-content a{font-weight:500}
89
114
  .dp-content strong{font-weight:600;color:${D}}
90
115
  .dp-content em{font-style:italic}
91
- .dp-content mark{background:color-mix(in srgb,${f("shift-6","warning")} 40%,${k});color:inherit;padding:${o(.25)} ${o(.75)};border-radius:${o(.75)}}
116
+ .dp-content mark{background:color-mix(in srgb,${h("shift-6","warning")} 40%,${v});color:inherit;padding:${o(.25)} ${o(.75)};border-radius:${o(.75)}}
92
117
  .dp-content sup{font-size:.75em;vertical-align:super}
93
118
  .dp-content sub{font-size:.75em;vertical-align:sub}
94
119
  .dp-content del{opacity:.5}
95
- .dp-content blockquote{margin:${o(4)} 0;padding:0 ${o(4)};border-left:3px solid ${h};color:${b}}
120
+ .dp-content blockquote{margin:${o(4)} 0;padding:0 ${o(4)};border-left:3px solid ${f};color:${y}}
96
121
  .dp-content img{max-width:100%;height:auto;border-radius:${o(1.5)}}
97
- .dp-content hr{border:none;border-top:1px solid ${h};margin:${o(8)} 0}
98
- .dp-content :not(pre)>code{font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,monospace;font-size:.85em;background:${j};padding:${o(.75)} ${o(1.5)};border-radius:${o(1)}}
99
- .dp-content pre{margin:${o(4)} 0;padding:${o(4)} ${o(5)};background:${w};border:1px solid ${h};border-radius:${o(2)};overflow-x:auto;font-size:13.5px;line-height:1.5}
122
+ .dp-content hr{border:none;border-top:1px solid ${f};margin:${o(8)} 0}
123
+ .dp-content :not(pre)>code{font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,monospace;font-size:.85em;background:${L};padding:${o(.75)} ${o(1.5)};border-radius:${o(1)}}
124
+ .dp-content pre{margin:${o(4)} 0;padding:${o(4)} ${o(5)};background:${x};border:1px solid ${f};border-radius:${o(2)};overflow-x:auto;font-size:13.5px;line-height:1.5}
100
125
  .dp-content pre code{font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,monospace;background:none;padding:0}
101
126
  .dp-content table{border-collapse:collapse;margin:${o(4)} 0;display:block;overflow-x:auto}
102
- .dp-content th,.dp-content td{border:1px solid ${h};padding:${o(2)} ${o(3.5)};text-align:left}
103
- .dp-content th{background:${w};font-weight:600}
127
+ .dp-content th,.dp-content td{border:1px solid ${f};padding:${o(2)} ${o(3.5)};text-align:left}
128
+ .dp-content th{background:${x};font-weight:600}
104
129
 
105
130
  /* -------------------------------------------------------- heading anchors */
106
- .header-anchor{opacity:0;margin-left:${o(2)};font-weight:400;font-size:.85em;color:${b};transition:opacity .15s}
131
+ .header-anchor{opacity:0;margin-left:${o(2)};font-weight:400;font-size:.85em;color:${y};transition:opacity .15s}
107
132
  :is(h1,h2,h3,h4,h5,h6):hover .header-anchor{opacity:1}
108
133
  .header-anchor:hover{color:${$};text-decoration:none}
109
134
 
@@ -115,119 +140,119 @@ a:hover{text-decoration:underline}
115
140
  .task-list-check{position:absolute;left:0;top:.25em;width:14px;height:14px;cursor:default;accent-color:${$}}
116
141
 
117
142
  /* ------------------------------------------------------------ code blocks */
118
- .code-block{margin:${o(4)} 0;border:1px solid ${h};border-radius:${o(2)};overflow:hidden}
119
- .code-block-title{display:flex;align-items:center;padding:${o(1.5)} ${o(4)};background:${j};border-bottom:1px solid ${h};font-size:12px;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,monospace;color:${b}}
143
+ .code-block{margin:${o(4)} 0;border:1px solid ${f};border-radius:${o(2)};overflow:hidden}
144
+ .code-block-title{display:flex;align-items:center;padding:${o(1.5)} ${o(4)};background:${L};border-bottom:1px solid ${f};font-size:12px;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,monospace;color:${y}}
120
145
  .code-block-inner{position:relative}
121
- .code-block pre{margin:0;padding:${o(4)} ${o(5)};background:${w};border:none;border-radius:0;overflow-x:auto;font-size:13.5px;line-height:1.5;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,monospace}
146
+ .code-block pre{margin:0;padding:${o(4)} ${o(5)};background:${x};border:none;border-radius:0;overflow-x:auto;font-size:13.5px;line-height:1.5;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,monospace}
122
147
  .code-block code{font-family:inherit;background:none;padding:0;font-size:inherit}
123
148
  .code-block .line{display:inline-block;width:100%}
124
149
  .code-block .line.highlighted{background:color-mix(in srgb,${$} 10%,transparent)}
125
- .code-block .line.diff.add{background:color-mix(in srgb,${f("shift-7","success")} 12%,transparent)}
126
- .code-block .line.diff.add::before{content:"+ ";color:${f("shift-7","success")}}
127
- .code-block .line.diff.remove{background:color-mix(in srgb,${f("shift-9","danger")} 10%,transparent);opacity:.7}
128
- .code-block .line.diff.remove::before{content:"- ";color:${f("shift-9","danger")}}
129
- .code-block .line.highlighted.error{background:color-mix(in srgb,${f("shift-9","error")} 10%,transparent)}
130
- .code-block .line.highlighted.warning{background:color-mix(in srgb,${f("shift-7","warning")} 10%,transparent)}
150
+ .code-block .line.diff.add{background:color-mix(in srgb,${h("shift-7","success")} 12%,transparent)}
151
+ .code-block .line.diff.add::before{content:"+ ";color:${h("shift-7","success")}}
152
+ .code-block .line.diff.remove{background:color-mix(in srgb,${h("shift-9","danger")} 10%,transparent);opacity:.7}
153
+ .code-block .line.diff.remove::before{content:"- ";color:${h("shift-9","danger")}}
154
+ .code-block .line.highlighted.error{background:color-mix(in srgb,${h("shift-9","error")} 10%,transparent)}
155
+ .code-block .line.highlighted.warning{background:color-mix(in srgb,${h("shift-7","warning")} 10%,transparent)}
131
156
  .code-block pre.has-focus .line:not(.focus){opacity:.4;filter:blur(.4px);transition:opacity .2s,filter .2s}
132
157
  .code-block pre.has-focus:hover .line{opacity:1;filter:none}
133
- .code-block .line-number{display:inline-block;min-width:2.5em;margin-right:1em;color:${b};text-align:right;user-select:none;font-size:.9em}
134
- .code-copy-btn{position:absolute;top:${o(2)};right:${o(2)};padding:${o(1)} ${o(2)};border-radius:${o(1.25)};border:1px solid ${h};background:${w};color:${b};cursor:pointer;font-size:13px;opacity:0;transition:opacity .15s}
158
+ .code-block .line-number{display:inline-block;min-width:2.5em;margin-right:1em;color:${y};text-align:right;user-select:none;font-size:.9em}
159
+ .code-copy-btn{position:absolute;top:${o(2)};right:${o(2)};padding:${o(1)} ${o(2)};border-radius:${o(1.25)};border:1px solid ${f};background:${x};color:${y};cursor:pointer;font-size:13px;opacity:0;transition:opacity .15s}
135
160
  .code-block-inner:hover .code-copy-btn{opacity:1}
136
- .code-copy-btn:hover{background:${j};color:${T}}
161
+ .code-copy-btn:hover{background:${L};color:${C}}
137
162
 
138
163
  /* ------------------------------------------------------------- code groups */
139
- .code-group{margin:${o(4)} 0;border:1px solid ${h};border-radius:${o(2)};overflow:hidden}
164
+ .code-group{margin:${o(4)} 0;border:1px solid ${f};border-radius:${o(2)};overflow:hidden}
140
165
  .code-group>input[type="radio"]{position:absolute;opacity:0;pointer-events:none;width:0;height:0}
141
- .code-group .tabs{display:flex;gap:${o(.5)};padding:${o(1.5)} ${o(2)};background:${w};border-bottom:1px solid ${h};flex-wrap:wrap}
142
- .code-group .tabs label{padding:${o(1)} ${o(3)};font-size:13px;font-weight:500;color:${b};border-radius:${o(1.25)};cursor:pointer}
166
+ .code-group .tabs{display:flex;gap:${o(.5)};padding:${o(1.5)} ${o(2)};background:${x};border-bottom:1px solid ${f};flex-wrap:wrap}
167
+ .code-group .tabs label{padding:${o(1)} ${o(3)};font-size:13px;font-weight:500;color:${y};border-radius:${o(1.25)};cursor:pointer}
143
168
  .code-group .blocks>.code-block{display:none;margin:0;border:none;border-radius:0}
144
169
  .code-group .blocks>.code-block pre{border-radius:0}
145
170
  ${Array.from({length:8},(e,t)=>`.code-group>input:nth-of-type(${t+1}):checked~.blocks>.code-block:nth-child(${t+1})`).join(`,
146
171
  `)}{display:block}
147
172
  ${Array.from({length:8},(e,t)=>`.code-group>input:nth-of-type(${t+1}):checked~.tabs>label:nth-child(${t+1})`).join(`,
148
- `)}{color:${$};background:${j}}
173
+ `)}{color:${$};background:${L}}
149
174
 
150
175
  /* --------------------------------------------------------- custom blocks */
151
176
  .custom-block{margin:${o(4)} 0;padding:${o(3)} ${o(4)};border-radius:${o(2)};border:1px solid transparent;font-size:14.5px}
152
177
  .custom-block p{margin:${o(2)} 0}
153
178
  .custom-block-title{font-weight:700;margin:0 0 ${o(1)} !important;font-size:13px}
154
- .custom-block.tip,.custom-block.success{background:color-mix(in srgb,${$} 8%,${k});border-color:color-mix(in srgb,${$} 28%,transparent)}
155
- .custom-block.info,.custom-block.note,.custom-block.abstract{background:${w};border-color:${h}}
156
- .custom-block.warning,.custom-block.question{background:color-mix(in srgb,${f("shift-6","warning")} 10%,${k});border-color:${f("shift-6","warning")}}
157
- .custom-block.danger,.custom-block.failure,.custom-block.bug{background:color-mix(in srgb,${f("shift-7","danger")} 10%,${k});border-color:${f("shift-7","danger")}}
158
- .custom-block.example{background:color-mix(in srgb,${f("shift-7","secondary")} 10%,${k});border-color:${f("shift-7","secondary")}}
159
- .custom-block.quote{background:${w};border-color:${h};border-left-width:4px;border-radius:0 ${o(2)} ${o(2)} 0}
179
+ .custom-block.tip,.custom-block.success{background:color-mix(in srgb,${$} 8%,${v});border-color:color-mix(in srgb,${$} 28%,transparent)}
180
+ .custom-block.info,.custom-block.note,.custom-block.abstract{background:${x};border-color:${f}}
181
+ .custom-block.warning,.custom-block.question{background:color-mix(in srgb,${h("shift-6","warning")} 10%,${v});border-color:${h("shift-6","warning")}}
182
+ .custom-block.danger,.custom-block.failure,.custom-block.bug{background:color-mix(in srgb,${h("shift-7","danger")} 10%,${v});border-color:${h("shift-7","danger")}}
183
+ .custom-block.example{background:color-mix(in srgb,${h("shift-7","secondary")} 10%,${v});border-color:${h("shift-7","secondary")}}
184
+ .custom-block.quote{background:${x};border-color:${f};border-left-width:4px;border-radius:0 ${o(2)} ${o(2)} 0}
160
185
  details.custom-block summary{cursor:pointer;font-weight:600}
161
186
 
162
187
  /* ------------------------------------------------------------------- steps */
163
188
  .custom-block.steps{background:none;border:none;padding:0}
164
189
  .custom-block.steps>ol{counter-reset:step;list-style:none;padding:0;margin:0}
165
190
  .custom-block.steps>ol>li{counter-increment:step;display:grid;grid-template-columns:${o(9)} 1fr;gap:0 ${o(4)};margin-bottom:${o(6)}}
166
- .custom-block.steps>ol>li::before{content:counter(step);display:flex;align-items:center;justify-content:center;width:${o(7.5)};height:${o(7.5)};border-radius:50%;background:${$};color:${k};font-size:13px;font-weight:700;flex-shrink:0}
191
+ .custom-block.steps>ol>li::before{content:counter(step);display:flex;align-items:center;justify-content:center;width:${o(7.5)};height:${o(7.5)};border-radius:50%;background:${$};color:${v};font-size:13px;font-weight:700;flex-shrink:0}
167
192
 
168
193
  /* ----------------------------------------------------------------- mermaid */
169
194
  .dp-mermaid{margin:${o(5)} 0;text-align:center;overflow-x:auto}
170
195
  .dp-mermaid svg{max-width:100%;height:auto}
171
196
 
172
197
  /* --------------------------------------------------------------- doc footer */
173
- .dp-doc-footer{display:flex;align-items:center;gap:${o(4)};flex-wrap:wrap;margin-top:${o(8)};padding-top:${o(5)};border-top:1px solid ${h};font-size:13px;color:${b}}
198
+ .dp-doc-footer{display:flex;align-items:center;gap:${o(4)};flex-wrap:wrap;margin-top:${o(8)};padding-top:${o(5)};border-top:1px solid ${f};font-size:13px;color:${y}}
174
199
  .dp-edit-link{font-weight:500;font-size:13px}
175
200
  .dp-reading-time::before{content:"\u{1F4D6} "}
176
201
 
177
202
  /* --------------------------------------------------------------- prev/next */
178
- .dp-prevnext{display:flex;justify-content:space-between;gap:${o(4)};margin-top:${o(12)};padding-top:${o(6)};border-top:1px solid ${h}}
179
- .dp-prevnext a{display:block;padding:${o(3)} ${o(4)};border:1px solid ${h};border-radius:${o(2)};font-weight:600;flex:1}
203
+ .dp-prevnext{display:flex;justify-content:space-between;gap:${o(4)};margin-top:${o(12)};padding-top:${o(6)};border-top:1px solid ${f}}
204
+ .dp-prevnext a{display:block;padding:${o(3)} ${o(4)};border:1px solid ${f};border-radius:${o(2)};font-weight:600;flex:1}
180
205
  .dp-prevnext a:hover{border-color:${$};text-decoration:none}
181
206
  .dp-prevnext .next{text-align:right}
182
- .dp-prevnext small{display:block;color:${b};font-weight:400;font-size:12px}
207
+ .dp-prevnext small{display:block;color:${y};font-weight:400;font-size:12px}
183
208
 
184
209
  /* ----------------------------------------------------------------- footer */
185
- .dp-footer{padding:${o(6)} ${o(12)};border-top:1px solid ${h};color:${b};font-size:13px}
210
+ .dp-footer{padding:${o(6)} ${o(12)};border-top:1px solid ${f};color:${y};font-size:13px}
186
211
 
187
212
  /* ---------------------------------------------------------------- home page */
188
213
  .dp-main-home{max-width:1100px;margin:0 auto;padding:${o(12)} ${o(6)} ${o(20)}}
189
214
  .dp-hero{text-align:center;padding:${o(10)} 0 ${o(6)}}
190
- .dp-hero-name{font-size:56px;font-weight:800;line-height:1.1;letter-spacing:-.03em;background:linear-gradient(120deg,${$},${f("shift-7","secondary")});-webkit-background-clip:text;background-clip:text;color:transparent}
215
+ .dp-hero-name{font-size:56px;font-weight:800;line-height:1.1;letter-spacing:-.03em;background:linear-gradient(120deg,${$},${h("shift-7","secondary")});-webkit-background-clip:text;background-clip:text;color:transparent}
191
216
  .dp-hero-text{font-size:30px;font-weight:700;margin:${o(3)} 0 0;color:${D}}
192
- .dp-hero-tagline{font-size:18px;color:${b};max-width:${o(160)};margin:${o(5)} auto 0}
217
+ .dp-hero-tagline{font-size:18px;color:${y};max-width:${o(160)};margin:${o(5)} auto 0}
193
218
  .dp-hero-actions{display:flex;gap:${o(3)};justify-content:center;margin-top:${o(7)};flex-wrap:wrap}
194
219
  .dp-hero-action{padding:${o(2.5)} ${o(5.5)};border-radius:${o(5.5)};font-weight:600;font-size:15px}
195
- .dp-hero-action.brand{background:${$};color:${k}}
196
- .dp-hero-action.brand:hover{background:${dn};text-decoration:none}
197
- .dp-hero-action.alt{background:${w};color:${T};border:1px solid ${h}}
220
+ .dp-hero-action.brand{background:${$};color:${v}}
221
+ .dp-hero-action.brand:hover{background:${gn};text-decoration:none}
222
+ .dp-hero-action.alt{background:${x};color:${C};border:1px solid ${f}}
198
223
  .dp-hero-action.alt:hover{border-color:${$};text-decoration:none}
199
224
  .dp-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(${o(60)},1fr));gap:${o(4)};margin:${o(10)} 0}
200
- .dp-feature{padding:${o(5)};background:${w};border:1px solid ${h};border-radius:${o(3)}}
225
+ .dp-feature{padding:${o(5)};background:${x};border:1px solid ${f};border-radius:${o(3)}}
201
226
  .dp-feature-icon{font-size:28px;margin-bottom:${o(3)}}
202
227
  .dp-feature-title{font-weight:700;font-size:17px;margin-bottom:${o(2)};color:${D}}
203
- .dp-feature-details{font-size:14px;color:${b};margin:0;line-height:1.5}
228
+ .dp-feature-details{font-size:14px;color:${y};margin:0;line-height:1.5}
204
229
  .dp-feature-link{display:block;color:inherit}
205
230
  .dp-feature-link:hover{text-decoration:none}
206
231
  .dp-feature-link:hover .dp-feature{border-color:${$}}
207
- .dp-home{max-width:${Ne};margin:0 auto}
232
+ .dp-home{max-width:${ge};margin:0 auto}
208
233
 
209
234
  /* ---------------------------------------------------------------- shiki dark */
210
235
  html[data-theme="dark"] .shiki,html[data-theme="dark"] .shiki span{color:var(--shiki-dark,inherit) !important}
211
236
 
212
237
  /* -------------------------------------------------------------- responsive */
213
238
  @media(max-width:1200px){
214
- .dp-shell{grid-template-columns:${Fe} minmax(0,1fr)}
239
+ .dp-shell{grid-template-columns:${He} minmax(0,1fr)}
215
240
  .dp-aside{display:none}
216
241
  }
217
242
  @media(max-width:860px){
218
243
  .dp-shell{grid-template-columns:1fr}
219
244
  .dp-menu-toggle{display:block}
220
- .dp-sidebar{position:fixed;top:${I};left:0;bottom:0;width:80%;max-width:${o(80)};background:${k};z-index:25;transform:translateX(-100%);transition:transform .2s ease;max-height:none}
245
+ .dp-sidebar{position:fixed;top:${_};left:0;bottom:0;width:80%;max-width:${o(80)};background:${v};z-index:25;transform:translateX(-100%);transition:transform .2s ease;max-height:none}
221
246
  html[data-sidebar="open"] .dp-sidebar{transform:translateX(0)}
222
247
  .dp-nav{display:none}
223
248
  .dp-main{padding:${o(6)} ${o(5)} ${o(16)}}
224
249
  .dp-search-slot{width:${o(35)}}
225
250
  }
226
- `}var kn=Ue(hn(import.meta.url));function B(e,t){if(e!=null){if(typeof e=="string"){e.trimStart().startsWith("<")||t.push(e);return}if(typeof e=="number"){t.push(String(e));return}if(Array.isArray(e)){for(let n of e)B(n,t);return}if(typeof e=="object")for(let[n,r]of Object.entries(e))n.startsWith("_")||n==="$"||n==="style"||n==="class"||n.startsWith("data")||n==="href"||n==="id"||B(r,t)}}function vn(e){let t={};for(let n of e.split(";")){let r=n.indexOf(":");if(r===-1)continue;let i=n.slice(0,r).trim(),s=n.slice(r+1).trim();!i||!s||(t[i.replace(/-([a-z])/g,(a,c)=>c.toUpperCase())]=s)}return t}function pe(e){if(Array.isArray(e)){for(let n of e)pe(n);return}if(!e||typeof e!="object")return;let t=e;typeof t.style=="string"&&(t.style=vn(t.style));for(let n of Object.values(t))n&&(typeof n=="object"||Array.isArray(n))&&pe(n)}function wn(e){for(let t of e){if(!t||typeof t!="object"||Array.isArray(t))continue;let n=t;if("p"in n){let r=[];B(n.p,r);let i=r.join(" ").replace(/\s+/g," ").trim();if(i.length>10)return i.slice(0,160)}}return""}function Sn(e){return Math.max(1,Math.round(e.split(/\s+/).length/200))}function En(e){try{return bn(`git log -1 --format="%aI" -- "${e}"`,{encoding:"utf8",stdio:["pipe","pipe","ignore"],timeout:5e3}).trim()||void 0}catch{return}}async function Cn(e,t){if(!t)return;let n=A(kn,"islands.js"),r=`import{bootstrap}from${JSON.stringify(n)};bootstrap({search:{kind:"search",id:"search"}});`,i=A(e,"_press_islands_entry.js");de(e,{recursive:!0}),U(i,r,"utf8");let{build:s}=await import("esbuild");await s({entryPoints:{"press-islands":i},bundle:!0,splitting:!1,format:"esm",outdir:A(e,"assets"),entryNames:"[name]",minify:!0,sourcemap:!1,target:"es2020",define:{"process.env.NODE_ENV":'"production"'},logLevel:"error"}),Oe(i)}function Dn(e,t){return`<?xml version="1.0" encoding="UTF-8"?>
251
+ `}var wn=Be(yn(import.meta.url));function q(e,t){if(e!=null){if(typeof e=="string"){e.trimStart().startsWith("<")||t.push(e);return}if(typeof e=="number"){t.push(String(e));return}if(Array.isArray(e)){for(let n of e)q(n,t);return}if(typeof e=="object")for(let[n,r]of Object.entries(e))n.startsWith("_")||n==="$"||n==="style"||n==="class"||n.startsWith("data")||n==="href"||n==="id"||q(r,t)}}function Sn(e){let t={};for(let n of e.split(";")){let r=n.indexOf(":");if(r===-1)continue;let s=n.slice(0,r).trim(),i=n.slice(r+1).trim();!s||!i||(t[s.replace(/-([a-z])/g,(a,l)=>l.toUpperCase())]=i)}return t}function fe(e){if(Array.isArray(e)){for(let n of e)fe(n);return}if(!e||typeof e!="object")return;let t=e;typeof t.style=="string"&&(t.style=Sn(t.style));for(let n of Object.values(t))n&&(typeof n=="object"||Array.isArray(n))&&fe(n)}function En(e){for(let t of e){if(!t||typeof t!="object"||Array.isArray(t))continue;let n=t;if("p"in n){let r=[];q(n.p,r);let s=r.join(" ").replace(/\s+/g," ").trim();if(s.length>10)return s.slice(0,160)}}return""}function Cn(e){return Math.max(1,Math.round(e.split(/\s+/).length/200))}function Dn(e){try{return $n(`git log -1 --format="%aI" -- "${e}"`,{encoding:"utf8",stdio:["pipe","pipe","ignore"],timeout:5e3}).trim()||void 0}catch{return}}async function Tn(e,t){if(!t)return;let n=I(wn,"islands.js"),r=`import{bootstrap}from${JSON.stringify(n)};bootstrap({search:{kind:"search",id:"search"}});`,s=I(e,"_press_islands_entry.js");me(e,{recursive:!0}),W(s,r,"utf8");let{build:i}=await import("esbuild");await i({entryPoints:{"press-islands":s},bundle:!0,splitting:!1,format:"esm",outdir:I(e,"assets"),entryNames:"[name]",minify:!0,sourcemap:!1,target:"es2020",define:{"process.env.NODE_ENV":'"production"'},logLevel:"error"}),Ue(s)}function Ln(e,t){return`<?xml version="1.0" encoding="UTF-8"?>
227
252
  <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
228
253
  ${e.map(r=>` <url><loc>${r==="/"?`${t}/`:`${t}${r}`.replace(/\/+$/,"")+"/"}</loc></url>`).join(`
229
254
  `)}
230
- </urlset>`}var Tn=`(function(){
255
+ </urlset>`}var Mn=`(function(){
231
256
  try{var t=localStorage.getItem('dp-theme');if(t)document.documentElement.setAttribute('data-theme',t);}catch(_){}
232
257
  addEventListener('click',function(e){
233
258
  var el=e.target.closest&&e.target.closest('[data-theme-toggle]');
@@ -244,29 +269,29 @@ addEventListener('click',function(e){
244
269
  addEventListener('DOMContentLoaded',function(){
245
270
  try{document.querySelectorAll('.dp-announcement[data-id]').forEach(function(b){if(localStorage.getItem('dp-dismiss-'+b.getAttribute('data-id')))b.remove();});}catch(_){}
246
271
  });
247
- })();`;function Ln(e){return`<script type="module">import mermaid from '${typeof e=="object"&&e.cdn?e.cdn:"https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs"}';mermaid.initialize({startOnLoad:false,theme:document.documentElement.getAttribute('data-theme')==='dark'?'dark':'default'});document.addEventListener('DOMContentLoaded',()=>mermaid.run({querySelector:'.dp-mermaid'}));</script>`}function Mn(e,t,n,r,i,s){let a=n?`
248
- <script type="module" src="${t.base}assets/press-islands.js"></script>`:"",c=t.themeConfig.mermaid?Ln(t.themeConfig.mermaid):"";return`<!DOCTYPE html>
249
- <html lang="${s}">
272
+ })();`;function jn(e){return`<script type="module">import mermaid from '${typeof e=="object"&&e.cdn?e.cdn:"https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs"}';mermaid.initialize({startOnLoad:false,theme:document.documentElement.getAttribute('data-theme')==='dark'?'dark':'default'});document.addEventListener('DOMContentLoaded',()=>mermaid.run({querySelector:'.dp-mermaid'}));</script>`}function _n(e,t,n,r,s,i){let a=n?`
273
+ <script type="module" src="${t.base}assets/press-islands.js"></script>`:"",l=t.themeConfig.mermaid?jn(t.themeConfig.mermaid):"";return`<!DOCTYPE html>
274
+ <html lang="${i}">
250
275
  <head>
251
276
  <meta charset="utf-8">
252
277
  <meta name="viewport" content="width=device-width, initial-scale=1">
253
278
  ${e.head}
254
279
  ${t.head.join(`
255
280
  `)}
256
- ${i.join(`
281
+ ${s.join(`
257
282
  `)}
258
- ${c}
283
+ ${l}
259
284
  <style>${r}</style>
260
285
  <style id="domphy-style">${e.css}</style>
261
- <script>${Tn}</script>
286
+ <script>${Mn}</script>
262
287
  </head>
263
288
  <body>
264
289
  <div id="domphy-app">${e.html}</div>${a}
265
290
  </body>
266
- </html>`}async function jn(e){let{config:t,srcDir:n,outDir:r,publicDir:i}=e,s=t.themeConfig.search!==!1,a=!!t.lastUpdated,l=H(n).map(p=>({...p,localeKey:"/"}));if(t.locales)for(let[p,v]of Object.entries(t.locales)){if(p==="/")continue;let S=fn(n,p.replace(/^\//,"").replace(/\/$/,""));if(He(S))for(let E of H(S)){let C=p.replace(/\/$/,"");l.push({filePath:E.filePath,route:C+E.route,outFile:E.outFile==="index.html"?p.replace(/^\//,"")+"index.html":p.replace(/^\//,"")+E.outFile,localeKey:p})}}console.log(`Discovered ${l.length} pages.`);let g=await Y(),m=xn()+le(),d=[],u=[];for(let p of l){let v=gn(p.filePath,"utf8"),S=await se(v,{filePath:p.filePath,docsDir:n,repoRoot:n,highlight:g});pe(S.body);let E=[];B(S.body,E);let C=E.join(" ").replace(/\s+/g," ").trim(),L=Sn(C),G=a?En(p.filePath):void 0,R=mn(n,p.filePath).replace(/\\/g,"/");d.push({route:p.route,outFile:p.outFile,title:S.title,localeKey:p.localeKey,doc:S,lastUpdated:G,readingTime:L,filePath:p.filePath,relPath:R}),u.push({route:p.route,title:S.title,text:C.slice(0,2e4),toc:S.toc})}let y=new Map,x=new Map,_=$n(d.map(p=>{let v=t.locales?.[p.localeKey],S=v?.themeConfig?{...t.themeConfig,...v.themeConfig}:t.themeConfig,E={...t,themeConfig:S},C=v?.lang??"en",L={route:p.route,title:p.title,body:p.doc.body,toc:p.doc.toc,frontmatter:p.doc.frontmatter,config:E,lastUpdated:p.lastUpdated,readingTime:p.readingTime,filePath:p.relPath},G=p.route==="/"||p.localeKey!=="/"&&p.route===p.localeKey,R=typeof p.doc.frontmatter.description=="string"?p.doc.frontmatter.description:wn(p.doc.body)||t.description,N=v?.title??t.title,K=p.title===N?N:`${p.title} | ${N}`,Ge=p.route==="/"?`${t.hostname}/`:`${t.hostname}${p.route}/`,Ke=Array.isArray(p.doc.frontmatter.head)?p.doc.frontmatter.head.filter(Xe=>typeof Xe=="string"):[];return y.set(p.route,Ke),x.set(p.route,C),{path:p.route,metadata:{title:K,description:R,metadataBase:t.hostname,openGraph:{title:K,description:R,url:p.route==="/"?"/":`${p.route}/`,siteName:N,type:"website"},twitter:{card:"summary",title:K,description:R},alternates:{canonical:Ge}},page:()=>G?oe(L):ne(L)}})),q=yn(_);Oe(r,{recursive:!0,force:!0}),de(r,{recursive:!0});let F=[],me=0;for(let p of d)try{let v=await q.renderToString(p.route),S=y.get(p.route)??[],E=x.get(p.route)??"en",C=Mn(v,t,s,m,S,E),L=A(r,p.outFile);de(Ue(L),{recursive:!0}),U(L,C,"utf8"),me+=C.length,v.status!==200&&console.warn(` ! ${p.route} -> status ${v.status}`)}catch(v){F.push({route:p.route,error:String(v.message||v)})}if(F.length>0){console.warn(`
267
- ${F.length} page(s) failed:`);for(let p of F)console.warn(` \u2717 ${p.route}: ${p.error}`)}await Cn(r,s),U(A(r,"search-index.json"),ce(u),"utf8"),i&&He(i)&&un(i,r,{recursive:!0}),t.hostname&&U(A(r,"sitemap.xml"),Dn(d.map(p=>p.route),t.hostname),"utf8"),console.log(`Built ${d.length} pages (${(me/1024).toFixed(0)} KB) \u2192 ${r}`)}import{createReadStream as W,existsSync as ue,readFileSync as In,statSync as An}from"fs";import{createServer as Be}from"http";import{extname as ge,join as P,normalize as _n}from"path";var We={".html":"text/html; charset=utf-8",".js":"text/javascript; charset=utf-8",".mjs":"text/javascript; charset=utf-8",".css":"text/css; charset=utf-8",".json":"application/json; charset=utf-8",".svg":"image/svg+xml",".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".webp":"image/webp",".gif":"image/gif",".ico":"image/x-icon",".woff":"font/woff",".woff2":"font/woff2",".ttf":"font/ttf",".txt":"text/plain; charset=utf-8",".map":"application/json; charset=utf-8",".xml":"application/xml; charset=utf-8"},Rn="<script>(function(){var es=new EventSource('/_dev/sse');es.onmessage=function(e){if(e.data==='reload')location.reload();};es.onerror=function(){setTimeout(function(){location.reload();},2000);};})();</script>";function qe(e,t){let n=_n(decodeURIComponent(t.split("?")[0])).replace(/^(\.\.[/\\])+/,""),r=ge(n)?[P(e,n)]:[P(e,n,"index.html"),P(e,`${n}.html`)];for(let i of r)if(ue(i)&&An(i).isFile())return i;return null}function zn(e,t){let n=Be((r,i)=>{let s=qe(e,r.url??"/");if(!s){let a=P(e,"404.html");i.statusCode=404,i.setHeader("content-type","text/html; charset=utf-8"),ue(a)?W(a).pipe(i):i.end("404 Not Found");return}i.statusCode=200,i.setHeader("content-type",We[ge(s)]??"application/octet-stream"),W(s).pipe(i)});return n.listen(t,()=>console.log(`DomphyPress preview: http://localhost:${t}/`)),n}function Pn(e,t){let n=new Set,r=Be((i,s)=>{let a=i.url??"/";if(a==="/_dev/sse"){s.writeHead(200,{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}),s.write(`data: connected
291
+ </html>`}async function In(e){let{config:t,srcDir:n,outDir:r,publicDir:s}=e,i=t.themeConfig.search!==!1,a=!!t.lastUpdated,c=O(n).map(p=>({...p,localeKey:"/"}));if(t.locales)for(let[p,w]of Object.entries(t.locales)){if(p==="/")continue;let S=bn(n,p.replace(/^\//,"").replace(/\/$/,""));if(Oe(S))for(let E of O(S)){let T=p.replace(/\/$/,"");c.push({filePath:E.filePath,route:T+E.route,outFile:E.outFile==="index.html"?p.replace(/^\//,"")+"index.html":p.replace(/^\//,"")+E.outFile,localeKey:p})}}console.log(`Discovered ${c.length} pages.`);let g=await Q(),m=vn()+ue(),d=[],u=[];for(let p of c){let w=fn(p.filePath,"utf8"),S=await le(w,{filePath:p.filePath,docsDir:n,repoRoot:n,highlight:g});if(S.frontmatter.draft===!0){console.log(` \u21B7 ${p.route} (draft, skipped)`);continue}fe(S.body);let E=[];q(S.body,E);let T=E.join(" ").replace(/\s+/g," ").trim(),M=Cn(T),X=a?Dn(p.filePath):void 0,A=hn(n,p.filePath).replace(/\\/g,"/");d.push({route:p.route,outFile:p.outFile,title:S.title,localeKey:p.localeKey,doc:S,lastUpdated:X,readingTime:M,filePath:p.filePath,relPath:A}),u.push({route:p.route,title:S.title,text:T.slice(0,2e4),toc:S.toc})}let b=new Map,k=new Map,z=kn(d.map(p=>{let w=t.locales?.[p.localeKey],S=w?.themeConfig?{...t.themeConfig,...w.themeConfig}:t.themeConfig,E={...t,themeConfig:S},T=w?.lang??"en",M={route:p.route,title:p.title,body:p.doc.body,toc:p.doc.toc,frontmatter:p.doc.frontmatter,config:E,lastUpdated:p.lastUpdated,readingTime:p.readingTime,filePath:p.relPath},X=p.route==="/"||p.localeKey!=="/"&&p.route===p.localeKey,A=typeof p.doc.frontmatter.description=="string"?p.doc.frontmatter.description:En(p.doc.body)||t.description,H=w?.title??t.title,Y=p.title===H?H:`${p.title} | ${H}`,Ke=p.route==="/"?`${t.hostname}/`:`${t.hostname}${p.route}/`,Xe=Array.isArray(p.doc.frontmatter.head)?p.doc.frontmatter.head.filter(Ye=>typeof Ye=="string"):[];return b.set(p.route,Xe),k.set(p.route,T),{path:p.route,metadata:{title:Y,description:A,metadataBase:t.hostname,openGraph:{title:Y,description:A,url:p.route==="/"?"/":`${p.route}/`,siteName:H,type:"website"},twitter:{card:"summary",title:Y,description:A},alternates:{canonical:Ke}},page:()=>X?ie(M):re(M)}})),K=xn(z);Ue(r,{recursive:!0,force:!0}),me(r,{recursive:!0});let N=[],ye=0;for(let p of d)try{let w=await K.renderToString(p.route),S=b.get(p.route)??[],E=k.get(p.route)??"en",T=_n(w,t,i,m,S,E),M=I(r,p.outFile);me(Be(M),{recursive:!0}),W(M,T,"utf8"),ye+=T.length,w.status!==200&&console.warn(` ! ${p.route} -> status ${w.status}`)}catch(w){N.push({route:p.route,error:String(w.message||w)})}if(N.length>0){console.warn(`
292
+ ${N.length} page(s) failed:`);for(let p of N)console.warn(` \u2717 ${p.route}: ${p.error}`)}await Tn(r,i),W(I(r,"search-index.json"),pe(u),"utf8"),s&&Oe(s)&&mn(s,r,{recursive:!0}),t.hostname&&W(I(r,"sitemap.xml"),Ln(d.map(p=>p.route),t.hostname),"utf8"),console.log(`Built ${d.length} pages (${(ye/1024).toFixed(0)} KB) \u2192 ${r}`)}import{createReadStream as G,existsSync as he,readFileSync as zn,statSync as An}from"fs";import{createServer as We}from"http";import{extname as be,join as P,normalize as Rn}from"path";var qe={".html":"text/html; charset=utf-8",".js":"text/javascript; charset=utf-8",".mjs":"text/javascript; charset=utf-8",".css":"text/css; charset=utf-8",".json":"application/json; charset=utf-8",".svg":"image/svg+xml",".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".webp":"image/webp",".gif":"image/gif",".ico":"image/x-icon",".woff":"font/woff",".woff2":"font/woff2",".ttf":"font/ttf",".txt":"text/plain; charset=utf-8",".map":"application/json; charset=utf-8",".xml":"application/xml; charset=utf-8"},Fn="<script>(function(){var es=new EventSource('/_dev/sse');es.onmessage=function(e){if(e.data==='reload')location.reload();};es.onerror=function(){setTimeout(function(){location.reload();},2000);};})();</script>";function Ge(e,t){let n=Rn(decodeURIComponent(t.split("?")[0])).replace(/^(\.\.[/\\])+/,""),r=be(n)?[P(e,n)]:[P(e,n,"index.html"),P(e,`${n}.html`)];for(let s of r)if(he(s)&&An(s).isFile())return s;return null}function Pn(e,t){let n=We((r,s)=>{let i=Ge(e,r.url??"/");if(!i){let a=P(e,"404.html");s.statusCode=404,s.setHeader("content-type","text/html; charset=utf-8"),he(a)?G(a).pipe(s):s.end("404 Not Found");return}s.statusCode=200,s.setHeader("content-type",qe[be(i)]??"application/octet-stream"),G(i).pipe(s)});return n.listen(t,()=>console.log(`DomphyPress preview: http://localhost:${t}/`)),n}function Nn(e,t){let n=new Set,r=We((s,i)=>{let a=s.url??"/";if(a==="/_dev/sse"){i.writeHead(200,{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}),i.write(`data: connected
268
293
 
269
- `),n.add(s),i.on("close",()=>n.delete(s));return}let c=qe(e,a);if(!c){s.statusCode=404,s.setHeader("content-type","text/html; charset=utf-8");let g=P(e,"404.html");ue(g)?W(g).pipe(s):s.end("404 Not Found");return}let l=We[ge(c)]??"application/octet-stream";if(s.statusCode=200,s.setHeader("content-type",l),l.startsWith("text/html")){let g=In(c,"utf8");s.end(g.replace("</body>",`${Rn}</body>`))}else W(c).pipe(s)});return r.listen(t,()=>console.log(`DomphyPress dev: http://localhost:${t}/ (live reload active)`)),{server:r,notify:()=>{for(let i of n)try{i.write(`data: reload
294
+ `),n.add(i),s.on("close",()=>n.delete(i));return}let l=Ge(e,a);if(!l){i.statusCode=404,i.setHeader("content-type","text/html; charset=utf-8");let g=P(e,"404.html");he(g)?G(g).pipe(i):i.end("404 Not Found");return}let c=qe[be(l)]??"application/octet-stream";if(i.statusCode=200,i.setHeader("content-type",c),c.startsWith("text/html")){let g=zn(l,"utf8");i.end(g.replace("</body>",`${Fn}</body>`))}else G(l).pipe(i)});return r.listen(t,()=>console.log(`DomphyPress dev: http://localhost:${t}/ (live reload active)`)),{server:r,notify:()=>{for(let s of n)try{s.write(`data: reload
270
295
 
271
- `)}catch{n.delete(i)}}}}export{ce as buildSearchIndex,jn as buildSite,Y as createHighlighter,Ye as defineConfig,H as discoverPages,Q as flattenSidebar,oe as homeShell,an as mountSearch,xe as outFileForRoute,ne as pageShell,ye as parseFenceInfo,le as pressCSS,V as prevNextForRoute,Re as queryIndex,se as renderDoc,J as renderFence,$e as routeForFile,Pe as searchWidget,O as sidebarForRoute,Pn as startDevServer,zn as startServer};
296
+ `)}catch{n.delete(s)}}}}export{pe as buildSearchIndex,In as buildSite,Q as createHighlighter,Je as defineConfig,O as discoverPages,Z as flattenSidebar,ie as homeShell,ln as mountSearch,Se as outFileForRoute,re as pageShell,ve as parseFenceInfo,ue as pressCSS,ee as prevNextForRoute,Fe as queryIndex,le as renderDoc,V as renderFence,we as routeForFile,Ne as searchWidget,U as sidebarForRoute,Nn as startDevServer,Pn as startServer};
272
297
  //# sourceMappingURL=index.js.map