PageSourceSearch

https://dracon.uk/app/immutable/nodes/5.D1vvQDWw.js

js dracon.uk collected 2026-09-24 15:14:40 UTC 9,217 bytes, 3 lines download raw bytes

1import{H as Ot}from"../chunks/-UyI9lYi.js";import"../chunks/B0XwC4Ot.js";import{a as Tt,g as Ht}from"../chunks/BDmt3JO4.js";import{a as o,f as u,c as $,t as V}from"../chunks/Cs-oRFMV.js";import{p as Mt,x as f,o as Bt,l as Z,B as Ct,n as l,v as c,g as t,$ as Jt,w as r,A as Nt,y as J}from"../chunks/p8szmhGV.js";import{s as p}from"../chunks/CTythPDD.js";import{i as k}from"../chunks/DTU2PmTI.js";import{e as I,i as D}from"../chunks/BwNGc-E7.js";import{h as vt}from"../chunks/DY5ASBmN.js";import{h as Pt,s as m}from"../chunks/xVQ7GYZ4.js";import{c as Wt}from"../chunks/ClepuJ2e.js";function Zt(w,_){throw new Ot(w,_)}const Rt=()=>Tt.map(w=>({slug:w.slug})),Yt=({params:w})=>{const _=Ht(w.slug);return _||Zt(404,"Article not found"),{article:_}},xe=Object.freeze(Object.defineProperty({__proto__:null,entries:Rt,load:Yt},Symbol.toStringTag,{value:"Module"})),$t=new Set(["http:","https:","mailto:","tel:"]);function Ft(w){const _=w.trim();if(_.startsWith("/")||_.startsWith("#"))return!0;const N=/^[a-zA-Z][a-zA-Z0-9+.-]*:/.exec(_);return N?$t.has(N[0].toLowerCase()):!0}function q(w){const _=[],N=/\[([^\]]+)\]\(([^)]+)\)/g;let a=0,y;for(;(y=N.exec(w))!==null;){y.index>a&&_.push({kind:"text",text:w.slice(a,y.index)});const R=y[1]??"",G=y[2]??"";_.push(Ft(G)?{kind:"link",text:R,href:G}:{kind:"text",text:R}),a=y.index+y[0].length}return a<w.length&&_.push({kind:"text",text:w.slice(a)}),_}var Gt=u('<meta name="description"/> <link rel="canonical"/> <meta property="og:title"/> <meta property="og:description"/> <meta property="og:type" content="article"/> <meta property="og:url"/> <meta property="og:site_name" content="Dracon"/> <meta property="og:image"/> <meta name="twitter:card" content="summary_large_image"/> <meta name="twitter:title"/> <meta name="twitter:description"/> <meta name="twitter:image"/> <!> <!>',1),Kt=u('<span title="Updated"> </span>'),Ut=u(`<p class="article_disclosure svelte-1teoznn" data-testid="affiliate-disclosure">Disclosure: this article links to some providers through our referral links. If you sign up
2        through one, we may earn credit or a commission. It never changes what we recommend. The
3        data says what it says.</p>`),Vt=u('<div class="article_video svelte-1teoznn" data-testid="article-video"><iframe loading="lazy" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="" referrerpolicy="strict-origin-when-cross-origin" class="svelte-1teoznn"></iframe></div>'),qt=u('<h2 class="svelte-1teoznn"> </h2>'),F=u("<a> </a>"),Qt=u('<p class="svelte-1teoznn"></p>'),dt=u('<li class="svelte-1teoznn"></li>'),Xt=u('<ul class="svelte-1teoznn"></ul>'),te=u('<th class="svelte-1teoznn"> </th>'),ee=u('<td class="svelte-1teoznn"></td>'),ae=u('<tr class="svelte-1teoznn"></tr>'),re=u('<figcaption class="svelte-1teoznn"> </figcaption>'),oe=u('<figure class="article_tablewrap svelte-1teoznn"><table class="svelte-1teoznn"><thead><tr></tr></thead><tbody class="svelte-1teoznn"></tbody></table> <!></figure>'),ie=u('<aside class="article_callout svelte-1teoznn"> </aside>'),se=u('<aside class="article_cta svelte-1teoznn" data-testid="article-cta"><p class="article_cta_text svelte-1teoznn"> </p> <p class="article_cta_links svelte-1teoznn"></p></aside>'),ne=u('<section class="article_sources svelte-1teoznn"><h2 class="svelte-1teoznn">Sources &amp; provenance</h2> <ul class="svelte-1teoznn"></ul></section>'),le=u('<main class="article svelte-1teoznn" data-testid="blog-article"><nav class="article_nav svelte-1teoznn"><a href="/blog">All articles</a></nav> <header class="article_head svelte-1teoznn"><p class="article_meta svelte-1teoznn"><span class="article_family svelte-1teoznn"> </span> <time> </time> <!> </p> <h1 class="svelte-1teoznn"> </h1> <!></header> <!> <div class="article_body svelte-1teoznn"></div> <!> <!> <footer class="article_foot svelte-1teoznn"><a href="/blog">All articles</a></footer></main>');function ze(w,_){Mt(_,!0);const N=Wt({origin:"https://dracon.uk",base:"",siteName:"Dracon",siteDescription:"Dracon: open-source developer tools and automation services.",byline:"Dracon",bylineDescription:"The entity-as-byline for Dracon surfaces."}),a=J(()=>_.data.article),y=J(()=>_.data.siteOrigin??"https://dracon.uk"),R={"ai-providers":"AI providers",games:"Games",music:"Music",products:"Products",infrastru
3cture:"Infrastructure"};function G(s){let e="";for(const i of s.sections)if(i.type==="p"||i.type==="h2"||i.type==="callout")e+=" "+(i.text??"");else if(i.type==="ul")e+=" "+i.items.join(" ");else if(i.type==="table")for(const S of i.rows)e+=" "+S.join(" ");return e.trim().split(/\s+/).filter(Boolean).length}const pt=J(()=>JSON.stringify(N.blogPostingLd({headline:t(a).title,description:t(a).description,url:`${t(y)}/blog/${t(a).slug}`,datePublished:t(a).date,dateModified:t(a).updatedAt??t(a).date,keywords:t(a).tags,image:`${t(y)}/og/dracon-og.png`,articleSection:R[t(a).family]??t(a).family,wordCount:G(t(a))})).replace(/</g,"\\u003c")),mt=J(()=>JSON.stringify({"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:[{"@type":"ListItem",position:1,name:"Home",item:`${t(y)}/`},{"@type":"ListItem",position:2,name:"Blog",item:`${t(y)}/blog`},{"@type":"ListItem",position:3,name:t(a).title,item:`${t(y)}/blog/${t(a).slug}`}]}).replace(/</g,"\\u003c")),Q=J(()=>t(a).cta),X=J(()=>t(a).youtubeVideoId),_t=/^[A-Za-z0-9_-]{11}$/;var tt=le();Pt("1teoznn",s=>{var e=Gt(),i=Z(e),S=l(i,2),j=l(S,2),E=l(j,2),A=l(E,4),x=l(A,4),T=l(x,4),v=l(T,2),n=l(v,2),z=l(n,2);vt(z,()=>'<script type="application/ld+json">'+t(pt)+"<\/script>");var d=l(z,2);vt(d,()=>'<script type="application/ld+json">'+t(mt)+"<\/script>"),f(()=>{m(i,"content",t(a).description),m(S,"href",`${t(y)}/blog/${t(a).slug}`),m(j,"content",t(a).title),m(E,"content",t(a).description),m(A,"content",`${t(y)}/blog/${t(a).slug}`),m(x,"content",`${t(y)??""}/og/dracon-og.png`),m(T,"content",t(a).title),m(v,"content",t(a).description),m(n,"content",`${_.data.siteOrigin??""}/og/dracon-og.png`)}),Ct(()=>{Jt.title=`${t(a).title??""} | Dracon blog`}),o(s,e)});var et=l(c(tt),2),at=c(et),rt=c(at),ft=c(rt,!0);r(rt);var K=l(rt,2),ut=c(K,!0);r(K);var st=l(K,2);{var ht=s=>{var e=Kt(),i=c(e);r(e),f(()=>p(i,`· updated ${t(a).updatedAt??""}`)),o(s,e)};k(st,s=>{t(a).updatedAt&&s(ht)})}var gt=l(st);r(at);var ot=l(at,2),yt=c(ot,!0);r(ot);var xt=l(ot,2);{var zt=s=>{var e=Ut();o(s,e)};k(xt,s=>{t(a).affiliateDisclosure&&s(zt)})}r(et);var nt=l(et,2);{var bt=s=>{var e=Vt(),i=c(e);r(e),f(()=>{m(i,"src",`https://www.youtube-nocookie.com/embed/${t(X)}?rel=0`),m(i,"title",t(a).title)}),o(s,e)},wt=J(()=>t(X)&&_t.test(t(X)));k(nt,s=>{t(wt)&&s(bt)})}var it=l(nt,2);I(it,21,()=>t(a).sections,D,(s,e)=>{var i=$(),S=Z(i);{var j=v=>{var n=qt(),z=c(n,!0);r(n),f(()=>p(z,t(e).text)),o(v,n)},E=v=>{var n=Qt();I(n,21,()=>q(t(e).text),D,(z,d)=>{var h=$(),M=Z(h);{var B=b=>{var g=F(),L=c(g,!0);r(g),f(()=>{m(g,"href",t(d).href),p(L,t(d).text)}),o(b,g)},P=b=>{var g=V();f(()=>p(g,t(d).text)),o(b,g)};k(M,b=>{t(d).kind==="link"?b(B):b(P,-1)})}o(z,h)}),r(n),o(v,n)},A=v=>{var n=Xt();I(n,21,()=>t(e).items,D,(z,d)=>{var h=dt();I(h,21,()=>q(t(d)),D,(M,B)=>{var P=$(),b=Z(P);{var g=O=>{var H=F(),Y=c(H,!0);r(H),f(()=>{m(H,"href",t(B).href),p(Y,t(B).text)}),o(O,H)},L=O=>{var H=V();f(()=>p(H,t(B).text)),o(O,H)};k(b,O=>{t(B).kind==="link"?O(g):O(L,-1)})}o(M,P)}),r(h),o(z,h)}),r(n),o(v,n)},x=v=>{var n=oe(),z=c(n),d=c(z),h=c(d);I(h,21,()=>t(e).headers,D,(b,g)=>{var L=te(),O=c(L,!0);r(L),f(()=>p(O,t(g))),o(b,L)}),r(h),r(d);var M=l(d);I(M,21,()=>t(e).rows,D,(b,g)=>
3{var L=ae();I(L,21,()=>t(g),D,(O,H)=>{var Y=ee();I(Y,21,()=>q(t(H)),D,(It,U)=>{var ct=$(),Dt=Z(ct);{var St=W=>{var C=F(),Et=c(C,!0);r(C),f(()=>{m(C,"href",t(U).href),p(Et,t(U).text)}),o(W,C)},jt=W=>{var C=V();f(()=>p(C,t(U).text)),o(W,C)};k(Dt,W=>{t(U).kind==="link"?W(St):W(jt,-1)})}o(It,ct)}),r(Y),o(O,Y)}),r(L),o(b,L)}),r(M),r(z);var B=l(z,2);{var P=b=>{var g=re(),L=c(g,!0);r(g),f(()=>p(L,t(e).caption)),o(b,g)};k(B,b=>{t(e).caption&&b(P)})}r(n),o(v,n)},T=v=>{var n=ie(),z=c(n,!0);r(n),f(()=>p(z,t(e).text)),o(v,n)};k(S,v=>{t(e).type==="h2"?v(j):t(e).type==="p"?v(E,1):t(e).type==="ul"?v(A,2):t(e).type==="table"?v(x,3):t(e).type==="callout"&&v(T,4)})}o(s,i)}),r(it);var lt=l(it,2);{var Lt=s=>{var e=se(),i=c(e),S=c(i,!0);r(i);var j=l(i,2);I(j,21,()=>t(Q).links,D,(E,A)=>{var x=F(),T=c(x,!0);r(x),f(()=>{m(x,"href",t(A).href),m(x,"target",t(A).external?"_blank":void 0),m(x,"rel",t(A).external?"noopener noreferrer":void 0),p(T,t(A).label)}),o(E,x)}),r(j),r(e),f(()=>p(S,t(Q).text)),o(s,e)};k(lt,s=>{t(Q)&&s(Lt)})}var At=l(lt,2);{var kt=s=>{var e=ne(),i=l(c(e),2);I(i,21,()=>t(a).sources,D,(S,j)=>{var E=dt();I(E,21,()=>q(`[${t(j).label}](${t(j).href})`),D,(A,x)=>{var T=$(),v=Z(T);{var n=d=>{var h=F(),M=c(h,!0);r(h),f(()=>{m(h,"href",t(x).href),p(M,t(x).text)}),o(d,h)},z=d=>{var h=V();f(()=>p(h,t(x).text)),o(d,h)};k(v,d=>{t(x).kind==="link"?d(n):d(z,-1)})}o(A,T)}),r(E),o(S,E)}),r(i),r(e),o(s,e)};k(At,s=>{var e;(e=t(a).sources)!=null&&e.length&&s(kt)})}Nt(2),r(tt),f(()=>{p(ft,R[t(a).family]??t(a).family),m(K,"datetime",t(a).date),p(ut,t(a).date),p(gt,` · ${t(a).author??"Dracon Team"??""}`),p(yt,t(a).title)}),o(w,tt),Bt()}export{ze as component,xe as universal};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.