@rizom/brain 0.2.0-alpha.70 → 0.2.0-alpha.71
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/brain.js +31 -31
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/plugins.d.ts +49 -49
- package/dist/site.js +5 -5
- package/dist/site.js.map +3 -3
- package/package.json +1 -1
package/dist/site.js
CHANGED
|
@@ -751,7 +751,7 @@ Please report this to https://github.com/markedjs/marked.`,$){let Y="<p>An error
|
|
|
751
751
|
prose-pre:rounded-lg prose-pre:my-6 prose-pre:p-4 prose-pre:overflow-x-auto prose-pre:text-sm
|
|
752
752
|
prose-blockquote:border-l-2 prose-blockquote:border-brand prose-blockquote:pl-6 prose-blockquote:py-2 prose-blockquote:mt-8 prose-blockquote:mb-2 prose-blockquote:text-lg prose-blockquote:leading-relaxed prose-blockquote:font-light prose-blockquote:not-italic
|
|
753
753
|
prose-hr:my-12
|
|
754
|
-
prose-img:rounded-lg prose-img:shadow-md prose-img:my-8`,X),dangerouslySetInnerHTML:{__html:$}},void 0,!1,void 0,this)};import{jsxDEV as p50}from"preact/jsx-dev-runtime";var Fj=D0("",{variants:{level:{1:"text-4xl font-bold mb-8 mt-0 leading-tight tracking-tight",2:"text-3xl font-semibold mt-16 mb-6 border-b pb-4 leading-snug tracking-tight",3:"text-2xl font-semibold mt-10 mb-4 leading-snug tracking-tight"}},defaultVariants:{level:1}});import{jsxDEV as r50}from"preact/jsx-dev-runtime";var Qj=D0("bg-theme-subtle rounded-lg border border-theme hover:shadow-lg transition-shadow",{variants:{variant:{vertical:"flex flex-col p-6",horizontal:"flex flex-col sm:flex-row items-start gap-4 p-6",compact:"flex flex-col p-4"}},defaultVariants:{variant:"vertical"}});import{jsxDEV as a50}from"preact/jsx-dev-runtime";var qj=D0("object-cover rounded-lg",{variants:{size:{small:"w-full sm:w-32 h-48 sm:h-32 flex-shrink-0",medium:"w-full sm:w-48 h-48",large:"w-full h-48"}},defaultVariants:{size:"medium"}});import{jsxDEV as VR}from"preact/jsx-dev-runtime";var UY=({src:$,alt:X,width:G,height:Y,srcset:J,sizes:W,className:H})=>{return VR("div",{className:U0("w-full overflow-hidden",H),children:VR("img",{src:$,alt:X,width:G,height:Y,...J&&{srcset:J},...W&&{sizes:W},loading:"lazy",decoding:"async",style:{aspectRatio:`${G}/${Y}`},className:"w-full h-auto rounded-lg"},void 0,!1,void 0,this)},void 0,!1,void 0,this)};import{jsxDEV as J20}from"preact/jsx-dev-runtime";import{jsxDEV as K20}from"preact/jsx-dev-runtime";import{jsxDEV as q20}from"preact/jsx-dev-runtime";import{jsxDEV as A20}from"preact/jsx-dev-runtime";import{jsxDEV as z20}from"preact/jsx-dev-runtime";var KY=D0("rounded-full",{variants:{variant:{default:"bg-theme-muted text-theme",muted:"bg-theme text-theme-muted",accent:"bg-accent/10 text-accent"},size:{xs:"text-xs px-2 py-1",sm:"text-sm px-3 py-1",md:"text-sm px-3 py-1 font-medium",lg:"text-sm px-4 py-2 font-medium"}},defaultVariants:{variant:"default",size:"xs"}});import{jsxDEV as C20}from"preact/jsx-dev-runtime";import{jsxDEV as k20}from"preact/jsx-dev-runtime";var Oj=D0("",{variants:{titleSize:{"3xl":"text-3xl","4xl":"text-4xl"}},defaultVariants:{titleSize:"4xl"}});import{jsxDEV as y20}from"preact/jsx-dev-runtime";var Zj=D0("px-2 py-1 rounded-full",{variants:{variant:{default:"bg-theme",muted:"bg-theme-muted"}},defaultVariants:{variant:"default"}});import{jsxDEV as p20}from"preact/jsx-dev-runtime";import{jsxDEV as c20}from"preact/jsx-dev-runtime";import{jsxDEV as s20}from"preact/jsx-dev-runtime";import{jsxDEV as X40}from"preact/jsx-dev-runtime";var Rj=D0("inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium",{variants:{status:{draft:"bg-status-neutral text-status-neutral",queued:"bg-status-info text-status-info",sent:"bg-status-success text-status-success",failed:"bg-status-danger text-status-danger",published:"bg-status-success text-status-success",pending:"bg-status-warning text-status-warning",captured:"bg-status-info text-status-info",available:"bg-status-success text-status-success","early access":"bg-status-info text-status-info","coming soon":"bg-status-warning text-status-warning",planned:"bg-status-neutral text-status-neutral"}},defaultVariants:{status:"draft"}});import{jsxDEV as $4}from"preact/jsx-dev-runtime";var h7=({url:$,title:X,date:G,description:Y,series:J,featured:W})=>{return $4("li",{className:"block pb-10 border-b border-rule last:border-b-0 last:pb-0 transition-transform duration-200 hover:translate-x-1",children:$4("a",{href:$,className:"group block",children:[J&&$4("span",{className:"block font-mono text-[0.65rem] font-medium uppercase tracking-[0.18em] text-accent mb-3",children:[String(J.index).padStart(3,"0")," \xB7 ",J.name]},void 0,!0,void 0,this),$4("h3",{className:U0("font-heading font-normal text-heading mb-2 leading-[1.15] tracking-[-0.01em] transition-colors group-hover:text-accent",W?"text-[clamp(1.75rem,3.2vw,2.65rem)] leading-[1.05] tracking-[-0.018em] [font-variation-settings:'opsz'_96,'SOFT'_30]":"text-[clamp(1.4rem,2.4vw,2rem)] [font-variation-settings:'opsz'_72,'SOFT'_30]"),children:X},void 0,!1,void 0,this),$4("time",{className:"block font-mono text-[0.7rem] uppercase tracking-[0.14em] text-theme-light mb-4",children:new Date(G).toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric"})},void 0,!1,void 0,this),Y&&$4("p",{className:"text-[0.95rem] leading-[1.6] text-theme-muted max-w-[60ch]",children:Y},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)};import{jsxDEV as K40,Fragment as M40}from"preact/jsx-dev-runtime";import{jsxDEV as i,Fragment as MY}from"preact/jsx-dev-runtime";var QY="grid grid-cols-1 gap-3 md:grid-cols-[200px_minmax(0,1fr)] md:gap-14",FY=($,X)=>String(Math.max(0,$)).padStart(X,"0"),Aj=($)=>new Date($).toLocaleDateString("en-GB",{year:"numeric",month:"short",day:"2-digit"}),zR=($)=>new Date($).toLocaleDateString("en-GB",{month:"short",day:"2-digit"}),X4=($)=>{let X=new Date($).getFullYear();return Number.isFinite(X)?String(X):"Undated"},_R=($,X)=>{if(X===1)return $;return`${$.endsWith("/")?$.slice(0,-1):$}/page/${X}`},Bj=($)=>{let X=$.trim().toLowerCase();if(X.endsWith("ies"))return X.slice(0,-3)+"y";if(X.endsWith("s"))return X.slice(0,-1);return X||"entry"},DR=({series:$})=>{if(!$)return null;return i("span",{className:"inline-block font-mono text-[0.65rem] uppercase tracking-[0.2em] text-accent",children:[i("span",{className:"mr-1 text-theme-light",children:String($.index).padStart(3,"0")},void 0,!1,void 0,this),$.name]},void 0,!0,void 0,this)},Nj=({item:$})=>i("section",{"aria-label":"Latest",className:`${QY} mb-14 border-b border-rule pb-[4.5rem]`,children:[i("div",{className:"flex flex-row items-baseline gap-6 pt-0.5 md:flex-col md:items-start md:gap-0",children:[i("span",{className:"font-heading text-[clamp(3.2rem,7vw,5.4rem)] font-light leading-[0.9] tracking-[-0.03em] text-accent [font-variant-numeric:tabular-nums] [font-variation-settings:'opsz'_144,'SOFT'_30] md:mb-5",children:X4($.date)},void 0,!1,void 0,this),i("div",{className:"flex w-full max-w-[168px] flex-col gap-1.5 border-rule-strong pt-2 font-mono md:border-t md:pt-3",children:[i("span",{className:"text-[0.625rem] uppercase tracking-[0.26em] text-theme-light",children:"Latest"},void 0,!1,void 0,this),i("time",{dateTime:$.date,className:"text-xs tracking-[0.04em] text-theme-muted [font-variant-numeric:tabular-nums]",children:Aj($.date)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),i("div",{className:"min-w-0",children:i("a",{href:$.url,className:"group block text-inherit no-underline",children:[$.series&&i("div",{className:"mb-[22px]",children:i(DR,{series:$.series},void 0,!1,void 0,this)},void 0,!1,void 0,this),i("h2",{className:"mb-[22px] max-w-[15ch] font-heading text-[clamp(2.4rem,5vw,3.75rem)] font-normal leading-[0.98] tracking-[-0.028em] text-heading transition-colors duration-150 [font-variation-settings:'opsz'_144,'SOFT'_30] [text-wrap:balance] group-hover:text-accent",children:$.title},void 0,!1,void 0,this),$.description&&i("p",{className:"max-w-[50ch] font-heading text-[clamp(1.1rem,1.5vw,1.32rem)] font-normal italic leading-[1.45] text-theme-muted [font-variation-settings:'opsz'_24,'SOFT'_70]",children:$.description},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Vj=({item:$})=>i("li",{className:"group grid grid-cols-1 items-baseline gap-3 border-t border-rule py-[22px] transition-colors duration-150 hover:bg-[rgb(from_var(--color-accent)_r_g_b_/_0.025)] md:grid-cols-[200px_minmax(0,1fr)] md:gap-14",children:i("a",{href:$.url,className:"contents text-inherit no-underline",children:[i("div",{className:"flex flex-row items-baseline gap-3.5 pt-0.5 md:flex-col md:gap-1.5",children:[i("span",{className:"font-heading text-[1.55rem] font-normal leading-none tracking-[-0.018em] text-theme-muted transition-colors duration-150 [font-variant-numeric:tabular-nums] [font-variation-settings:'opsz'_72,'SOFT'_50] group-hover:text-accent",children:zR($.date)},void 0,!1,void 0,this),i("time",{dateTime:$.date,className:"font-mono text-[0.62rem] uppercase tracking-[0.18em] text-theme-light [font-variant-numeric:tabular-nums]",children:X4($.date)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),i("div",{className:"min-w-0",children:[$.series&&i("div",{className:"mb-2",children:i(DR,{series:$.series},void 0,!1,void 0,this)},void 0,!1,void 0,this),i("h3",{className:"mb-2 font-heading text-[clamp(1.2rem,1.85vw,1.5rem)] font-medium leading-[1.2] tracking-[-0.016em] text-heading transition-colors duration-150 [font-variation-settings:'opsz'_48,'SOFT'_40] [text-wrap:balance] group-hover:text-accent",children:$.title},void 0,!1,void 0,this),$.description&&i("p",{className:"max-w-[62ch] text-[0.90625rem] leading-[1.55] text-theme-muted",children:$.description},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),wj=({year:$,count:X,label:G,latestDate:Y})=>i("div",{className:`${QY} relative items-baseline py-3 before:absolute before:left-0 before:right-0 before:top-3.5 before:h-px before:bg-rule-strong md:py-[18px] md:pt-14 md:before:top-6`,children:[i("span",{className:"pt-7 font-heading text-[clamp(2.4rem,5.4vw,3.6rem)] font-light italic leading-[0.95] tracking-[-0.025em] text-accent [font-variant-numeric:tabular-nums] [font-variation-settings:'opsz'_144,'SOFT'_30] md:pt-0",children:$},void 0,!1,void 0,this),i("span",{className:"font-mono text-[0.68rem] uppercase tracking-[0.22em] text-theme-light [font-variant-numeric:tabular-nums] md:pt-1.5",children:[X," ",G,X===1?"":"s"," \xB7 finished ",zR(Y)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),_j=({pagination:$,baseUrl:X})=>{if(!$||$.totalPages<=1)return null;let G=Math.max(2,String($.totalPages).length),Y=$.hasPrevPage??$.currentPage>1,J=$.hasNextPage??$.currentPage<$.totalPages;return i("nav",{"aria-label":"Pagination",className:`${QY} mt-16 border-t border-rule pt-6 font-mono text-[0.68rem] uppercase tracking-[0.2em] text-theme-light [font-variant-numeric:tabular-nums]`,children:[i("span",{children:[FY($.currentPage,G)," /"," ",FY($.totalPages,G)]},void 0,!0,void 0,this),i("span",{className:"flex items-baseline justify-between gap-6",children:[Y?i("a",{href:_R(X,$.currentPage-1),className:"text-theme-muted no-underline transition-colors duration-150 hover:text-brand",children:"\u2190 Newer"},void 0,!1,void 0,this):i("span",{"aria-disabled":"true",className:"opacity-30",children:"\u2190 Newer"},void 0,!1,void 0,this),J?i("a",{href:_R(X,$.currentPage+1),className:"text-theme-muted no-underline transition-colors duration-150 hover:text-brand",children:"Older \u2192"},void 0,!1,void 0,this):i("span",{"aria-disabled":"true",className:"opacity-30",children:"Older \u2192"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},w8=({label:$,items:X,pagination:G,baseUrl:Y="",emptyMessage:J})=>{let W=G?.currentPage??1,H=W===1&&X.length>0,U=H&&X[0]?X4(X[0].date):void 0,M=H?X.slice(1):X,F=Bj($);return i("section",{"aria-labelledby":"content-archive-title",children:[i("h1",{id:"content-archive-title",className:"sr-only",children:$},void 0,!1,void 0,this),i("div",{className:"mb-10 flex items-center gap-2.5 font-mono text-[0.7rem] font-medium uppercase tracking-[0.22em] text-accent",children:[i("span",{className:"h-px w-[18px] bg-accent","aria-hidden":"true"},void 0,!1,void 0,this),i("span",{children:$},void 0,!1,void 0,this)]},void 0,!0,void 0,this),X.length===0?i("p",{className:"text-theme-muted italic",children:J??`No ${$.toLowerCase()} yet.`},void 0,!1,void 0,this):i(MY,{children:[H&&X[0]&&i(Nj,{item:X[0]},void 0,!1,void 0,this),M.length>0&&i(MY,{children:[i("header",{className:"mb-7 flex items-baseline justify-between gap-6 font-mono text-[0.68rem] uppercase tracking-[0.24em] text-theme-light",children:[i("span",{children:"Archive"},void 0,!1,void 0,this),i("span",{className:"text-theme-muted",children:H?"Older entries":`Page ${FY(W,2)}`},void 0,!1,void 0,this)]},void 0,!0,void 0,this),i("ol",{className:"m-0 list-none p-0",children:M.map((Q,q)=>{let R=X4(Q.date),O=q>0?X4(M[q-1]?.date??""):U,_=O===void 0||R!==O,z=M.filter((D)=>X4(D.date)===R).length;return i(MY,{children:[_&&i(wj,{year:R,count:z,label:F,latestDate:Q.date},void 0,!1,void 0,this),i(Vj,{item:Q},void 0,!1,void 0,this)]},Q.id,!0,void 0,this)})},void 0,!1,void 0,this)]},void 0,!0,void 0,this),i(_j,{pagination:G,baseUrl:Y},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)};import{jsxDEV as G4,Fragment as zj}from"preact/jsx-dev-runtime";var y7=({items:$,viewAllUrl:X,viewAllLabel:G,emptyMessage:Y})=>{if($.length===0)return G4("p",{className:"text-theme-muted italic",children:Y??"Nothing here yet."},void 0,!1,void 0,this);return G4(zj,{children:[G4("ul",{className:"flex flex-col gap-10",children:$.map((J,W)=>G4(h7,{url:J.url,title:J.title,date:J.date,description:J.description,series:J.series,featured:W===0},J.id,!1,void 0,this))},void 0,!1,void 0,this),X&&G4("a",{href:X,className:"mt-10 inline-flex items-center gap-2 font-mono text-[0.7rem] font-medium uppercase tracking-[0.18em] text-accent pb-1 relative before:content-[''] before:absolute before:left-0 before:right-full before:bottom-0 before:h-px before:bg-accent before:transition-[right] before:duration-300 hover:before:right-0",children:[G??"View All",G4("span",{"aria-hidden":"true",children:"\u2192"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)};import{jsxDEV as _8}from"preact/jsx-dev-runtime";var qY=({title:$,number:X,blurb:G,variant:Y="editorial"})=>{if(Y==="compact")return _8("h2",{className:"text-sm tracking-widest uppercase text-theme-muted mb-8",children:$},void 0,!1,void 0,this);return _8("header",{children:[X!==void 0&&_8("span",{className:"block font-mono text-[0.7rem] font-medium uppercase tracking-[0.22em] text-accent mb-[0.85rem]",children:X},void 0,!1,void 0,this),_8("h2",{className:"font-heading font-normal text-heading leading-[1.05] tracking-[-0.015em] text-[clamp(1.75rem,2.6vw,2.1rem)] [font-variation-settings:'opsz'_48,'SOFT'_30]",children:$},void 0,!1,void 0,this),G!==void 0&&_8("p",{className:"font-heading italic font-light text-[0.95rem] leading-[1.5] text-theme-light mt-3 max-w-[22ch] [font-variation-settings:'opsz'_18,'SOFT'_50]",children:G},void 0,!1,void 0,this)]},void 0,!0,void 0,this)};import{jsxDEV as z8}from"preact/jsx-dev-runtime";var Dj=($)=>`/topics/${$.toLowerCase().replace(/\s+/g,"-")}`,OY=({subjects:$,hrefFor:X=Dj})=>z8("ul",{className:"grid grid-cols-1 sm:grid-cols-2 sm:gap-x-10 max-w-[40rem] border-t border-rule-strong list-none p-0 mt-8",children:$.map((G,Y)=>z8("li",{className:"border-b border-rule",children:z8("a",{href:X(G),className:"flex items-baseline gap-[1.1rem] py-[0.95rem] text-theme transition-[color,padding-left] duration-200 hover:text-accent hover:pl-[0.4rem]",children:[z8("span",{className:"font-mono text-[0.66rem] font-medium tracking-[0.18em] text-theme-light min-w-[1.6rem] transition-colors",children:String(Y+1).padStart(2,"0")},void 0,!1,void 0,this),z8("span",{className:"font-heading italic font-normal text-[1.05rem] tracking-[-0.005em] [font-variation-settings:'opsz'_24,'SOFT'_60]",children:G},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},G,!1,void 0,this))},void 0,!1,void 0,this);import{Fragment as ZY}from"preact";import{jsxDEV as D8}from"preact/jsx-dev-runtime";var Pj=/(\*[^*]+\*)/;function f7($,X){let G=$.split(`
|
|
754
|
+
prose-img:rounded-lg prose-img:shadow-md prose-img:my-8`,X),dangerouslySetInnerHTML:{__html:$}},void 0,!1,void 0,this)};import{jsxDEV as p50}from"preact/jsx-dev-runtime";var Fj=D0("",{variants:{level:{1:"text-4xl font-bold mb-8 mt-0 leading-tight tracking-tight",2:"text-3xl font-semibold mt-16 mb-6 border-b pb-4 leading-snug tracking-tight",3:"text-2xl font-semibold mt-10 mb-4 leading-snug tracking-tight"}},defaultVariants:{level:1}});import{jsxDEV as r50}from"preact/jsx-dev-runtime";var Qj=D0("bg-theme-subtle rounded-lg border border-theme hover:shadow-lg transition-shadow",{variants:{variant:{vertical:"flex flex-col p-6",horizontal:"flex flex-col sm:flex-row items-start gap-4 p-6",compact:"flex flex-col p-4"}},defaultVariants:{variant:"vertical"}});import{jsxDEV as a50}from"preact/jsx-dev-runtime";var qj=D0("object-cover rounded-lg",{variants:{size:{small:"w-full sm:w-32 h-48 sm:h-32 flex-shrink-0",medium:"w-full sm:w-48 h-48",large:"w-full h-48"}},defaultVariants:{size:"medium"}});import{jsxDEV as VR}from"preact/jsx-dev-runtime";var UY=({src:$,alt:X,width:G,height:Y,srcset:J,sizes:W,className:H})=>{return VR("div",{className:U0("w-full overflow-hidden",H),children:VR("img",{src:$,alt:X,width:G,height:Y,...J&&{srcset:J},...W&&{sizes:W},loading:"lazy",decoding:"async",style:{aspectRatio:`${G}/${Y}`},className:"w-full h-auto rounded-lg"},void 0,!1,void 0,this)},void 0,!1,void 0,this)};import{jsxDEV as J20}from"preact/jsx-dev-runtime";import{jsxDEV as K20}from"preact/jsx-dev-runtime";import{jsxDEV as q20}from"preact/jsx-dev-runtime";import{jsxDEV as A20}from"preact/jsx-dev-runtime";import{jsxDEV as z20}from"preact/jsx-dev-runtime";var KY=D0("rounded-full",{variants:{variant:{default:"bg-theme-muted text-theme",muted:"bg-theme text-theme-muted",accent:"bg-accent/10 text-accent"},size:{xs:"text-xs px-2 py-1",sm:"text-sm px-3 py-1",md:"text-sm px-3 py-1 font-medium",lg:"text-sm px-4 py-2 font-medium"}},defaultVariants:{variant:"default",size:"xs"}});import{jsxDEV as C20}from"preact/jsx-dev-runtime";import{jsxDEV as k20}from"preact/jsx-dev-runtime";var Oj=D0("",{variants:{titleSize:{"3xl":"text-3xl","4xl":"text-4xl"}},defaultVariants:{titleSize:"4xl"}});import{jsxDEV as y20}from"preact/jsx-dev-runtime";var Zj=D0("px-2 py-1 rounded-full",{variants:{variant:{default:"bg-theme",muted:"bg-theme-muted"}},defaultVariants:{variant:"default"}});import{jsxDEV as p20}from"preact/jsx-dev-runtime";import{jsxDEV as c20}from"preact/jsx-dev-runtime";import{jsxDEV as s20}from"preact/jsx-dev-runtime";import{jsxDEV as X40}from"preact/jsx-dev-runtime";var Rj=D0("inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium",{variants:{status:{draft:"bg-status-neutral text-status-neutral",queued:"bg-status-info text-status-info",sent:"bg-status-success text-status-success",failed:"bg-status-danger text-status-danger",published:"bg-status-success text-status-success",pending:"bg-status-warning text-status-warning",captured:"bg-status-info text-status-info",available:"bg-status-success text-status-success","early access":"bg-status-info text-status-info","coming soon":"bg-status-warning text-status-warning",planned:"bg-status-neutral text-status-neutral"}},defaultVariants:{status:"draft"}});import{jsxDEV as $4}from"preact/jsx-dev-runtime";var h7=({url:$,title:X,date:G,description:Y,series:J,featured:W})=>{return $4("li",{className:"block pb-10 border-b border-rule last:border-b-0 last:pb-0 transition-transform duration-200 hover:translate-x-1",children:$4("a",{href:$,className:"group block",children:[J&&$4("span",{className:"block font-mono text-[0.65rem] font-medium uppercase tracking-[0.18em] text-accent mb-3",children:[String(J.index).padStart(3,"0")," \xB7 ",J.name]},void 0,!0,void 0,this),$4("h3",{className:U0("font-heading font-normal text-heading mb-2 leading-[1.15] tracking-[-0.01em] transition-colors group-hover:text-accent",W?"text-[clamp(1.75rem,3.2vw,2.65rem)] leading-[1.05] tracking-[-0.018em] [font-variation-settings:'opsz'_96,'SOFT'_30]":"text-[clamp(1.4rem,2.4vw,2rem)] [font-variation-settings:'opsz'_72,'SOFT'_30]"),children:X},void 0,!1,void 0,this),$4("time",{className:"block font-mono text-[0.7rem] uppercase tracking-[0.14em] text-theme-light mb-4",children:new Date(G).toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric"})},void 0,!1,void 0,this),Y&&$4("p",{className:"text-[0.95rem] leading-[1.6] text-theme-muted max-w-[60ch]",children:Y},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)};import{jsxDEV as K40,Fragment as M40}from"preact/jsx-dev-runtime";import{jsxDEV as i,Fragment as MY}from"preact/jsx-dev-runtime";var QY="grid grid-cols-1 gap-3 md:grid-cols-[200px_minmax(0,1fr)] md:gap-14",FY=($,X)=>String(Math.max(0,$)).padStart(X,"0"),Aj=($)=>new Date($).toLocaleDateString("en-GB",{year:"numeric",month:"short",day:"2-digit"}),zR=($)=>new Date($).toLocaleDateString("en-GB",{month:"short",day:"2-digit"}),X4=($)=>{let X=new Date($).getFullYear();return Number.isFinite(X)?String(X):"Undated"},_R=($,X)=>{if(X===1)return $;return`${$.endsWith("/")?$.slice(0,-1):$}/page/${X}`},Bj=($)=>{let X=$.trim().toLowerCase();if(X.endsWith("ies"))return X.slice(0,-3)+"y";if(X.endsWith("s"))return X.slice(0,-1);return X||"entry"},DR=({series:$})=>{if(!$)return null;return i("span",{className:"inline-block font-mono text-[0.65rem] uppercase tracking-[0.2em] text-accent",children:[i("span",{className:"mr-1 text-theme-light",children:String($.index).padStart(3,"0")},void 0,!1,void 0,this),$.name]},void 0,!0,void 0,this)},Nj=({item:$})=>i("section",{"aria-label":"Latest",className:`${QY} mb-14 border-b border-rule pb-[4.5rem]`,children:[i("div",{className:"flex flex-row items-baseline gap-6 pt-0.5 md:flex-col md:items-start md:gap-0",children:[i("span",{className:"font-heading text-[clamp(3.2rem,7vw,5.4rem)] font-light leading-[0.9] tracking-[-0.03em] text-accent [font-variant-numeric:tabular-nums] [font-variation-settings:'opsz'_144,'SOFT'_30] md:mb-5",children:X4($.date)},void 0,!1,void 0,this),i("div",{className:"flex w-full max-w-[168px] flex-col gap-1.5 border-rule-strong pt-2 font-mono md:border-t md:pt-3",children:[i("span",{className:"text-[0.625rem] uppercase tracking-[0.26em] text-theme-light",children:"Latest"},void 0,!1,void 0,this),i("time",{dateTime:$.date,className:"text-xs tracking-[0.04em] text-theme-muted [font-variant-numeric:tabular-nums]",children:Aj($.date)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),i("div",{className:"min-w-0",children:i("a",{href:$.url,className:"group block text-inherit no-underline",children:[$.series&&i("div",{className:"mb-[22px]",children:i(DR,{series:$.series},void 0,!1,void 0,this)},void 0,!1,void 0,this),i("h2",{className:"mb-[22px] max-w-[15ch] font-heading text-[clamp(2.4rem,5vw,3.75rem)] font-normal leading-[0.98] tracking-[-0.028em] text-heading transition-colors duration-150 [font-variation-settings:'opsz'_144,'SOFT'_30] [text-wrap:balance] group-hover:text-accent",children:$.title},void 0,!1,void 0,this),$.description&&i("p",{className:"max-w-[50ch] font-heading text-[clamp(1.1rem,1.5vw,1.32rem)] font-normal italic leading-[1.45] text-theme-muted [font-variation-settings:'opsz'_24,'SOFT'_70]",children:$.description},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Vj=({item:$})=>i("li",{className:"group grid grid-cols-1 items-baseline gap-3 border-t border-rule py-[22px] transition-colors duration-150 hover:bg-[rgb(from_var(--color-accent)_r_g_b_/_0.025)] md:grid-cols-[200px_minmax(0,1fr)] md:gap-14",children:i("a",{href:$.url,className:"contents text-inherit no-underline",children:[i("div",{className:"flex flex-row items-baseline gap-3.5 pt-0.5 md:flex-col md:gap-1.5",children:[i("span",{className:"font-heading text-[1.55rem] font-normal leading-none tracking-[-0.018em] text-theme-muted transition-colors duration-150 [font-variant-numeric:tabular-nums] [font-variation-settings:'opsz'_72,'SOFT'_50] group-hover:text-accent",children:zR($.date)},void 0,!1,void 0,this),i("time",{dateTime:$.date,className:"font-mono text-[0.62rem] uppercase tracking-[0.18em] text-theme-light [font-variant-numeric:tabular-nums]",children:X4($.date)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),i("div",{className:"min-w-0",children:[$.series&&i("div",{className:"mb-2",children:i(DR,{series:$.series},void 0,!1,void 0,this)},void 0,!1,void 0,this),i("h3",{className:"mb-2 font-heading text-[clamp(1.2rem,1.85vw,1.5rem)] font-medium leading-[1.2] tracking-[-0.016em] text-heading transition-colors duration-150 [font-variation-settings:'opsz'_48,'SOFT'_40] [text-wrap:balance] group-hover:text-accent",children:$.title},void 0,!1,void 0,this),$.description&&i("p",{className:"max-w-[62ch] text-[0.90625rem] leading-[1.55] text-theme-muted",children:$.description},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),wj=({year:$,count:X,label:G,latestDate:Y})=>i("div",{className:`${QY} relative items-baseline py-3 before:absolute before:left-0 before:right-0 before:top-3.5 before:h-px before:bg-rule-strong md:py-[18px] md:pt-14 md:before:top-6`,children:[i("span",{className:"pt-7 font-heading text-[clamp(2.4rem,5.4vw,3.6rem)] font-light leading-[0.95] tracking-[-0.025em] text-accent [font-variant-numeric:tabular-nums] [font-variation-settings:'opsz'_144,'SOFT'_30] md:pt-0",children:$},void 0,!1,void 0,this),i("span",{className:"font-mono text-[0.68rem] uppercase tracking-[0.22em] text-theme-light [font-variant-numeric:tabular-nums] md:pt-1.5",children:[X," ",G,X===1?"":"s"," \xB7 finished ",zR(Y)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),_j=({pagination:$,baseUrl:X})=>{if(!$||$.totalPages<=1)return null;let G=Math.max(2,String($.totalPages).length),Y=$.hasPrevPage??$.currentPage>1,J=$.hasNextPage??$.currentPage<$.totalPages;return i("nav",{"aria-label":"Pagination",className:`${QY} mt-16 border-t border-rule pt-6 font-mono text-[0.68rem] uppercase tracking-[0.2em] text-theme-light [font-variant-numeric:tabular-nums]`,children:[i("span",{children:[FY($.currentPage,G)," /"," ",FY($.totalPages,G)]},void 0,!0,void 0,this),i("span",{className:"flex items-baseline justify-between gap-6",children:[Y?i("a",{href:_R(X,$.currentPage-1),className:"text-theme-muted no-underline transition-colors duration-150 hover:text-brand",children:"\u2190 Newer"},void 0,!1,void 0,this):i("span",{"aria-disabled":"true",className:"opacity-30",children:"\u2190 Newer"},void 0,!1,void 0,this),J?i("a",{href:_R(X,$.currentPage+1),className:"text-theme-muted no-underline transition-colors duration-150 hover:text-brand",children:"Older \u2192"},void 0,!1,void 0,this):i("span",{"aria-disabled":"true",className:"opacity-30",children:"Older \u2192"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},w8=({label:$,items:X,pagination:G,baseUrl:Y="",emptyMessage:J})=>{let W=G?.currentPage??1,H=W===1&&X.length>0,U=H&&X[0]?X4(X[0].date):void 0,M=H?X.slice(1):X,F=Bj($);return i("section",{"aria-labelledby":"content-archive-title",children:[i("h1",{id:"content-archive-title",className:"sr-only",children:$},void 0,!1,void 0,this),i("div",{className:"mb-10 flex items-center gap-2.5 font-mono text-[0.7rem] font-medium uppercase tracking-[0.22em] text-accent",children:[i("span",{className:"h-px w-[18px] bg-accent","aria-hidden":"true"},void 0,!1,void 0,this),i("span",{children:$},void 0,!1,void 0,this)]},void 0,!0,void 0,this),X.length===0?i("p",{className:"text-theme-muted italic",children:J??`No ${$.toLowerCase()} yet.`},void 0,!1,void 0,this):i(MY,{children:[H&&X[0]&&i(Nj,{item:X[0]},void 0,!1,void 0,this),M.length>0&&i(MY,{children:[i("header",{className:"mb-7 flex items-baseline justify-between gap-6 font-mono text-[0.68rem] uppercase tracking-[0.24em] text-theme-light",children:[i("span",{children:"Archive"},void 0,!1,void 0,this),i("span",{className:"text-theme-muted",children:H?"Older entries":`Page ${FY(W,2)}`},void 0,!1,void 0,this)]},void 0,!0,void 0,this),i("ol",{className:"m-0 list-none p-0",children:M.map((Q,q)=>{let R=X4(Q.date),O=q>0?X4(M[q-1]?.date??""):U,_=O===void 0||R!==O,z=M.filter((D)=>X4(D.date)===R).length;return i(MY,{children:[_&&i(wj,{year:R,count:z,label:F,latestDate:Q.date},void 0,!1,void 0,this),i(Vj,{item:Q},void 0,!1,void 0,this)]},Q.id,!0,void 0,this)})},void 0,!1,void 0,this)]},void 0,!0,void 0,this),i(_j,{pagination:G,baseUrl:Y},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)};import{jsxDEV as G4,Fragment as zj}from"preact/jsx-dev-runtime";var y7=({items:$,viewAllUrl:X,viewAllLabel:G,emptyMessage:Y})=>{if($.length===0)return G4("p",{className:"text-theme-muted italic",children:Y??"Nothing here yet."},void 0,!1,void 0,this);return G4(zj,{children:[G4("ul",{className:"flex flex-col gap-10",children:$.map((J,W)=>G4(h7,{url:J.url,title:J.title,date:J.date,description:J.description,series:J.series,featured:W===0},J.id,!1,void 0,this))},void 0,!1,void 0,this),X&&G4("a",{href:X,className:"mt-10 inline-flex items-center gap-2 font-mono text-[0.7rem] font-medium uppercase tracking-[0.18em] text-accent pb-1 relative before:content-[''] before:absolute before:left-0 before:right-full before:bottom-0 before:h-px before:bg-accent before:transition-[right] before:duration-300 hover:before:right-0",children:[G??"View All",G4("span",{"aria-hidden":"true",children:"\u2192"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)};import{jsxDEV as _8}from"preact/jsx-dev-runtime";var qY=({title:$,number:X,blurb:G,variant:Y="editorial"})=>{if(Y==="compact")return _8("h2",{className:"text-sm tracking-widest uppercase text-theme-muted mb-8",children:$},void 0,!1,void 0,this);return _8("header",{children:[X!==void 0&&_8("span",{className:"block font-mono text-[0.7rem] font-medium uppercase tracking-[0.22em] text-accent mb-[0.85rem]",children:X},void 0,!1,void 0,this),_8("h2",{className:"font-heading font-normal text-heading leading-[1.05] tracking-[-0.015em] text-[clamp(1.75rem,2.6vw,2.1rem)] [font-variation-settings:'opsz'_48,'SOFT'_30]",children:$},void 0,!1,void 0,this),G!==void 0&&_8("p",{className:"font-heading italic font-light text-[0.95rem] leading-[1.5] text-theme-light mt-3 max-w-[22ch] [font-variation-settings:'opsz'_18,'SOFT'_50]",children:G},void 0,!1,void 0,this)]},void 0,!0,void 0,this)};import{jsxDEV as z8}from"preact/jsx-dev-runtime";var Dj=($)=>`/topics/${$.toLowerCase().replace(/\s+/g,"-")}`,OY=({subjects:$,hrefFor:X=Dj})=>z8("ul",{className:"grid grid-cols-1 sm:grid-cols-2 sm:gap-x-10 max-w-[40rem] border-t border-rule-strong list-none p-0 mt-8",children:$.map((G,Y)=>z8("li",{className:"border-b border-rule",children:z8("a",{href:X(G),className:"flex items-baseline gap-[1.1rem] py-[0.95rem] text-theme transition-[color,padding-left] duration-200 hover:text-accent hover:pl-[0.4rem]",children:[z8("span",{className:"font-mono text-[0.66rem] font-medium tracking-[0.18em] text-theme-light min-w-[1.6rem] transition-colors",children:String(Y+1).padStart(2,"0")},void 0,!1,void 0,this),z8("span",{className:"font-heading italic font-normal text-[1.05rem] tracking-[-0.005em] [font-variation-settings:'opsz'_24,'SOFT'_60]",children:G},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},G,!1,void 0,this))},void 0,!1,void 0,this);import{Fragment as ZY}from"preact";import{jsxDEV as D8}from"preact/jsx-dev-runtime";var Pj=/(\*[^*]+\*)/;function f7($,X){let G=$.split(`
|
|
755
755
|
`);return D8(ZY,{children:G.map((Y,J)=>D8(ZY,{children:[J>0&&D8("br",{},void 0,!1,void 0,this),Y.split(Pj).map((W,H)=>{if(W.length>=3&&W.startsWith("*")&&W.endsWith("*"))return D8("span",{className:X,children:W.slice(1,-1)},H,!1,void 0,this);return D8(ZY,{children:W},H,!1,void 0,this)})]},J,!0,void 0,this))},void 0,!1,void 0,this)}import{createContext as Lj,h as P40}from"preact";import{useContext as Cj}from"preact/hooks";var PR=Lj(null);function LR(){return Cj(PR)}function s0($){let X=LR();if(X)X.setHeadProps($);return null}import{jsxDEV as Tj}from"preact/jsx-dev-runtime";var o5=({markdown:$,className:X})=>{let G=i5();return Tj(HY,{html:G($),...X&&{className:X}},void 0,!1,void 0,this)};import{jsxDEV as k40}from"preact/jsx-dev-runtime";import{jsxDEV as b40}from"preact/jsx-dev-runtime";import{jsxDEV as p40}from"preact/jsx-dev-runtime";var Ej=D0("newsletter-signup",{variants:{variant:{inline:"",card:"p-6 rounded-lg bg-theme-subtle",section:"py-16 text-center"}},defaultVariants:{variant:"card"}});S();import{useState as l40}from"preact/hooks";import{jsxDEV as o40}from"preact/jsx-dev-runtime";var r40=K.record(K.unknown());S();import{jsxDEV as e40}from"preact/jsx-dev-runtime";var RY=K.object({id:K.string(),type:K.string().optional(),name:K.string().optional(),count:K.number().optional(),priority:K.string().optional(),status:K.string().optional()}),a40=K.object({jobs:K.array(RY).optional(),batches:K.array(RY).optional(),items:K.array(RY).optional()});S();import{jsxDEV as J80}from"preact/jsx-dev-runtime";var G80=K.record(K.unknown());S();import{useState as U80}from"preact/hooks";import{jsxDEV as Q80}from"preact/jsx-dev-runtime";var Ij=K.object({id:K.string(),title:K.string(),type:K.string(),status:K.enum(["draft","queued","published","failed"]),scheduledFor:K.string().optional(),retryInfo:K.string().optional()}),M80=K.object({summary:K.object({draft:K.number(),queued:K.number(),published:K.number(),failed:K.number()}),items:K.array(Ij)});S();import{jsxDEV as A80}from"preact/jsx-dev-runtime";var Z80=K.object({name:K.string(),role:K.string(),purpose:K.string(),values:K.array(K.string())});S();import{jsxDEV as _80}from"preact/jsx-dev-runtime";var V80=K.object({name:K.string(),description:K.string().optional(),links:K.array(K.object({label:K.string(),url:K.string()})).optional()});S();import{jsxDEV as C80}from"preact/jsx-dev-runtime";var P80=K.object({version:K.string(),plugins:K.string(),rendered:K.string(),links:K.array(K.object({label:K.string(),url:K.string()})).optional()});import{jsxDEV as P8,Fragment as fj}from"preact/jsx-dev-runtime";var yj="Essays",AY=({posts:$,pageTitle:X,pageLabel:G,pagination:Y,baseUrl:J="/posts"})=>{let W=$.map((Q)=>({id:Q.id,url:Q.url,title:Q.metadata.title,date:Q.metadata.publishedAt||Q.created,description:Q.frontmatter.excerpt,series:Q.frontmatter.seriesName&&Q.frontmatter.seriesIndex?{name:Q.frontmatter.seriesName,index:Q.frontmatter.seriesIndex}:void 0})),H=G&&G!=="Posts"?G:yj,U=X&&X!=="Posts"?X:H,M=Y?.totalItems??$.length,F=`Browse all ${M} ${M===1?"essay":"essays"}`;return P8(fj,{children:[P8(s0,{title:U,description:F},void 0,!1,void 0,this),P8("div",{className:"blog-list bg-theme",children:P8("div",{className:"container mx-auto max-w-[1100px] px-6 py-16 md:px-12 md:py-24",children:P8(w8,{label:H,items:W,pagination:Y,baseUrl:J},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)};S();import{jsxDEV as u,Fragment as cj}from"preact/jsx-dev-runtime";var BY="grid grid-cols-1 gap-7 md:grid-cols-[140px_minmax(0,720px)] md:gap-14",gj=($)=>new Date($).toLocaleDateString("en-GB",{year:"numeric",month:"short",day:"2-digit"}),mj=($,X)=>{if(X){let G=X.findIndex((Y)=>Y.id===$.id);if(G>=0)return G+1}return $.frontmatter.seriesIndex},pj=({post:$})=>{let X=[{label:"Home",href:"/"},{label:$.listLabel,href:$.listUrl},...$.frontmatter.seriesName?[{label:$.frontmatter.seriesName,href:$.seriesUrl}]:[],{label:$.frontmatter.title}];return u("nav",{"aria-label":"Breadcrumb",className:"mb-16 text-[13px] text-theme-muted",children:u("ol",{className:"flex flex-wrap gap-1",children:X.map((G,Y)=>{let J=Y===X.length-1;return u("li",{className:"inline-flex items-center gap-1",children:[Y>0&&u("span",{className:"mx-1.5 text-theme-light","aria-hidden":"true",children:"/"},void 0,!1,void 0,this),J||!G.href?u("span",{className:"font-medium text-heading","aria-current":J?"page":void 0,children:G.label},void 0,!1,void 0,this):u("a",{href:G.href,className:"text-inherit no-underline transition-colors duration-150 hover:text-brand",children:G.label},void 0,!1,void 0,this)]},`${G.label}-${Y}`,!0,void 0,this)})},void 0,!1,void 0,this)},void 0,!1,void 0,this)},uj=({post:$,readingTime:X,seriesPosition:G})=>u("aside",{"aria-label":"Post details",className:"relative flex flex-row flex-wrap gap-6 border-t border-rule-strong pt-3.5 before:absolute before:-top-px before:left-0 before:h-px before:w-14 before:bg-accent md:flex-col md:gap-[18px] md:pt-[18px]",children:[$.frontmatter.publishedAt&&u("div",{className:"flex flex-col gap-1",children:[u("span",{className:"font-mono text-[0.625rem] uppercase tracking-[0.18em] text-theme-light",children:"Published"},void 0,!1,void 0,this),u("time",{dateTime:$.frontmatter.publishedAt,className:"text-sm text-theme [font-variant-numeric:tabular-nums]",children:gj($.frontmatter.publishedAt)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),X>0&&u("div",{className:"flex flex-col gap-1",children:[u("span",{className:"font-mono text-[0.625rem] uppercase tracking-[0.18em] text-theme-light",children:"Reading"},void 0,!1,void 0,this),u("span",{className:"text-sm text-theme [font-variant-numeric:tabular-nums]",children:[X," min"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),$.frontmatter.seriesName&&u("div",{className:"flex flex-col gap-1",children:[u("span",{className:"font-mono text-[0.625rem] uppercase tracking-[0.18em] text-theme-light",children:"Series"},void 0,!1,void 0,this),u("span",{className:"text-sm text-theme [font-variant-numeric:tabular-nums]",children:[G&&u("span",{className:"mr-1.5 font-mono text-[0.6875rem] text-theme-light",children:String(G).padStart(3,"0")},void 0,!1,void 0,this),$.seriesUrl?u("a",{href:$.seriesUrl,className:"border-b border-transparent text-inherit no-underline transition-colors duration-150 hover:border-brand hover:text-brand",children:$.frontmatter.seriesName},void 0,!1,void 0,this):$.frontmatter.seriesName]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),dj=({currentPost:$,seriesPosts:X,seriesPosition:G})=>{if(!$.frontmatter.seriesName||!X?.length)return null;return u("section",{className:"border-t border-rule pt-6","aria-label":"Series",children:[u("header",{className:"mb-[18px] flex items-baseline justify-between gap-6",children:[u("span",{className:"font-mono text-[0.6875rem] uppercase tracking-[0.18em] text-theme-light",children:"Series"},void 0,!1,void 0,this),u("span",{className:"font-heading text-[15px] font-normal italic text-theme-muted [font-variation-settings:'opsz'_24,'SOFT'_60]",children:[$.frontmatter.seriesName,G?` \xB7 Part ${G} of ${X.length}`:""]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),u("ol",{className:"m-0 list-none p-0",children:X.map((Y,J)=>{let W=Y.id===$.id;return u("li",{className:"grid grid-cols-[36px_minmax(0,1fr)] items-baseline gap-3.5 py-2",children:W?u("span",{className:"contents","aria-current":"page",children:[u("span",{className:"pt-0.5 font-mono text-[0.6875rem] text-accent [font-variant-numeric:tabular-nums]",children:[J+1,"."]},void 0,!0,void 0,this),u("span",{className:"text-[15.5px] leading-[1.4] text-theme",children:Y.frontmatter.title},void 0,!1,void 0,this)]},void 0,!0,void 0,this):u("a",{href:Y.url,className:"contents text-theme-muted no-underline transition-colors duration-150 hover:text-theme",children:[u("span",{className:"pt-0.5 font-mono text-[0.6875rem] text-theme-light [font-variant-numeric:tabular-nums]",children:[J+1,"."]},void 0,!0,void 0,this),u("span",{className:"text-[15.5px] leading-[1.4]",children:Y.frontmatter.title},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},Y.id,!1,void 0,this)})},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},lj=({prevPost:$,nextPost:X})=>{if(!$&&!X)return null;return u("nav",{className:"mt-14 grid grid-cols-1 gap-5 border-t border-rule pt-6 md:grid-cols-2 md:gap-9","aria-label":"Adjacent posts",children:[$?u("a",{href:$.url,className:"block text-inherit no-underline group",children:[u("span",{className:"mb-2 block font-mono text-[0.65625rem] uppercase tracking-[0.18em] text-theme-light",children:"\u2190 Previous"},void 0,!1,void 0,this),u("span",{className:"block font-heading text-[1.15rem] font-medium leading-[1.3] tracking-[-0.014em] text-heading transition-colors duration-150 [font-variation-settings:'opsz'_36,'SOFT'_40] group-hover:text-accent",children:$.frontmatter.title},void 0,!1,void 0,this)]},void 0,!0,void 0,this):u("span",{"aria-hidden":"true"},void 0,!1,void 0,this),X&&u("a",{href:X.url,className:"block text-inherit no-underline group md:text-right",children:[u("span",{className:"mb-2 block font-mono text-[0.65625rem] uppercase tracking-[0.18em] text-theme-light",children:"Next \u2192"},void 0,!1,void 0,this),u("span",{className:"block font-heading text-[1.15rem] font-medium leading-[1.3] tracking-[-0.014em] text-heading transition-colors duration-150 [font-variation-settings:'opsz'_36,'SOFT'_40] group-hover:text-accent",children:X.frontmatter.title},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},L8=({post:$,prevPost:X,nextPost:G,seriesPosts:Y})=>{let J=tX($.body),W=mj($,Y);return u(cj,{children:[u(s0,{title:$.frontmatter.title,description:$.frontmatter.excerpt,...$.coverImageUrl&&{ogImage:$.coverImageUrl},ogType:"article"},void 0,!1,void 0,this),u("article",{className:"blog-post-section bg-theme",children:u("div",{className:"mx-auto max-w-[1100px] px-5 py-16 md:px-14 md:pb-24",children:[u(pj,{post:$},void 0,!1,void 0,this),u("header",{className:`${BY} mb-14`,children:[u(uj,{post:$,readingTime:J,seriesPosition:W},void 0,!1,void 0,this),u("div",{className:"pt-0 md:pt-3",children:u("h1",{className:"font-heading text-[clamp(2.4rem,5.4vw,4rem)] font-normal leading-[0.98] tracking-[-0.028em] text-heading [font-variation-settings:'opsz'_144,'SOFT'_30] [text-wrap:balance]",children:$.frontmatter.title},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),$.coverImageUrl&&$.coverImageWidth&&$.coverImageHeight&&u(UY,{src:$.coverImageUrl,alt:$.frontmatter.title,width:$.coverImageWidth,height:$.coverImageHeight,srcset:$.coverImageSrcset,sizes:$.coverImageSizes,className:"mb-16 rounded-[14px]"},void 0,!1,void 0,this),u("div",{className:BY,children:[u("div",{"aria-hidden":"true"},void 0,!1,void 0,this),u(o5,{markdown:$.body,className:"max-w-none font-sans text-theme prose-p:text-[18px] prose-p:leading-[1.72] prose-p:text-theme prose-p:[text-wrap:pretty] prose-h2:border-0 prose-h2:pb-0 prose-h2:font-heading prose-h2:text-[clamp(1.5rem,2.6vw,1.9rem)] prose-h2:font-semibold prose-h2:leading-[1.15] prose-h2:tracking-[-0.022em] prose-h2:text-heading prose-h2:[font-variation-settings:'opsz'_72,'SOFT'_40] prose-em:text-accent prose-strong:text-heading prose-a:text-brand prose-a:decoration-[1px] prose-a:underline-offset-[0.22em] prose-code:bg-theme-muted prose-code:text-theme prose-pre:bg-theme-subtle prose-pre:text-theme prose-blockquote:border-rule-strong prose-blockquote:text-theme-muted prose-blockquote:italic prose-li:marker:text-theme-light prose-img:rounded-[14px]"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),u("div",{className:`${BY} mt-[72px]`,children:[u("div",{"aria-hidden":"true"},void 0,!1,void 0,this),u("div",{children:[u(dj,{currentPost:$,seriesPosts:Y,seriesPosition:W},void 0,!1,void 0,this),u(lj,{prevPost:X,nextPost:G},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)};S();O0();var rj=K.object({title:K.string().trim().min(1).max(80).describe("A short, punchy title (2-4 words) that's memorable and evocative. Must not be empty."),content:K.string().trim().min(1).describe("Blog post content in markdown format, relatively concise (30-80 lines), with flowing narrative style. Must not be empty."),excerpt:K.string().trim().min(1).describe("A concise 1-2 sentence summary that captures the essence of the post. Must not be empty.")}),CR=T0({name:"blog:generation",description:"Template for AI to generate complete blog posts from prompts",schema:rj,dataSourceId:"shell:ai-content",requiredPermission:"public",useKnowledgeContext:!0,basePrompt:`You are writing blog posts in a distinctive voice that blends philosophy, technology, and culture.
|
|
756
756
|
|
|
757
757
|
Your task is to generate a complete blog post based on the user's prompt.
|
|
@@ -782,7 +782,7 @@ The excerpt should be clear, concise, and compelling.`});S();g1();Q6();import{js
|
|
|
782
782
|
Note: This is part of a series called "${G.seriesName}".`:""}`;return $.ai.generate({prompt:Y,templateName:"blog:generation"})}),$.eval.registerHandler("generateExcerpt",async(X)=>{let G=GS.parse(X);return $.ai.generate({prompt:`Title: ${G.title}
|
|
783
783
|
|
|
784
784
|
Content:
|
|
785
|
-
${G.content}`,templateName:"blog:excerpt"})})}var bR={name:"@brains/blog",private:!0,version:"0.2.0-alpha.70",description:"AI-powered blog post generation from existing brain content",type:"module",exports:{".":"./src/index.ts"},scripts:{typecheck:"tsc --noEmit",test:"bun test",lint:"eslint . --ext .ts","lint:fix":"eslint . --ext .ts --fix",eval:"cd evals && bun run brain-eval"},dependencies:{"@brains/contracts":"workspace:*","@brains/plugins":"workspace:*","@brains/utils":"workspace:*"},devDependencies:{"@brains/app":"workspace:*","@brains/eslint-config":"workspace:*","@brains/typescript-config":"workspace:*","@types/bun":"latest","bun-types":"latest",eslint:"^8.56.0",typescript:"^5.3.3"}};class gR extends J5{entityType=d5.entityType;schema=s2;adapter=d5;constructor($={}){super("blog",bR,$,fG)}getEntityTypeConfig(){return{weight:2}}createGenerationHandler($){return new gG(this.logger.child("BlogGenerationJobHandler"),$)}getTemplates(){return IR()}getDataSources(){return[new pG(this.logger.child("BlogDataSource"))]}async onRegister($){let{RSSDataSource:X}=await Promise.resolve().then(() => (fR(),yR));$.entities.registerDataSource(new X(this.logger.child("RSSDataSource"))),await jR($,this.logger),SR($,this.logger),vR($,this.logger),xR($),this.logger.info("Blog plugin registered (routes auto-generated at /posts/)")}}Q6();U8();O0();g2();S();O0();g2();var mR=K.object({}),m7=G1.extend({id:K.literal("site-info"),entityType:K.literal("site-info"),metadata:mR}),C8=c9,J4=i9.omit({url:!0,analyticsScript:!0});O0();class k6 extends X1{constructor(){super({entityType:"site-info",schema:m7,frontmatterSchema:J4,isSingleton:!0,hasBody:!1})}createSiteInfoContent($){let X=J4.parse($);return this.buildMarkdown("",X)}parseSiteInfoBody($){return this.parseFrontmatter($)}fromMarkdown($){return{content:$,entityType:"site-info"}}extractMetadata($){return{}}generateFrontMatter($){let X=this.parseFrontmatter($.content);return this.buildMarkdown("",X)}}var T$0=new k6;var g$0=new k6;var US=new k6;async function T8($){let G=(await $.listEntities({entityType:"site-info",options:{limit:1}}))[0];if(!G)throw Error("Site info not found \u2014 create a site-info entity");return US.parseSiteInfoBody(G.content)}S();var KS=J4.extend({navigation:K.object({primary:K.array(K.object({label:K.string(),href:K.string(),priority:K.number()})),secondary:K.array(K.object({label:K.string(),href:K.string(),priority:K.number()}))}),copyright:K.string(),socialLinks:K.array(K.object({platform:K.enum(["github","instagram","linkedin","email","website"]).describe("Social media platform"),url:K.string().describe("Profile or contact URL"),label:K.string().optional().describe("Optional display label")})).optional().describe("Social media links from profile entity")});O0();var p7=o2,Q5=F6.extend(p7.shape);O0();u5();S();var MS=new p1;class u7{postsListUrl;id="personal:homepage";name="Personal Homepage DataSource";description="Fetches profile and blog posts for a personal homepage";constructor($){this.postsListUrl=$}async fetch($,X,G){let Y=G.entityService,[J,W,H]=await Promise.all([M6(Y),Y.listEntities({entityType:"post",options:{limit:20}}),T8(Y)]),U=MS.parseProfileBody(J,Q5),M=W.sort(z2).slice(0,6).map(l5);if(!H.cta)throw Error("CTA not configured in site-info");let F={profile:U,posts:M,postsListUrl:this.postsListUrl,cta:H.cta};return X.parse(F)}}O0();u5();var FS=new p1;class d7{id="personal:about";name="About Page DataSource";description="Fetches full profile data for the about page";async fetch($,X,G){let Y=await M6(G.entityService),W={profile:FS.parseProfileBody(Y,Q5)};return X.parse(W)}}import{jsxDEV as M0,Fragment as pR}from"preact/jsx-dev-runtime";function QS($){return new Date($).toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric"})}function qS($){return $.split(/(\*[^*]+\*)/).map((X,G)=>{if(X.startsWith("*")&&X.endsWith("*")&&X.length>2)return M0("em",{className:"font-sans italic font-medium text-theme-inverse tracking-[-0.015em] [font-variation-settings:'opsz'_72]",children:X.slice(1,-1)},G,!1,void 0,this);return X})}var NY=({profile:$,posts:X,postsListUrl:G,cta:Y})=>{let J=$.tagline??$.description,W=$.name.split(" ")[0];return M0(pR,{children:[M0(s0,{title:$.name,description:$.description??J??"Personal site",ogType:"website"},void 0,!1,void 0,this),M0("header",{className:"hero-decor bg-brand text-theme-inverse relative flex flex-col items-center justify-center px-6 md:px-12 pt-32 pb-24 gap-7",children:M0("div",{className:"w-full max-w-[1100px] mx-auto text-center flex flex-col items-center gap-7",children:[J&&M0("h1",{className:"font-heading font-bold text-[clamp(2.5rem,6vw,5rem)] leading-[1.05] tracking-[-0.035em] text-theme-inverse text-balance m-0 [font-variation-settings:'wdth'_90,'opsz'_96]",children:qS(J)},void 0,!1,void 0,this),$.description&&M0("p",{className:"text-[clamp(1.0625rem,1.4vw,1.3125rem)] leading-[1.5] text-theme-inverse opacity-95 max-w-[600px] mx-auto m-0",children:$.description},void 0,!1,void 0,this),M0("div",{className:"flex flex-wrap justify-center gap-3.5 mt-2",children:[M0("a",{href:G,className:"inline-flex items-center gap-2 rounded-full py-3.5 px-7 bg-theme text-brand border-2 border-theme font-heading font-semibold text-[15px] hover:bg-theme-subtle hover:-translate-y-0.5 transition-all [font-variation-settings:'wdth'_92,'opsz'_18]",children:["Read the Blog ",M0("span",{"aria-hidden":"true",children:"\u2192"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),M0("a",{href:"/about",className:"rounded-full py-3.5 px-7 border-2 border-theme-light text-theme-inverse font-heading font-semibold text-[15px] hover:bg-brand-dark hover:border-theme hover:-translate-y-0.5 transition-all [font-variation-settings:'wdth'_92,'opsz'_18]",children:["About ",W]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),X.length>0&&M0("section",{className:"flex flex-col py-24 px-6 md:px-12 gap-11 bg-theme-subtle",children:[M0("div",{className:"flex justify-between items-end max-w-layout mx-auto w-full gap-6 flex-wrap",children:[M0("div",{children:[M0("span",{className:"block font-heading font-semibold text-[13px] uppercase tracking-[0.22em] text-brand mb-3 [font-variation-settings:'wdth'_85,'opsz'_12]",children:"The Archive"},void 0,!1,void 0,this),M0("h2",{className:"font-heading font-bold text-[clamp(2.25rem,5vw,3.75rem)] leading-none tracking-[-0.03em] text-heading m-0 [font-variation-settings:'wdth'_92,'opsz'_64]",children:["Recent"," ",M0("em",{className:"font-sans italic font-medium text-brand [font-variation-settings:'opsz'_60]",children:"posts"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),M0("a",{href:G,className:"font-heading font-semibold text-[15px] text-brand inline-flex items-center gap-1.5 pb-1.5 border-b-2 border-current hover:text-brand-dark transition-colors [font-variation-settings:'wdth'_88,'opsz'_16]",children:["View the whole archive ",M0("span",{"aria-hidden":"true",children:"\u2192"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),M0("div",{className:"grid grid-cols-[repeat(auto-fit,minmax(min(100%,320px),1fr))] gap-8 max-w-layout mx-auto w-full",children:X.map((H)=>M0("a",{href:H.url,className:"group flex flex-col bg-theme border border-theme rounded-md overflow-hidden hover:-translate-y-1 hover:border-brand/50 transition-all no-underline shadow-sm hover:shadow-lg",children:[H.coverImageUrl?M0("img",{src:H.coverImageUrl,alt:H.metadata.title,className:"w-full aspect-[16/10] object-cover bg-theme-muted"},void 0,!1,void 0,this):M0("div",{className:"w-full aspect-[16/10] bg-gradient-to-br from-brand to-accent","aria-hidden":"true"},void 0,!1,void 0,this),M0("div",{className:"flex flex-col gap-4 p-7 flex-1",children:[M0("div",{className:"flex flex-wrap items-center gap-3.5 font-heading text-[11px] font-semibold uppercase tracking-[0.18em] text-theme-muted [font-variation-settings:'wdth'_85,'opsz'_11]",children:[H.frontmatter.seriesName&&M0(pR,{children:[M0("span",{className:"text-brand",children:H.frontmatter.seriesName},void 0,!1,void 0,this),M0("span",{className:"w-[3px] h-[3px] rounded-full bg-current opacity-50","aria-hidden":"true"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),M0("time",{children:QS(H.metadata.publishedAt??H.created)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),M0("h3",{className:"font-sans font-semibold text-[clamp(1.375rem,1.8vw,1.625rem)] leading-[1.18] tracking-[-0.012em] text-heading m-0 text-balance",children:H.metadata.title},void 0,!1,void 0,this),H.frontmatter.excerpt&&M0("p",{className:"text-base leading-[1.55] text-theme-muted m-0 flex-1",children:H.frontmatter.excerpt},void 0,!1,void 0,this),M0("span",{className:"inline-flex items-center gap-1.5 font-heading font-semibold text-[13px] uppercase tracking-[0.14em] text-brand mt-1 [font-variation-settings:'wdth'_88,'opsz'_14]",children:["Read the post"," ",M0("span",{"aria-hidden":"true",className:"transition-transform group-hover:translate-x-1",children:"\u2192"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},H.id,!0,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this),M0("section",{className:"cta-decor bg-theme-dark text-theme-on-dark flex-grow flex flex-col items-center justify-center py-24 px-6 md:px-12 gap-5",children:[M0("span",{className:"font-heading font-medium text-xs uppercase tracking-[0.24em] text-accent [font-variation-settings:'wdth'_85,'opsz'_12]",children:"Get in touch"},void 0,!1,void 0,this),M0("h2",{className:"text-center font-heading font-bold text-[clamp(2rem,4vw,3rem)] leading-none tracking-[-0.03em] text-theme-on-dark m-0 [font-variation-settings:'wdth'_90,'opsz'_64]",children:Y.heading},void 0,!1,void 0,this),Y.subtitle&&M0("p",{className:"text-center text-base leading-[1.55] text-theme-on-dark opacity-80 max-w-[480px] m-0",children:Y.subtitle},void 0,!1,void 0,this),M0("a",{href:Y.buttonLink,className:"inline-flex items-center gap-2 rounded-full py-3.5 px-7 bg-brand text-theme-inverse border-2 border-brand font-heading font-semibold text-[15px] hover:bg-brand-dark hover:-translate-y-0.5 transition-all mt-2 [font-variation-settings:'wdth'_92,'opsz'_18]",children:[Y.buttonText," ",M0("span",{"aria-hidden":"true",children:"\u2192"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)};import{jsxDEV as Y1,Fragment as OS}from"preact/jsx-dev-runtime";var VY=({profile:$})=>{let X=`About ${$.name}`,G=$.description??$.intro??"About page",Y=Boolean($.email??$.website);return Y1(OS,{children:[Y1(s0,{title:X,description:G,ogType:"profile"},void 0,!1,void 0,this),Y1("section",{className:"hero-decor bg-brand text-theme-inverse relative flex flex-col px-6 md:px-12 pt-32 pb-24",children:Y1("div",{className:"w-full max-w-3xl mx-auto flex flex-col gap-6",children:[Y1("h1",{className:"font-heading font-bold text-[clamp(2.5rem,6vw,4.5rem)] leading-[1.05] tracking-[-0.035em] text-theme-inverse text-balance m-0 [font-variation-settings:'wdth'_90,'opsz'_96]",children:$.name},void 0,!1,void 0,this),$.description&&Y1("p",{className:"text-[clamp(1.0625rem,1.4vw,1.25rem)] leading-[1.55] text-theme-inverse opacity-95 max-w-2xl m-0",children:$.description},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),$.story&&Y1("section",{className:`py-24 px-6 md:px-12 bg-theme-subtle${Y?"":" flex-grow"}`,children:Y1("div",{className:"max-w-3xl mx-auto",children:Y1(o5,{markdown:$.story},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),Y&&Y1("section",{className:"cta-decor bg-theme-dark text-theme-on-dark flex-grow flex flex-col items-center justify-center py-24 px-6 md:px-12 gap-5",children:[Y1("span",{className:"font-heading font-medium text-xs uppercase tracking-[0.24em] text-accent [font-variation-settings:'wdth'_85,'opsz'_12]",children:"Get in touch"},void 0,!1,void 0,this),Y1("h2",{className:"text-center font-heading font-bold text-[clamp(2rem,4vw,3rem)] leading-none tracking-[-0.03em] text-theme-on-dark m-0 [font-variation-settings:'wdth'_90,'opsz'_64]",children:["Say"," ",Y1("em",{className:"font-sans italic font-medium text-accent [font-variation-settings:'opsz'_72]",children:"hi."},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Y1("div",{className:"flex flex-wrap justify-center gap-3.5 mt-2",children:[$.email&&Y1("a",{href:`mailto:${$.email}`,className:"inline-flex items-center gap-2 rounded-full py-3.5 px-7 bg-brand text-theme-inverse border-2 border-brand font-heading font-semibold text-[15px] hover:bg-brand-dark hover:-translate-y-0.5 transition-all [font-variation-settings:'wdth'_92,'opsz'_18]",children:["Get in Touch ",Y1("span",{"aria-hidden":"true",children:"\u2192"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),$.website&&Y1("a",{href:$.website,className:"rounded-full py-3.5 px-7 border-2 border-theme-light text-theme-on-dark font-heading font-semibold text-[15px] hover:bg-brand-dark hover:border-theme hover:-translate-y-0.5 transition-all [font-variation-settings:'wdth'_92,'opsz'_18]",children:"Website"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)};var uR={name:"@brains/site-personal",private:!0,version:"0.2.0-alpha.70",description:"Personal site composition package",type:"module",exports:{".":"./src/index.ts"},files:["src"],scripts:{typecheck:"tsc --noEmit",lint:"eslint . --ext .ts","lint:fix":"eslint . --ext .ts --fix"},dependencies:{"@brains/blog":"workspace:*","@brains/identity-service":"workspace:*","@brains/plugins":"workspace:*","@brains/site-composition":"workspace:*","@brains/site-engine":"workspace:*","@brains/site-info":"workspace:*","@brains/templates":"workspace:*","@brains/ui-library":"workspace:*","@brains/utils":"workspace:*",preact:"^10.27.2"},devDependencies:{"@brains/eslint-config":"workspace:*","@brains/typescript-config":"workspace:*","@types/bun":"latest","bun-types":"latest",eslint:"^8.56.0",typescript:"^5.3.3"}};var RS=K.object({entityDisplay:K.object({post:K.object({label:K.string().default("Post"),pluralName:K.string().optional()}).default({})}).default({})});class wY extends c2{dependencies=["blog"];constructor($={}){super("personal-site",uR,$,RS)}async onRegister($){$.entities.extendFrontmatterSchema("anchor-profile",p7);let X=this.config.entityDisplay.post,G=`/${X.pluralName??X.label.toLowerCase()+"s"}`,Y=new u7(G);$.entities.registerDataSource(Y);let J=new d7;$.entities.registerDataSource(J);let W=K.object({profile:Q5,posts:K.array(t1),postsListUrl:K.string(),cta:C8}),H=K.object({profile:Q5});$.templates.register({homepage:T0({name:"homepage",description:"Personal homepage with recent blog posts",schema:W,dataSourceId:"personal:homepage",requiredPermission:"public",layout:{component:NY}}),about:T0({name:"about",description:"About page with profile",schema:H,dataSourceId:"personal:about",requiredPermission:"public",layout:{component:VY}})}),this.logger.info("Personal site plugin registered successfully")}async getTools(){return[]}async getResources(){return[]}}function _Y($){return new wY($??{})}var zY=[{id:"home",path:"/",title:"Home",description:"Personal site homepage",layout:"default",navigation:{show:!0,label:"Home",slot:"secondary",priority:10},sections:[{id:"homepage",template:"personal-site:homepage",dataQuery:{}}]},{id:"about",path:"/about",title:"About",description:"About page",layout:"default",navigation:{show:!0,label:"About",slot:"primary",priority:90},sections:[{id:"about",template:"personal-site:about",dataQuery:{}}]}];import{jsxDEV as h1}from"preact/jsx-dev-runtime";function DY({sections:$,siteInfo:X}){let G=[...X.navigation.primary,...X.navigation.secondary].filter((Y)=>Y.label!=="Home");return h1("div",{className:"flex flex-col min-h-screen bg-theme overflow-x-clip",children:[h1(V8,{title:X.title,titleClassName:"font-heading font-bold text-2xl",navigation:X.navigation.primary,showThemeToggle:!0,themeToggleClassName:"bg-theme-toggle text-theme-toggle-icon hover:bg-theme-toggle-hover rounded-[10px]",...X.logo!==void 0?{logo:X.logo}:{}},void 0,!1,void 0,this),h1("main",{className:"flex-grow flex flex-col",children:$},void 0,!1,void 0,this),h1("footer",{className:"bg-footer text-footer border-t border-theme",children:h1("div",{className:"max-w-layout mx-auto flex flex-col md:flex-row justify-between items-center py-8 px-6 md:px-8",children:[h1("div",{className:"flex flex-col gap-1 mb-4 md:mb-0",children:[h1("span",{className:"text-brand font-heading font-bold text-lg",children:X.title},void 0,!1,void 0,this),X.description&&h1("span",{className:"text-theme-muted text-xs",children:X.description},void 0,!1,void 0,this)]},void 0,!0,void 0,this),h1("nav",{className:"flex flex-wrap justify-center gap-x-6 gap-y-2 mb-4 md:mb-0",children:G.map((Y)=>h1("a",{href:Y.href,className:"text-theme-muted text-[13px] hover:text-brand transition-colors",children:Y.label},Y.href,!1,void 0,this))},void 0,!1,void 0,this),h1("div",{className:"flex items-center gap-4",children:[X.copyright&&h1("span",{className:"text-theme-light text-[11px]",children:X.copyright},void 0,!1,void 0,this),h1(F5,{variant:"footer",size:"sm"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}O0();S();g1();O0();S();O0();S();S();O0();var AS=K.enum(["draft","queued","published"]),dR="publishedAt is required when deck status is published",lR=($)=>$.status==="published"&&!$.publishedAt,PY=($)=>{if(lR($))throw Error(dR)},q5=K.object({title:K.string(),slug:K.string().optional(),description:K.string().optional(),author:K.string().optional(),status:AS,publishedAt:K.string().datetime().optional(),event:K.string().optional(),coverImageId:K.string().optional()}),BS=q5.pick({title:!0,description:!0,status:!0,publishedAt:!0,coverImageId:!0}).extend({slug:K.string()}).superRefine(($,X)=>{if(!lR($))return;X.addIssue({code:K.ZodIssueCode.custom,path:["publishedAt"],message:dR})}),l7=G1.extend({entityType:K.literal("deck"),metadata:BS}),c7=l7.extend({frontmatter:q5,body:K.string()}),E8=c7.extend({url:K.string().optional(),typeLabel:K.string().optional(),listUrl:K.string().optional(),listLabel:K.string().optional(),coverImageUrl:K.string().optional(),coverImageWidth:K.number().optional(),coverImageHeight:K.number().optional()});class LY extends X1{constructor(){super({entityType:"deck",schema:l7,frontmatterSchema:q5,supportsCoverImage:!0})}validateSlideStructure($){if(!/^---$/gm.test($))throw Error("Invalid deck: markdown must contain slide separators (---) to be a valid presentation")}toMarkdown($){let X=this.extractBody($.content);this.validateSlideStructure(X);let G=this.parseFrontMatter($.content,q5);PY(G);let Y={...G,slug:G.slug??$.metadata.slug};return this.buildMarkdown(X,Y)}fromMarkdown($){let X=this.parseFrontmatter($),G=this.extractBody($);PY(X),this.validateSlideStructure(G);let Y=X.slug??f1(X.title),J=X.status;return{entityType:"deck",content:$,metadata:{slug:Y,title:X.title,description:X.description,status:J,publishedAt:X.publishedAt,coverImageId:X.coverImageId}}}generateTitle($){return $.metadata.title}generateSummary($){if($.metadata.description)return $.metadata.description;return`Presentation: ${$.metadata.title}`}generateFrontMatter($){return this.toMarkdown($)}}var I8=new LY;S();g1();var NS=K.object({markdown:K.string().describe("Markdown content with slide separators (---)")}),CY=T0({name:"deck-detail",description:"Render a presentation deck as Reveal.js slides",schema:NS,dataSourceId:"decks:entities",requiredPermission:"public",layout:{component:$Y,fullscreen:!0}});g1();S();var TY=K.object({decks:K.array(c7)}),EY=K.object({decks:K.array(E8),pageTitle:K.string().optional(),pageLabel:K.string().optional()});import{jsxDEV as IY}from"preact/jsx-dev-runtime";var VS="Presentations",jY=({decks:$,pageLabel:X})=>{let G=$.map((J)=>({id:J.id,url:J.url,title:J.frontmatter.title,date:J.frontmatter.publishedAt??J.created,description:J.frontmatter.description}));return IY("div",{className:"deck-list bg-theme",children:IY("div",{className:"container mx-auto max-w-[1100px] px-6 py-16 md:px-12 md:py-24",children:IY(w8,{label:X&&X!=="Decks"?X:VS,items:G},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)};P1();var N30=K.object({message:K.string()});g5();g5();P1();L9();class r7{schema;config;processor=A2();constructor($,X){this.schema=$;this.config=X}getLabels(){let $={};for(let X of this.config.mappings)$[X.key]=X.label;return $}generateBodyTemplate(){if(this.config.mappings.length===0)return"";let $=[];for(let X of this.config.mappings)$.push(`## ${X.label}`,"",`<!-- Write your ${X.label.toLowerCase()} here -->`,"");return $.join(`
|
|
785
|
+
${G.content}`,templateName:"blog:excerpt"})})}var bR={name:"@brains/blog",private:!0,version:"0.2.0-alpha.71",description:"AI-powered blog post generation from existing brain content",type:"module",exports:{".":"./src/index.ts"},scripts:{typecheck:"tsc --noEmit",test:"bun test",lint:"eslint . --ext .ts","lint:fix":"eslint . --ext .ts --fix",eval:"cd evals && bun run brain-eval"},dependencies:{"@brains/contracts":"workspace:*","@brains/plugins":"workspace:*","@brains/utils":"workspace:*"},devDependencies:{"@brains/app":"workspace:*","@brains/eslint-config":"workspace:*","@brains/typescript-config":"workspace:*","@types/bun":"latest","bun-types":"latest",eslint:"^8.56.0",typescript:"^5.3.3"}};class gR extends J5{entityType=d5.entityType;schema=s2;adapter=d5;constructor($={}){super("blog",bR,$,fG)}getEntityTypeConfig(){return{weight:2}}createGenerationHandler($){return new gG(this.logger.child("BlogGenerationJobHandler"),$)}getTemplates(){return IR()}getDataSources(){return[new pG(this.logger.child("BlogDataSource"))]}async onRegister($){let{RSSDataSource:X}=await Promise.resolve().then(() => (fR(),yR));$.entities.registerDataSource(new X(this.logger.child("RSSDataSource"))),await jR($,this.logger),SR($,this.logger),vR($,this.logger),xR($),this.logger.info("Blog plugin registered (routes auto-generated at /posts/)")}}Q6();U8();O0();g2();S();O0();g2();var mR=K.object({}),m7=G1.extend({id:K.literal("site-info"),entityType:K.literal("site-info"),metadata:mR}),C8=c9,J4=i9.omit({url:!0,analyticsScript:!0});O0();class k6 extends X1{constructor(){super({entityType:"site-info",schema:m7,frontmatterSchema:J4,isSingleton:!0,hasBody:!1})}createSiteInfoContent($){let X=J4.parse($);return this.buildMarkdown("",X)}parseSiteInfoBody($){return this.parseFrontmatter($)}fromMarkdown($){return{content:$,entityType:"site-info"}}extractMetadata($){return{}}generateFrontMatter($){let X=this.parseFrontmatter($.content);return this.buildMarkdown("",X)}}var T$0=new k6;var g$0=new k6;var US=new k6;async function T8($){let G=(await $.listEntities({entityType:"site-info",options:{limit:1}}))[0];if(!G)throw Error("Site info not found \u2014 create a site-info entity");return US.parseSiteInfoBody(G.content)}S();var KS=J4.extend({navigation:K.object({primary:K.array(K.object({label:K.string(),href:K.string(),priority:K.number()})),secondary:K.array(K.object({label:K.string(),href:K.string(),priority:K.number()}))}),copyright:K.string(),socialLinks:K.array(K.object({platform:K.enum(["github","instagram","linkedin","email","website"]).describe("Social media platform"),url:K.string().describe("Profile or contact URL"),label:K.string().optional().describe("Optional display label")})).optional().describe("Social media links from profile entity")});O0();var p7=o2,Q5=F6.extend(p7.shape);O0();u5();S();var MS=new p1;class u7{postsListUrl;id="personal:homepage";name="Personal Homepage DataSource";description="Fetches profile and blog posts for a personal homepage";constructor($){this.postsListUrl=$}async fetch($,X,G){let Y=G.entityService,[J,W,H]=await Promise.all([M6(Y),Y.listEntities({entityType:"post",options:{limit:20}}),T8(Y)]),U=MS.parseProfileBody(J,Q5),M=W.sort(z2).slice(0,6).map(l5);if(!H.cta)throw Error("CTA not configured in site-info");let F={profile:U,posts:M,postsListUrl:this.postsListUrl,cta:H.cta};return X.parse(F)}}O0();u5();var FS=new p1;class d7{id="personal:about";name="About Page DataSource";description="Fetches full profile data for the about page";async fetch($,X,G){let Y=await M6(G.entityService),W={profile:FS.parseProfileBody(Y,Q5)};return X.parse(W)}}import{jsxDEV as M0,Fragment as pR}from"preact/jsx-dev-runtime";function QS($){return new Date($).toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric"})}function qS($){return $.split(/(\*[^*]+\*)/).map((X,G)=>{if(X.startsWith("*")&&X.endsWith("*")&&X.length>2)return M0("em",{className:"font-sans italic font-medium text-theme-inverse tracking-[-0.015em] [font-variation-settings:'opsz'_72]",children:X.slice(1,-1)},G,!1,void 0,this);return X})}var NY=({profile:$,posts:X,postsListUrl:G,cta:Y})=>{let J=$.tagline??$.description,W=$.name.split(" ")[0];return M0(pR,{children:[M0(s0,{title:$.name,description:$.description??J??"Personal site",ogType:"website"},void 0,!1,void 0,this),M0("header",{className:"hero-decor bg-brand text-theme-inverse relative flex flex-col items-center justify-center px-6 md:px-12 pt-32 pb-24 gap-7",children:M0("div",{className:"w-full max-w-[1100px] mx-auto text-center flex flex-col items-center gap-7",children:[J&&M0("h1",{className:"font-heading font-bold text-[clamp(2.5rem,6vw,5rem)] leading-[1.05] tracking-[-0.035em] text-theme-inverse text-balance m-0 [font-variation-settings:'wdth'_90,'opsz'_96]",children:qS(J)},void 0,!1,void 0,this),$.description&&M0("p",{className:"text-[clamp(1.0625rem,1.4vw,1.3125rem)] leading-[1.5] text-theme-inverse opacity-95 max-w-[600px] mx-auto m-0",children:$.description},void 0,!1,void 0,this),M0("div",{className:"flex flex-wrap justify-center gap-3.5 mt-2",children:[M0("a",{href:G,className:"inline-flex items-center gap-2 rounded-full py-3.5 px-7 bg-theme text-brand border-2 border-theme font-heading font-semibold text-[15px] hover:bg-theme-subtle hover:-translate-y-0.5 transition-all [font-variation-settings:'wdth'_92,'opsz'_18]",children:["Read the Blog ",M0("span",{"aria-hidden":"true",children:"\u2192"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),M0("a",{href:"/about",className:"rounded-full py-3.5 px-7 border-2 border-theme-light text-theme-inverse font-heading font-semibold text-[15px] hover:bg-brand-dark hover:border-theme hover:-translate-y-0.5 transition-all [font-variation-settings:'wdth'_92,'opsz'_18]",children:["About ",W]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),X.length>0&&M0("section",{className:"flex flex-col py-24 px-6 md:px-12 gap-11 bg-theme-subtle",children:[M0("div",{className:"flex justify-between items-end max-w-layout mx-auto w-full gap-6 flex-wrap",children:[M0("div",{children:[M0("span",{className:"block font-heading font-semibold text-[13px] uppercase tracking-[0.22em] text-brand mb-3 [font-variation-settings:'wdth'_85,'opsz'_12]",children:"The Archive"},void 0,!1,void 0,this),M0("h2",{className:"font-heading font-bold text-[clamp(2.25rem,5vw,3.75rem)] leading-none tracking-[-0.03em] text-heading m-0 [font-variation-settings:'wdth'_92,'opsz'_64]",children:["Recent"," ",M0("em",{className:"font-sans italic font-medium text-brand [font-variation-settings:'opsz'_60]",children:"posts"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),M0("a",{href:G,className:"font-heading font-semibold text-[15px] text-brand inline-flex items-center gap-1.5 pb-1.5 border-b-2 border-current hover:text-brand-dark transition-colors [font-variation-settings:'wdth'_88,'opsz'_16]",children:["View the whole archive ",M0("span",{"aria-hidden":"true",children:"\u2192"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),M0("div",{className:"grid grid-cols-[repeat(auto-fit,minmax(min(100%,320px),1fr))] gap-8 max-w-layout mx-auto w-full",children:X.map((H)=>M0("a",{href:H.url,className:"group flex flex-col bg-theme border border-theme rounded-md overflow-hidden hover:-translate-y-1 hover:border-brand/50 transition-all no-underline shadow-sm hover:shadow-lg",children:[H.coverImageUrl?M0("img",{src:H.coverImageUrl,alt:H.metadata.title,className:"w-full aspect-[16/10] object-cover bg-theme-muted"},void 0,!1,void 0,this):M0("div",{className:"w-full aspect-[16/10] bg-gradient-to-br from-brand to-accent","aria-hidden":"true"},void 0,!1,void 0,this),M0("div",{className:"flex flex-col gap-4 p-7 flex-1",children:[M0("div",{className:"flex flex-wrap items-center gap-3.5 font-heading text-[11px] font-semibold uppercase tracking-[0.18em] text-theme-muted [font-variation-settings:'wdth'_85,'opsz'_11]",children:[H.frontmatter.seriesName&&M0(pR,{children:[M0("span",{className:"text-brand",children:H.frontmatter.seriesName},void 0,!1,void 0,this),M0("span",{className:"w-[3px] h-[3px] rounded-full bg-current opacity-50","aria-hidden":"true"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),M0("time",{children:QS(H.metadata.publishedAt??H.created)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),M0("h3",{className:"font-sans font-semibold text-[clamp(1.375rem,1.8vw,1.625rem)] leading-[1.18] tracking-[-0.012em] text-heading m-0 text-balance",children:H.metadata.title},void 0,!1,void 0,this),H.frontmatter.excerpt&&M0("p",{className:"text-base leading-[1.55] text-theme-muted m-0 flex-1",children:H.frontmatter.excerpt},void 0,!1,void 0,this),M0("span",{className:"inline-flex items-center gap-1.5 font-heading font-semibold text-[13px] uppercase tracking-[0.14em] text-brand mt-1 [font-variation-settings:'wdth'_88,'opsz'_14]",children:["Read the post"," ",M0("span",{"aria-hidden":"true",className:"transition-transform group-hover:translate-x-1",children:"\u2192"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},H.id,!0,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this),M0("section",{className:"cta-decor bg-theme-dark text-theme-on-dark flex-grow flex flex-col items-center justify-center py-24 px-6 md:px-12 gap-5",children:[M0("span",{className:"font-heading font-medium text-xs uppercase tracking-[0.24em] text-accent [font-variation-settings:'wdth'_85,'opsz'_12]",children:"Get in touch"},void 0,!1,void 0,this),M0("h2",{className:"text-center font-heading font-bold text-[clamp(2rem,4vw,3rem)] leading-none tracking-[-0.03em] text-theme-on-dark m-0 [font-variation-settings:'wdth'_90,'opsz'_64]",children:Y.heading},void 0,!1,void 0,this),Y.subtitle&&M0("p",{className:"text-center text-base leading-[1.55] text-theme-on-dark opacity-80 max-w-[480px] m-0",children:Y.subtitle},void 0,!1,void 0,this),M0("a",{href:Y.buttonLink,className:"inline-flex items-center gap-2 rounded-full py-3.5 px-7 bg-brand text-theme-inverse border-2 border-brand font-heading font-semibold text-[15px] hover:bg-brand-dark hover:-translate-y-0.5 transition-all mt-2 [font-variation-settings:'wdth'_92,'opsz'_18]",children:[Y.buttonText," ",M0("span",{"aria-hidden":"true",children:"\u2192"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)};import{jsxDEV as Y1,Fragment as OS}from"preact/jsx-dev-runtime";var VY=({profile:$})=>{let X=`About ${$.name}`,G=$.description??$.intro??"About page",Y=Boolean($.email??$.website);return Y1(OS,{children:[Y1(s0,{title:X,description:G,ogType:"profile"},void 0,!1,void 0,this),Y1("section",{className:"hero-decor bg-brand text-theme-inverse relative flex flex-col px-6 md:px-12 pt-32 pb-24",children:Y1("div",{className:"w-full max-w-3xl mx-auto flex flex-col gap-6",children:[Y1("h1",{className:"font-heading font-bold text-[clamp(2.5rem,6vw,4.5rem)] leading-[1.05] tracking-[-0.035em] text-theme-inverse text-balance m-0 [font-variation-settings:'wdth'_90,'opsz'_96]",children:$.name},void 0,!1,void 0,this),$.description&&Y1("p",{className:"text-[clamp(1.0625rem,1.4vw,1.25rem)] leading-[1.55] text-theme-inverse opacity-95 max-w-2xl m-0",children:$.description},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),$.story&&Y1("section",{className:`py-24 px-6 md:px-12 bg-theme-subtle${Y?"":" flex-grow"}`,children:Y1("div",{className:"max-w-3xl mx-auto",children:Y1(o5,{markdown:$.story},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),Y&&Y1("section",{className:"cta-decor bg-theme-dark text-theme-on-dark flex-grow flex flex-col items-center justify-center py-24 px-6 md:px-12 gap-5",children:[Y1("span",{className:"font-heading font-medium text-xs uppercase tracking-[0.24em] text-accent [font-variation-settings:'wdth'_85,'opsz'_12]",children:"Get in touch"},void 0,!1,void 0,this),Y1("h2",{className:"text-center font-heading font-bold text-[clamp(2rem,4vw,3rem)] leading-none tracking-[-0.03em] text-theme-on-dark m-0 [font-variation-settings:'wdth'_90,'opsz'_64]",children:["Say"," ",Y1("em",{className:"font-sans italic font-medium text-accent [font-variation-settings:'opsz'_72]",children:"hi."},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Y1("div",{className:"flex flex-wrap justify-center gap-3.5 mt-2",children:[$.email&&Y1("a",{href:`mailto:${$.email}`,className:"inline-flex items-center gap-2 rounded-full py-3.5 px-7 bg-brand text-theme-inverse border-2 border-brand font-heading font-semibold text-[15px] hover:bg-brand-dark hover:-translate-y-0.5 transition-all [font-variation-settings:'wdth'_92,'opsz'_18]",children:["Get in Touch ",Y1("span",{"aria-hidden":"true",children:"\u2192"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),$.website&&Y1("a",{href:$.website,className:"rounded-full py-3.5 px-7 border-2 border-theme-light text-theme-on-dark font-heading font-semibold text-[15px] hover:bg-brand-dark hover:border-theme hover:-translate-y-0.5 transition-all [font-variation-settings:'wdth'_92,'opsz'_18]",children:"Website"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)};var uR={name:"@brains/site-personal",private:!0,version:"0.2.0-alpha.71",description:"Personal site composition package",type:"module",exports:{".":"./src/index.ts"},files:["src"],scripts:{typecheck:"tsc --noEmit",lint:"eslint . --ext .ts","lint:fix":"eslint . --ext .ts --fix"},dependencies:{"@brains/blog":"workspace:*","@brains/identity-service":"workspace:*","@brains/plugins":"workspace:*","@brains/site-composition":"workspace:*","@brains/site-engine":"workspace:*","@brains/site-info":"workspace:*","@brains/templates":"workspace:*","@brains/ui-library":"workspace:*","@brains/utils":"workspace:*",preact:"^10.27.2"},devDependencies:{"@brains/eslint-config":"workspace:*","@brains/typescript-config":"workspace:*","@types/bun":"latest","bun-types":"latest",eslint:"^8.56.0",typescript:"^5.3.3"}};var RS=K.object({entityDisplay:K.object({post:K.object({label:K.string().default("Post"),pluralName:K.string().optional()}).default({})}).default({})});class wY extends c2{dependencies=["blog"];constructor($={}){super("personal-site",uR,$,RS)}async onRegister($){$.entities.extendFrontmatterSchema("anchor-profile",p7);let X=this.config.entityDisplay.post,G=`/${X.pluralName??X.label.toLowerCase()+"s"}`,Y=new u7(G);$.entities.registerDataSource(Y);let J=new d7;$.entities.registerDataSource(J);let W=K.object({profile:Q5,posts:K.array(t1),postsListUrl:K.string(),cta:C8}),H=K.object({profile:Q5});$.templates.register({homepage:T0({name:"homepage",description:"Personal homepage with recent blog posts",schema:W,dataSourceId:"personal:homepage",requiredPermission:"public",layout:{component:NY}}),about:T0({name:"about",description:"About page with profile",schema:H,dataSourceId:"personal:about",requiredPermission:"public",layout:{component:VY}})}),this.logger.info("Personal site plugin registered successfully")}async getTools(){return[]}async getResources(){return[]}}function _Y($){return new wY($??{})}var zY=[{id:"home",path:"/",title:"Home",description:"Personal site homepage",layout:"default",navigation:{show:!0,label:"Home",slot:"secondary",priority:10},sections:[{id:"homepage",template:"personal-site:homepage",dataQuery:{}}]},{id:"about",path:"/about",title:"About",description:"About page",layout:"default",navigation:{show:!0,label:"About",slot:"primary",priority:90},sections:[{id:"about",template:"personal-site:about",dataQuery:{}}]}];import{jsxDEV as h1}from"preact/jsx-dev-runtime";function DY({sections:$,siteInfo:X}){let G=[...X.navigation.primary,...X.navigation.secondary].filter((Y)=>Y.label!=="Home");return h1("div",{className:"flex flex-col min-h-screen bg-theme overflow-x-clip",children:[h1(V8,{title:X.title,titleClassName:"font-heading font-bold text-2xl",navigation:X.navigation.primary,showThemeToggle:!0,themeToggleClassName:"bg-theme-toggle text-theme-toggle-icon hover:bg-theme-toggle-hover rounded-[10px]",...X.logo!==void 0?{logo:X.logo}:{}},void 0,!1,void 0,this),h1("main",{className:"flex-grow flex flex-col",children:$},void 0,!1,void 0,this),h1("footer",{className:"bg-footer text-footer border-t border-theme",children:h1("div",{className:"max-w-layout mx-auto flex flex-col md:flex-row justify-between items-center py-8 px-6 md:px-8",children:[h1("div",{className:"flex flex-col gap-1 mb-4 md:mb-0",children:[h1("span",{className:"text-brand font-heading font-bold text-lg",children:X.title},void 0,!1,void 0,this),X.description&&h1("span",{className:"text-theme-muted text-xs",children:X.description},void 0,!1,void 0,this)]},void 0,!0,void 0,this),h1("nav",{className:"flex flex-wrap justify-center gap-x-6 gap-y-2 mb-4 md:mb-0",children:G.map((Y)=>h1("a",{href:Y.href,className:"text-theme-muted text-[13px] hover:text-brand transition-colors",children:Y.label},Y.href,!1,void 0,this))},void 0,!1,void 0,this),h1("div",{className:"flex items-center gap-4",children:[X.copyright&&h1("span",{className:"text-theme-light text-[11px]",children:X.copyright},void 0,!1,void 0,this),h1(F5,{variant:"footer",size:"sm"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}O0();S();g1();O0();S();O0();S();S();O0();var AS=K.enum(["draft","queued","published"]),dR="publishedAt is required when deck status is published",lR=($)=>$.status==="published"&&!$.publishedAt,PY=($)=>{if(lR($))throw Error(dR)},q5=K.object({title:K.string(),slug:K.string().optional(),description:K.string().optional(),author:K.string().optional(),status:AS,publishedAt:K.string().datetime().optional(),event:K.string().optional(),coverImageId:K.string().optional()}),BS=q5.pick({title:!0,description:!0,status:!0,publishedAt:!0,coverImageId:!0}).extend({slug:K.string()}).superRefine(($,X)=>{if(!lR($))return;X.addIssue({code:K.ZodIssueCode.custom,path:["publishedAt"],message:dR})}),l7=G1.extend({entityType:K.literal("deck"),metadata:BS}),c7=l7.extend({frontmatter:q5,body:K.string()}),E8=c7.extend({url:K.string().optional(),typeLabel:K.string().optional(),listUrl:K.string().optional(),listLabel:K.string().optional(),coverImageUrl:K.string().optional(),coverImageWidth:K.number().optional(),coverImageHeight:K.number().optional()});class LY extends X1{constructor(){super({entityType:"deck",schema:l7,frontmatterSchema:q5,supportsCoverImage:!0})}validateSlideStructure($){if(!/^---$/gm.test($))throw Error("Invalid deck: markdown must contain slide separators (---) to be a valid presentation")}toMarkdown($){let X=this.extractBody($.content);this.validateSlideStructure(X);let G=this.parseFrontMatter($.content,q5);PY(G);let Y={...G,slug:G.slug??$.metadata.slug};return this.buildMarkdown(X,Y)}fromMarkdown($){let X=this.parseFrontmatter($),G=this.extractBody($);PY(X),this.validateSlideStructure(G);let Y=X.slug??f1(X.title),J=X.status;return{entityType:"deck",content:$,metadata:{slug:Y,title:X.title,description:X.description,status:J,publishedAt:X.publishedAt,coverImageId:X.coverImageId}}}generateTitle($){return $.metadata.title}generateSummary($){if($.metadata.description)return $.metadata.description;return`Presentation: ${$.metadata.title}`}generateFrontMatter($){return this.toMarkdown($)}}var I8=new LY;S();g1();var NS=K.object({markdown:K.string().describe("Markdown content with slide separators (---)")}),CY=T0({name:"deck-detail",description:"Render a presentation deck as Reveal.js slides",schema:NS,dataSourceId:"decks:entities",requiredPermission:"public",layout:{component:$Y,fullscreen:!0}});g1();S();var TY=K.object({decks:K.array(c7)}),EY=K.object({decks:K.array(E8),pageTitle:K.string().optional(),pageLabel:K.string().optional()});import{jsxDEV as IY}from"preact/jsx-dev-runtime";var VS="Presentations",jY=({decks:$,pageLabel:X})=>{let G=$.map((J)=>({id:J.id,url:J.url,title:J.frontmatter.title,date:J.frontmatter.publishedAt??J.created,description:J.frontmatter.description}));return IY("div",{className:"deck-list bg-theme",children:IY("div",{className:"container mx-auto max-w-[1100px] px-6 py-16 md:px-12 md:py-24",children:IY(w8,{label:X&&X!=="Decks"?X:VS,items:G},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)};P1();var N30=K.object({message:K.string()});g5();g5();P1();L9();class r7{schema;config;processor=A2();constructor($,X){this.schema=$;this.config=X}getLabels(){let $={};for(let X of this.config.mappings)$[X.key]=X.label;return $}generateBodyTemplate(){if(this.config.mappings.length===0)return"";let $=[];for(let X of this.config.mappings)$.push(`## ${X.label}`,"",`<!-- Write your ${X.label.toLowerCase()} here -->`,"");return $.join(`
|
|
786
786
|
`).trimEnd()+`
|
|
787
787
|
`}format($){try{let X=[`# ${this.config.title}`,""];for(let G of this.config.mappings)this.formatField($,G,X,2);return X.join(`
|
|
788
788
|
`)}catch{throw Error("Failed to format structured content")}}parse($){try{let X=this.processor.parse($),G=this.extractSections(X,2),Y=this.buildDataFromSections(G,this.config.mappings);return this.schema.parse(Y)}catch{throw Error("Failed to parse structured content")}}formatField($,X,G,Y){let J="#".repeat(Y)+" "+X.label,W=this.getValueByPath($,X.key);if(X.type==="custom"&&X.formatter){if(W!==void 0&&W!==null){G.push(J,"");let H=X.formatter(W);if(H)G.push(H,"")}return}switch(X.type){case"string":case"number":G.push(J,String(W??""),"");break;case"object":if(G.push(J),X.children&&W)for(let H of X.children)this.formatField(W,H,G,Y+1);break;case"array":if(G.push(J,""),Array.isArray(W))if(X.itemType==="object"&&X.itemMappings)W.forEach((H,U)=>{if(G.push(`${"#".repeat(Y+1)} ${X.label.slice(0,-1)} ${U+1}`),G.push(""),X.itemMappings)for(let M of X.itemMappings)this.formatField(H,M,G,Y+2)});else{for(let H of W){let U=this.defaultArrayItemFormat(H);G.push(`- ${U}`)}G.push("")}break}}getValueByPath($,X){let G=X.split("."),Y=$;for(let J of G)if(Y&&typeof Y==="object"&&J in Y)Y=Y[J];else return;return Y}defaultArrayItemFormat($){if(typeof $==="string"||typeof $==="number")return String($);return JSON.stringify($)}extractSections($,X){let G=new Map,Y=null,J=[];for(let W of $.children)if(W.type==="heading"&&W.depth===X){if(Y)G.set(Y.toLowerCase(),J);Y=this.getHeadingText(W),J=[]}else if(Y)J.push(W);if(Y)G.set(Y.toLowerCase(),J);return G}extractSubsections($,X){let G=new Map,Y=null,J=[];for(let W of $)if(W.type==="heading"&&W.depth===X){if(Y)G.set(Y.toLowerCase(),J);Y=this.getHeadingText(W),J=[]}else if(Y)J.push(W);if(Y)G.set(Y.toLowerCase(),J);return G}textNodeSchema=K.object({type:K.literal("text"),value:K.string()});extractTextValue($){let X=this.textNodeSchema.safeParse($);return X.success?X.data.value:""}getHeadingText($){return $.children.filter((G)=>G.type==="text").map((G)=>this.extractTextValue(G)).join("")}buildDataFromSections($,X,G=2){let Y={};for(let J of X){let W=$.get(J.label.toLowerCase());if(J.type==="custom"&&J.parser&&W){let H=this.getTextFromSection(W),U=J.parser(H);this.setValueByPath(Y,J.key,U)}else if(J.type==="object"&&J.children&&W){let H=this.extractSubsections(W,G+1),U=this.buildDataFromSections(H,J.children,G+1);this.setValueByPath(Y,J.key,U)}else if(J.type==="array"&&W)if(J.itemType==="object"&&J.itemMappings){let H=this.extractObjectArrayItems(W,G+1,J.itemMappings);this.setValueByPath(Y,J.key,H)}else{let H=this.extractSimpleArrayItems(W);this.setValueByPath(Y,J.key,H)}else if(W){let H=this.getTextFromSection(W),U=J.type==="number"?Number(H):H;this.setValueByPath(Y,J.key,U)}}return Y}setValueByPath($,X,G){let Y=X.split("."),J=$;for(let H=0;H<Y.length-1;H++){let U=Y[H];if(!U)continue;if(!(U in J))J[U]={};J=J[U]}let W=Y[Y.length-1];if(W)J[W]=G}getTextFromSection($){let X=[];for(let G of $)if(G.type==="paragraph"){let Y=this.extractTextFromParagraph(G);if(Y)X.push(Y)}else if(G.type==="list"){let Y=G;for(let J of Y.children){let W=this.extractTextFromListItem(J);if(W)X.push(`- ${W}`)}}return X.join(`
|
|
@@ -856,12 +856,12 @@ Add your conclusion here`,M=M??`Presentation: ${H}`,await this.reportProgress(X,
|
|
|
856
856
|
Note: This presentation is for "${J}".`:""}`,P=await this.context.ai.generate({prompt:D,templateName:"decks:generation"});H=H??P.title,U=U??P.content,M=M??P.description,await this.reportProgress(X,{progress:50,message:`Generated deck: "${H}"`})}else if(!M)await this.reportProgress(X,{progress:30,message:"Generating description with AI"}),M=(await this.context.ai.generate({prompt:`Title: ${H}
|
|
857
857
|
|
|
858
858
|
Content:
|
|
859
|
-
${U}`,templateName:"decks:description"})).description,await this.reportProgress(X,{progress:50,message:"Description generated"});else await this.reportProgress(X,{progress:50,message:"Using provided content"});if(!H||!U)this.failEarly("Title and content are required");let Q={slug:f1(H),title:H,status:"draft"},q=await Y8({entityType:"deck",title:H,deriveId:(_)=>_,regeneratePrompt:"Generate a different presentation deck title on the same topic.",context:this.context});if(q!==H)Q.title=q,Q.slug=f1(q);let R={title:Q.title,status:Q.status,slug:Q.slug,description:M,author:Y,event:J},O=Y5(U,R);return{id:q,content:O,metadata:Q,title:q,resultExtras:{title:q,slug:Q.slug},createOptions:{deduplicateId:!0}}}summarizeDataForLog($){return{prompt:$.prompt,title:$.title}}}var aR={name:"@brains/decks",private:!0,version:"0.2.0-alpha.
|
|
859
|
+
${U}`,templateName:"decks:description"})).description,await this.reportProgress(X,{progress:50,message:"Description generated"});else await this.reportProgress(X,{progress:50,message:"Using provided content"});if(!H||!U)this.failEarly("Title and content are required");let Q={slug:f1(H),title:H,status:"draft"},q=await Y8({entityType:"deck",title:H,deriveId:(_)=>_,regeneratePrompt:"Generate a different presentation deck title on the same topic.",context:this.context});if(q!==H)Q.title=q,Q.slug=f1(q);let R={title:Q.title,status:Q.status,slug:Q.slug,description:M,author:Y,event:J},O=Y5(U,R);return{id:q,content:O,metadata:Q,title:q,resultExtras:{title:q,slug:Q.slug},createOptions:{deduplicateId:!0}}}summarizeDataForLog($){return{prompt:$.prompt,title:$.title}}}var aR={name:"@brains/decks",private:!0,version:"0.2.0-alpha.71",description:"Presentation decks plugin for creating and viewing slide presentations",type:"module",exports:{".":"./src/index.ts"},scripts:{typecheck:"tsc --noEmit",test:"bun test",lint:"eslint . --ext .ts","lint:fix":"eslint . --ext .ts --fix",eval:"cd evals && bun run brain-eval"},dependencies:{"@brains/content-formatters":"workspace:*","@brains/contracts":"workspace:*","@brains/image":"workspace:*","@brains/plugins":"workspace:*","@brains/utils":"workspace:*"},devDependencies:{"@brains/app":"workspace:*","@brains/eslint-config":"workspace:*","@brains/typescript-config":"workspace:*","@types/bun":"latest","bun-types":"latest",eslint:"^8.56.0",typescript:"^5.3.3"}};class tR extends J5{entityType=I8.entityType;schema=I8.schema;adapter=I8;constructor(){super("decks",aR)}createGenerationHandler($){return new fY(this.logger.child("DeckGenerationJobHandler"),$)}getTemplates(){return{"deck-detail":CY,"deck-list":kY,generation:cR,description:rR}}getDataSources(){return[new yY(this.logger)]}getEntityTypeConfig(){return{weight:1.5}}async onRegister($){await this.registerWithPublishPipeline($),this.subscribeToPublishExecute($),this.registerEvalHandlers($),this.logger.info("Decks plugin registered")}async registerWithPublishPipeline($){await $.messaging.send({type:"publish:register",payload:{entityType:"deck",provider:{name:"internal",publish:async()=>({id:"internal"})}}})}subscribeToPublishExecute($){$.messaging.subscribe("publish:execute",async(X)=>{let{entityType:G,entityId:Y}=X.payload;if(G!=="deck")return{success:!0};try{let J=await $.entityService.getEntity({entityType:"deck",id:Y});if(!J)return await $.messaging.send({type:"publish:report:failure",payload:{entityType:G,entityId:Y,error:`Deck not found: ${Y}`}}),{success:!0};if(J.metadata.status==="published")return{success:!0};let W=new Date().toISOString(),H={...J,metadata:{...J.metadata,status:"published",publishedAt:W}};await $.entityService.updateEntity({entity:{...H,content:this.adapter.toMarkdown(H)}}),await $.messaging.send({type:"publish:report:success",payload:{entityType:G,entityId:Y,result:{id:Y}}})}catch(J){await $.messaging.send({type:"publish:report:failure",payload:{entityType:G,entityId:Y,error:f0(J)}})}return{success:!0}})}registerEvalHandlers($){$.eval.registerHandler("generateDeck",async(X)=>{let G=K.object({prompt:K.string(),event:K.string().optional()}).parse(X);return $.ai.generate({prompt:`${G.prompt}${G.event?`
|
|
860
860
|
|
|
861
861
|
Note: This presentation is for "${G.event}".`:""}`,templateName:"decks:generation"})}),$.eval.registerHandler("generateDescription",async(X)=>{let G=K.object({title:K.string(),content:K.string()}).parse(X);return $.ai.generate({prompt:`Title: ${G.title}
|
|
862
862
|
|
|
863
863
|
Content:
|
|
864
|
-
${G.content}`,templateName:"decks:description"})})}}g2();S();O0();var s7=o2.extend({expertise:K.array(K.string()).optional().describe("Skills, domains, areas of focus"),currentFocus:K.string().optional().describe("What you're currently working on"),availability:K.string().optional().describe("What you're open to (consulting, speaking, etc.)")}),O5=F6.extend(s7.shape);O0();u5();S();var ES=new p1;class a7{postsListUrl;decksListUrl;id="professional:homepage-list";name="Homepage List DataSource";description="Fetches profile, blog posts, and presentation decks for homepage";constructor($,X){this.postsListUrl=$;this.decksListUrl=X}async fetch($,X,G){let Y=G.entityService,[J,W,H,U]=await Promise.all([M6(Y),Y.listEntities({entityType:"post",options:{limit:20}}),Y.listEntities({entityType:"deck",options:{limit:20}}),T8(Y)]),M=ES.parseProfileBody(J,O5),F=W.sort(z2).slice(0,3).map(l5),Q=H.sort(z2).slice(0,3).map(j8);if(!U.cta)throw Error("CTA not configured in site-info");let q={profile:M,posts:F,decks:Q,postsListUrl:this.postsListUrl,decksListUrl:this.decksListUrl,cta:U.cta,sections:U.sections??{}};return X.parse(q)}}O0();u5();var IS=new p1;class t7{id="professional:about";name="About Page DataSource";description="Fetches full profile data for the about page";async fetch($,X,G){let Y=await M6(G.entityService),W={profile:IS.parseProfileBody(Y,O5)};return X.parse(W)}}import{jsxDEV as E0,Fragment as kS}from"preact/jsx-dev-runtime";var jS="grid md:grid-cols-[14rem_1px_1fr] gap-y-2 gap-x-0 md:gap-16 items-start",SS="border-t md:border-t-0 md:border-l border-rule-strong md:self-stretch",gY=({number:$,title:X,blurb:G,children:Y})=>E0("section",{className:"py-20 border-b border-rule px-6 md:px-12",children:E0("div",{className:"max-w-6xl mx-auto",children:E0("div",{className:jS,children:[E0(qY,{title:X,number:$,blurb:G},void 0,!1,void 0,this),E0("div",{className:SS,"aria-hidden":"true"},void 0,!1,void 0,this),E0("div",{className:"mt-6 md:mt-0",children:Y},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),mY=({profile:$,posts:X,decks:G,postsListUrl:Y,decksListUrl:J,cta:W,sections:H})=>{let U=$.tagline||$.description,M=X.map((O)=>({id:O.id,url:O.url,title:O.metadata.title,date:O.metadata.publishedAt||O.created,description:O.frontmatter.excerpt,series:O.frontmatter.seriesName&&O.frontmatter.seriesIndex?{name:O.frontmatter.seriesName,index:O.frontmatter.seriesIndex}:void 0})),F=G.map((O)=>({id:O.id,url:O.url,title:O.frontmatter.title||O.id,date:O.frontmatter.publishedAt??O.created,description:O.frontmatter.description})),Q=$.name||"Home",q=$.intro||$.description||U||"Professional site",R=Boolean($.description)||$.expertise!==void 0&&$.expertise.length>0;return E0(kS,{children:[E0(s0,{title:Q,description:q,ogType:"website"},void 0,!1,void 0,this),E0("div",{className:"homepage-list bg-theme",children:[E0("header",{className:"hero-bg-pattern relative w-full px-6 md:px-12 pt-28 pb-24 md:pt-28 md:pb-24 overflow-hidden border-b border-rule",children:E0("div",{className:"relative z-10 max-w-6xl mx-auto w-full",children:[$.name&&E0("div",{className:"flex items-center gap-[0.6rem] mb-6 font-mono text-[0.7rem] font-medium uppercase tracking-[0.22em] text-accent",children:[E0("span",{className:"w-[18px] h-px bg-accent","aria-hidden":"true"},void 0,!1,void 0,this),E0("span",{children:$.name},void 0,!1,void 0,this)]},void 0,!0,void 0,this),U&&E0("h1",{className:"font-heading text-[clamp(2.75rem,6.5vw,5.5rem)] font-normal text-heading leading-[1.02] tracking-[-0.025em] max-w-[18ch] [font-variation-settings:'opsz'_144,'SOFT'_30]",children:f7(U,"italic font-normal text-accent [font-variation-settings:'opsz'_144,'SOFT'_80]")},void 0,!1,void 0,this),$.intro&&E0("p",{className:"font-heading font-light text-[clamp(1.1rem,1.8vw,1.4rem)] leading-[1.5] text-theme-muted max-w-[42ch] mt-8 [font-variation-settings:'opsz'_24]",children:f7($.intro,"italic text-accent")},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),E0(gY,{number:"01",title:"Essays",blurb:H.essays?.blurb,children:E0(y7,{items:M,viewAllUrl:Y,viewAllLabel:"View all essays"},void 0,!1,void 0,this)},void 0,!1,void 0,this),F.length>0&&E0(gY,{number:"02",title:"Presentations",blurb:H.presentations?.blurb,children:E0(y7,{items:F,viewAllUrl:J,viewAllLabel:"View all presentations"},void 0,!1,void 0,this)},void 0,!1,void 0,this),R&&E0(gY,{number:"03",title:"About",blurb:H.about?.blurb,children:E0("div",{className:"flex flex-col gap-8",children:[$.description&&E0("p",{className:"font-heading font-light text-[1.25rem] leading-[1.55] text-theme max-w-[55ch] [font-variation-settings:'opsz'_24,'SOFT'_50]",children:$.description},void 0,!1,void 0,this),$.expertise&&$.expertise.length>0&&E0(OY,{subjects:$.expertise},void 0,!1,void 0,this),E0("a",{href:"/about",className:"mt-6 inline-flex items-center gap-2 font-mono text-[0.7rem] font-medium uppercase tracking-[0.18em] text-accent pb-1 relative before:content-[''] before:absolute before:left-0 before:right-full before:bottom-0 before:h-px before:bg-accent before:transition-[right] before:duration-300 hover:before:right-0",children:["Learn more",E0("span",{"aria-hidden":"true",children:"\u2192"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),E0(GY,{cta:W,variant:"editorial",socialLinks:$.socialLinks},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)};import{jsxDEV as V0,Fragment as vS}from"preact/jsx-dev-runtime";var pY=({profile:$})=>{let X=`About ${$.name||"Me"}`,G=$.description||$.intro||"About page",Y=$.expertise&&$.expertise.length>0||$.currentFocus||$.availability||$.email||$.website||$.socialLinks&&$.socialLinks.length>0;return V0(vS,{children:[V0(s0,{title:X,description:G,ogType:"profile"},void 0,!1,void 0,this),V0("div",{className:"about-page bg-theme",children:[V0("header",{className:"hero-bg-pattern relative w-full py-16 md:py-24 px-6 md:px-12 bg-theme overflow-hidden",children:V0("div",{className:"relative z-10 max-w-4xl mx-auto",children:[V0("h1",{className:"text-5xl md:text-6xl font-semibold mb-6 text-heading",children:["About ",$.name||"Me"]},void 0,!0,void 0,this),$.description&&V0("p",{className:"text-xl md:text-2xl text-theme-muted leading-relaxed",children:$.description},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),V0("div",{className:"container mx-auto px-6 md:px-12 max-w-4xl py-12 md:py-16",children:[$.story&&V0("section",{className:"content-section-reveal mb-20 md:mb-28",children:V0(o5,{markdown:$.story},void 0,!1,void 0,this)},void 0,!1,void 0,this),Y&&V0("div",{className:"content-section-reveal grid md:grid-cols-2 gap-x-16 gap-y-12",children:[$.expertise&&$.expertise.length>0&&V0("section",{children:[V0("h2",{className:"text-sm tracking-widest uppercase text-theme-muted mb-6",children:"Expertise"},void 0,!1,void 0,this),V0("ul",{className:"flex flex-wrap gap-3",children:$.expertise.map((J,W)=>V0("li",{className:KY({variant:"accent",size:"lg"}),children:J},W,!1,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this),$.currentFocus&&V0("section",{children:[V0("h2",{className:"text-sm tracking-widest uppercase text-theme-muted mb-6",children:"Current Focus"},void 0,!1,void 0,this),V0("p",{className:"text-lg text-theme leading-relaxed",children:$.currentFocus},void 0,!1,void 0,this)]},void 0,!0,void 0,this),$.availability&&V0("section",{children:[V0("h2",{className:"text-sm tracking-widest uppercase text-theme-muted mb-6",children:"Availability"},void 0,!1,void 0,this),V0("p",{className:"text-lg text-theme leading-relaxed",children:$.availability},void 0,!1,void 0,this)]},void 0,!0,void 0,this),($.email||$.website||$.socialLinks&&$.socialLinks.length>0)&&V0("section",{children:[V0("h2",{className:"text-sm tracking-widest uppercase text-theme-muted mb-6",children:"Contact"},void 0,!1,void 0,this),V0("div",{className:"space-y-4",children:[$.email&&V0("p",{className:"text-lg",children:V0("a",{href:`mailto:${$.email}`,className:"text-brand hover:text-brand-dark transition-colors",children:$.email},void 0,!1,void 0,this)},void 0,!1,void 0,this),$.website&&V0("p",{className:"text-lg",children:V0("a",{href:$.website,target:"_blank",rel:"noopener noreferrer",className:"text-brand hover:text-brand-dark transition-colors",children:$.website},void 0,!1,void 0,this)},void 0,!1,void 0,this),$.socialLinks&&$.socialLinks.length>0&&V0("div",{className:"flex flex-wrap gap-4 mt-4",children:$.socialLinks.map((J,W)=>V0(e1,{href:J.url,external:!0,variant:"secondary",size:"md",children:J.label||J.platform},W,!1,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)};import{jsxDEV as Z1,Fragment as eR}from"preact/jsx-dev-runtime";var uY=()=>{return Z1(eR,{children:[Z1(s0,{title:"Thanks for subscribing!",description:"You've successfully subscribed to the newsletter."},void 0,!1,void 0,this),Z1("div",{className:"min-h-[60vh] flex items-center justify-center px-6",children:Z1("div",{className:"text-center max-w-md",children:[Z1("div",{className:"text-6xl mb-6",children:"\uD83C\uDF89"},void 0,!1,void 0,this),Z1("h1",{className:"text-3xl font-semibold mb-4 text-heading",children:"Thanks for subscribing!"},void 0,!1,void 0,this),Z1("p",{className:"text-lg text-theme-muted mb-8",children:"You'll receive a confirmation email shortly. Check your inbox to confirm your subscription."},void 0,!1,void 0,this),Z1(e1,{href:"/",variant:"primary",children:"Back to Home"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},dY=()=>{return Z1(eR,{children:[Z1(s0,{title:"Subscription failed",description:"There was a problem with your subscription."},void 0,!1,void 0,this),Z1("div",{className:"min-h-[60vh] flex items-center justify-center px-6",children:Z1("div",{className:"text-center max-w-md",children:[Z1("div",{className:"text-6xl mb-6",children:"\uD83D\uDE22"},void 0,!1,void 0,this),Z1("h1",{className:"text-3xl font-semibold mb-4 text-heading",children:"Something went wrong"},void 0,!1,void 0,this),Z1("p",{className:"text-lg text-theme-muted mb-8",children:"We couldn't process your subscription. Please try again or contact us if the problem persists."},void 0,!1,void 0,this),Z1(e1,{href:"/",variant:"primary",children:"Back to Home"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)};S();var $A=K.object({label:K.string().describe("Display label for entity type (e.g., 'Essay')"),pluralName:K.string().optional().describe("URL path segment (defaults to label.toLowerCase() + 's')")}),XA=K.object({entityDisplay:K.object({post:$A,deck:$A}).describe("Display metadata for post and deck entity types (required for homepage)")});var GA={name:"@brains/site-professional",private:!0,version:"0.2.0-alpha.70",description:"Professional site composition package",type:"module",exports:{".":"./src/index.ts"},files:["src"],scripts:{typecheck:"tsc --noEmit",lint:"eslint . --ext .ts","lint:fix":"eslint . --ext .ts --fix"},dependencies:{"@brains/blog":"workspace:*","@brains/decks":"workspace:*","@brains/identity-service":"workspace:*","@brains/plugins":"workspace:*","@brains/site-composition":"workspace:*","@brains/site-engine":"workspace:*","@brains/site-info":"workspace:*","@brains/templates":"workspace:*","@brains/ui-library":"workspace:*","@brains/utils":"workspace:*",preact:"^10.27.2"},devDependencies:{"@brains/eslint-config":"workspace:*","@brains/typescript-config":"workspace:*","@types/bun":"latest","bun-types":"latest",eslint:"^8.56.0",typescript:"^5.3.3"}};class lY extends c2{dependencies=["blog","decks"];constructor($){super("professional-site",GA,$,XA)}async onRegister($){$.entities.extendFrontmatterSchema("anchor-profile",s7);let X=this.config.entityDisplay.post,G=this.config.entityDisplay.deck,Y=`/${X.pluralName??X.label.toLowerCase()+"s"}`,J=`/${G.pluralName??G.label.toLowerCase()+"s"}`,W=new a7(Y,J);$.entities.registerDataSource(W);let H=new t7;$.entities.registerDataSource(H);let U=K.object({profile:O5,posts:K.array(t1),decks:K.array(E8),postsListUrl:K.string(),decksListUrl:K.string(),cta:C8,sections:K.record(K.string(),r9)}),M=K.object({profile:O5}),F=K.object({});$.templates.register({"homepage-list":T0({name:"homepage-list",description:"Professional homepage with essays and presentations",schema:U,dataSourceId:"professional:homepage-list",requiredPermission:"public",layout:{component:mY}}),about:T0({name:"about",description:"About page with full profile information",schema:M,dataSourceId:"professional:about",requiredPermission:"public",layout:{component:pY}}),"subscribe-thanks":T0({name:"subscribe-thanks",description:"Newsletter subscription success page",schema:F,requiredPermission:"public",layout:{component:uY}}),"subscribe-error":T0({name:"subscribe-error",description:"Newsletter subscription error page",schema:F,requiredPermission:"public",layout:{component:dY}})}),this.logger.info("Professional site plugin registered successfully")}async getTools(){return[]}async getResources(){return[]}}function cY($){return new lY($??{})}var rY=[{id:"home",path:"/",title:"Home",description:"Professional site homepage",layout:"default",navigation:{show:!0,label:"Home",slot:"secondary",priority:10},sections:[{id:"homepage",template:"professional-site:homepage-list",dataQuery:{}}]},{id:"about",path:"/about",title:"About",description:"About page",layout:"default",navigation:{show:!0,label:"About",slot:"primary",priority:90},sections:[{id:"about",template:"professional-site:about",dataQuery:{}}]},{id:"subscribe-thanks",path:"/subscribe/thanks",title:"Thanks for subscribing",description:"Newsletter subscription confirmation",layout:"default",navigation:{show:!1},sections:[{id:"subscribe-thanks",template:"professional-site:subscribe-thanks",dataQuery:{},content:{}}]},{id:"subscribe-error",path:"/subscribe/error",title:"Subscription failed",description:"Newsletter subscription error",layout:"default",navigation:{show:!1},sections:[{id:"subscribe-error",template:"professional-site:subscribe-error",dataQuery:{},content:{}}]}];import{jsxDEV as e7}from"preact/jsx-dev-runtime";function iY({sections:$,siteInfo:X,slots:G,wordmark:Y}){return e7("div",{className:"flex flex-col min-h-screen bg-theme overflow-x-clip",children:[e7(V8,{title:X.title,navigation:X.navigation.primary,showThemeToggle:!0,...X.logo!==void 0?{logo:X.logo}:{},...Y!==void 0?{wordmark:Y}:{}},void 0,!1,void 0,this),e7("main",{className:"flex-grow flex flex-col bg-theme",children:$},void 0,!1,void 0,this),e7(JY,{primaryNavigation:X.navigation.primary,secondaryNavigation:X.navigation.secondary,copyright:X.copyright,socialLinks:X.socialLinks,title:X.title,tagline:X.description,children:G?.getSlot("footer-top").map((J)=>J.render())},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function YA($){return{id:$.id,version:$.version,type:$.type,packageName:$.packageName}}var SJ0=DY;function kJ0($){return YA(_Y($))}var bS=zY,vJ0=bS,xJ0=iY;function bJ0($){return YA(cY($))}var hJ0=rY;export{bS as routes,bJ0 as professionalSitePlugin,hJ0 as professionalRoutes,kJ0 as personalSitePlugin,vJ0 as personalRoutes,xJ0 as ProfessionalLayout,SJ0 as PersonalLayout};
|
|
864
|
+
${G.content}`,templateName:"decks:description"})})}}g2();S();O0();var s7=o2.extend({expertise:K.array(K.string()).optional().describe("Skills, domains, areas of focus"),currentFocus:K.string().optional().describe("What you're currently working on"),availability:K.string().optional().describe("What you're open to (consulting, speaking, etc.)")}),O5=F6.extend(s7.shape);O0();u5();S();var ES=new p1;class a7{postsListUrl;decksListUrl;id="professional:homepage-list";name="Homepage List DataSource";description="Fetches profile, blog posts, and presentation decks for homepage";constructor($,X){this.postsListUrl=$;this.decksListUrl=X}async fetch($,X,G){let Y=G.entityService,[J,W,H,U]=await Promise.all([M6(Y),Y.listEntities({entityType:"post",options:{limit:20}}),Y.listEntities({entityType:"deck",options:{limit:20}}),T8(Y)]),M=ES.parseProfileBody(J,O5),F=W.sort(z2).slice(0,3).map(l5),Q=H.sort(z2).slice(0,3).map(j8);if(!U.cta)throw Error("CTA not configured in site-info");let q={profile:M,posts:F,decks:Q,postsListUrl:this.postsListUrl,decksListUrl:this.decksListUrl,cta:U.cta,sections:U.sections??{}};return X.parse(q)}}O0();u5();var IS=new p1;class t7{id="professional:about";name="About Page DataSource";description="Fetches full profile data for the about page";async fetch($,X,G){let Y=await M6(G.entityService),W={profile:IS.parseProfileBody(Y,O5)};return X.parse(W)}}import{jsxDEV as E0,Fragment as kS}from"preact/jsx-dev-runtime";var jS="grid md:grid-cols-[14rem_1px_1fr] gap-y-2 gap-x-0 md:gap-16 items-start",SS="border-t md:border-t-0 md:border-l border-rule-strong md:self-stretch",gY=({number:$,title:X,blurb:G,children:Y})=>E0("section",{className:"py-20 border-b border-rule px-6 md:px-12",children:E0("div",{className:"max-w-6xl mx-auto",children:E0("div",{className:jS,children:[E0(qY,{title:X,number:$,blurb:G},void 0,!1,void 0,this),E0("div",{className:SS,"aria-hidden":"true"},void 0,!1,void 0,this),E0("div",{className:"mt-6 md:mt-0",children:Y},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),mY=({profile:$,posts:X,decks:G,postsListUrl:Y,decksListUrl:J,cta:W,sections:H})=>{let U=$.tagline||$.description,M=X.map((O)=>({id:O.id,url:O.url,title:O.metadata.title,date:O.metadata.publishedAt||O.created,description:O.frontmatter.excerpt,series:O.frontmatter.seriesName&&O.frontmatter.seriesIndex?{name:O.frontmatter.seriesName,index:O.frontmatter.seriesIndex}:void 0})),F=G.map((O)=>({id:O.id,url:O.url,title:O.frontmatter.title||O.id,date:O.frontmatter.publishedAt??O.created,description:O.frontmatter.description})),Q=$.name||"Home",q=$.intro||$.description||U||"Professional site",R=Boolean($.description)||$.expertise!==void 0&&$.expertise.length>0;return E0(kS,{children:[E0(s0,{title:Q,description:q,ogType:"website"},void 0,!1,void 0,this),E0("div",{className:"homepage-list bg-theme",children:[E0("header",{className:"hero-bg-pattern relative w-full px-6 md:px-12 pt-28 pb-24 md:pt-28 md:pb-24 overflow-hidden border-b border-rule",children:E0("div",{className:"relative z-10 max-w-6xl mx-auto w-full",children:[$.name&&E0("div",{className:"flex items-center gap-[0.6rem] mb-6 font-mono text-[0.7rem] font-medium uppercase tracking-[0.22em] text-accent",children:[E0("span",{className:"w-[18px] h-px bg-accent","aria-hidden":"true"},void 0,!1,void 0,this),E0("span",{children:$.name},void 0,!1,void 0,this)]},void 0,!0,void 0,this),U&&E0("h1",{className:"font-heading text-[clamp(2.75rem,6.5vw,5.5rem)] font-normal text-heading leading-[1.02] tracking-[-0.025em] max-w-[18ch] [font-variation-settings:'opsz'_144,'SOFT'_30]",children:f7(U,"italic font-normal text-accent [font-variation-settings:'opsz'_144,'SOFT'_80]")},void 0,!1,void 0,this),$.intro&&E0("p",{className:"font-heading font-light text-[clamp(1.1rem,1.8vw,1.4rem)] leading-[1.5] text-theme-muted max-w-[42ch] mt-8 [font-variation-settings:'opsz'_24]",children:f7($.intro,"italic text-accent")},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),E0(gY,{number:"01",title:"Essays",blurb:H.essays?.blurb,children:E0(y7,{items:M,viewAllUrl:Y,viewAllLabel:"View all essays"},void 0,!1,void 0,this)},void 0,!1,void 0,this),F.length>0&&E0(gY,{number:"02",title:"Presentations",blurb:H.presentations?.blurb,children:E0(y7,{items:F,viewAllUrl:J,viewAllLabel:"View all presentations"},void 0,!1,void 0,this)},void 0,!1,void 0,this),R&&E0(gY,{number:"03",title:"About",blurb:H.about?.blurb,children:E0("div",{className:"flex flex-col gap-8",children:[$.description&&E0("p",{className:"font-heading font-light text-[1.25rem] leading-[1.55] text-theme max-w-[55ch] [font-variation-settings:'opsz'_24,'SOFT'_50]",children:$.description},void 0,!1,void 0,this),$.expertise&&$.expertise.length>0&&E0(OY,{subjects:$.expertise},void 0,!1,void 0,this),E0("a",{href:"/about",className:"mt-6 inline-flex items-center gap-2 font-mono text-[0.7rem] font-medium uppercase tracking-[0.18em] text-accent pb-1 relative before:content-[''] before:absolute before:left-0 before:right-full before:bottom-0 before:h-px before:bg-accent before:transition-[right] before:duration-300 hover:before:right-0",children:["Learn more",E0("span",{"aria-hidden":"true",children:"\u2192"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),E0(GY,{cta:W,variant:"editorial",socialLinks:$.socialLinks},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)};import{jsxDEV as V0,Fragment as vS}from"preact/jsx-dev-runtime";var pY=({profile:$})=>{let X=`About ${$.name||"Me"}`,G=$.description||$.intro||"About page",Y=$.expertise&&$.expertise.length>0||$.currentFocus||$.availability||$.email||$.website||$.socialLinks&&$.socialLinks.length>0;return V0(vS,{children:[V0(s0,{title:X,description:G,ogType:"profile"},void 0,!1,void 0,this),V0("div",{className:"about-page bg-theme",children:[V0("header",{className:"hero-bg-pattern relative w-full py-16 md:py-24 px-6 md:px-12 bg-theme overflow-hidden",children:V0("div",{className:"relative z-10 max-w-4xl mx-auto",children:[V0("h1",{className:"text-5xl md:text-6xl font-semibold mb-6 text-heading",children:["About ",$.name||"Me"]},void 0,!0,void 0,this),$.description&&V0("p",{className:"text-xl md:text-2xl text-theme-muted leading-relaxed",children:$.description},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),V0("div",{className:"container mx-auto px-6 md:px-12 max-w-4xl py-12 md:py-16",children:[$.story&&V0("section",{className:"content-section-reveal mb-20 md:mb-28",children:V0(o5,{markdown:$.story},void 0,!1,void 0,this)},void 0,!1,void 0,this),Y&&V0("div",{className:"content-section-reveal grid md:grid-cols-2 gap-x-16 gap-y-12",children:[$.expertise&&$.expertise.length>0&&V0("section",{children:[V0("h2",{className:"text-sm tracking-widest uppercase text-theme-muted mb-6",children:"Expertise"},void 0,!1,void 0,this),V0("ul",{className:"flex flex-wrap gap-3",children:$.expertise.map((J,W)=>V0("li",{className:KY({variant:"accent",size:"lg"}),children:J},W,!1,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this),$.currentFocus&&V0("section",{children:[V0("h2",{className:"text-sm tracking-widest uppercase text-theme-muted mb-6",children:"Current Focus"},void 0,!1,void 0,this),V0("p",{className:"text-lg text-theme leading-relaxed",children:$.currentFocus},void 0,!1,void 0,this)]},void 0,!0,void 0,this),$.availability&&V0("section",{children:[V0("h2",{className:"text-sm tracking-widest uppercase text-theme-muted mb-6",children:"Availability"},void 0,!1,void 0,this),V0("p",{className:"text-lg text-theme leading-relaxed",children:$.availability},void 0,!1,void 0,this)]},void 0,!0,void 0,this),($.email||$.website||$.socialLinks&&$.socialLinks.length>0)&&V0("section",{children:[V0("h2",{className:"text-sm tracking-widest uppercase text-theme-muted mb-6",children:"Contact"},void 0,!1,void 0,this),V0("div",{className:"space-y-4",children:[$.email&&V0("p",{className:"text-lg",children:V0("a",{href:`mailto:${$.email}`,className:"text-brand hover:text-brand-dark transition-colors",children:$.email},void 0,!1,void 0,this)},void 0,!1,void 0,this),$.website&&V0("p",{className:"text-lg",children:V0("a",{href:$.website,target:"_blank",rel:"noopener noreferrer",className:"text-brand hover:text-brand-dark transition-colors",children:$.website},void 0,!1,void 0,this)},void 0,!1,void 0,this),$.socialLinks&&$.socialLinks.length>0&&V0("div",{className:"flex flex-wrap gap-4 mt-4",children:$.socialLinks.map((J,W)=>V0(e1,{href:J.url,external:!0,variant:"secondary",size:"md",children:J.label||J.platform},W,!1,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)};import{jsxDEV as Z1,Fragment as eR}from"preact/jsx-dev-runtime";var uY=()=>{return Z1(eR,{children:[Z1(s0,{title:"Thanks for subscribing!",description:"You've successfully subscribed to the newsletter."},void 0,!1,void 0,this),Z1("div",{className:"min-h-[60vh] flex items-center justify-center px-6",children:Z1("div",{className:"text-center max-w-md",children:[Z1("div",{className:"text-6xl mb-6",children:"\uD83C\uDF89"},void 0,!1,void 0,this),Z1("h1",{className:"text-3xl font-semibold mb-4 text-heading",children:"Thanks for subscribing!"},void 0,!1,void 0,this),Z1("p",{className:"text-lg text-theme-muted mb-8",children:"You'll receive a confirmation email shortly. Check your inbox to confirm your subscription."},void 0,!1,void 0,this),Z1(e1,{href:"/",variant:"primary",children:"Back to Home"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},dY=()=>{return Z1(eR,{children:[Z1(s0,{title:"Subscription failed",description:"There was a problem with your subscription."},void 0,!1,void 0,this),Z1("div",{className:"min-h-[60vh] flex items-center justify-center px-6",children:Z1("div",{className:"text-center max-w-md",children:[Z1("div",{className:"text-6xl mb-6",children:"\uD83D\uDE22"},void 0,!1,void 0,this),Z1("h1",{className:"text-3xl font-semibold mb-4 text-heading",children:"Something went wrong"},void 0,!1,void 0,this),Z1("p",{className:"text-lg text-theme-muted mb-8",children:"We couldn't process your subscription. Please try again or contact us if the problem persists."},void 0,!1,void 0,this),Z1(e1,{href:"/",variant:"primary",children:"Back to Home"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)};S();var $A=K.object({label:K.string().describe("Display label for entity type (e.g., 'Essay')"),pluralName:K.string().optional().describe("URL path segment (defaults to label.toLowerCase() + 's')")}),XA=K.object({entityDisplay:K.object({post:$A,deck:$A}).describe("Display metadata for post and deck entity types (required for homepage)")});var GA={name:"@brains/site-professional",private:!0,version:"0.2.0-alpha.71",description:"Professional site composition package",type:"module",exports:{".":"./src/index.ts"},files:["src"],scripts:{typecheck:"tsc --noEmit",lint:"eslint . --ext .ts","lint:fix":"eslint . --ext .ts --fix"},dependencies:{"@brains/blog":"workspace:*","@brains/decks":"workspace:*","@brains/identity-service":"workspace:*","@brains/plugins":"workspace:*","@brains/site-composition":"workspace:*","@brains/site-engine":"workspace:*","@brains/site-info":"workspace:*","@brains/templates":"workspace:*","@brains/ui-library":"workspace:*","@brains/utils":"workspace:*",preact:"^10.27.2"},devDependencies:{"@brains/eslint-config":"workspace:*","@brains/typescript-config":"workspace:*","@types/bun":"latest","bun-types":"latest",eslint:"^8.56.0",typescript:"^5.3.3"}};class lY extends c2{dependencies=["blog","decks"];constructor($){super("professional-site",GA,$,XA)}async onRegister($){$.entities.extendFrontmatterSchema("anchor-profile",s7);let X=this.config.entityDisplay.post,G=this.config.entityDisplay.deck,Y=`/${X.pluralName??X.label.toLowerCase()+"s"}`,J=`/${G.pluralName??G.label.toLowerCase()+"s"}`,W=new a7(Y,J);$.entities.registerDataSource(W);let H=new t7;$.entities.registerDataSource(H);let U=K.object({profile:O5,posts:K.array(t1),decks:K.array(E8),postsListUrl:K.string(),decksListUrl:K.string(),cta:C8,sections:K.record(K.string(),r9)}),M=K.object({profile:O5}),F=K.object({});$.templates.register({"homepage-list":T0({name:"homepage-list",description:"Professional homepage with essays and presentations",schema:U,dataSourceId:"professional:homepage-list",requiredPermission:"public",layout:{component:mY}}),about:T0({name:"about",description:"About page with full profile information",schema:M,dataSourceId:"professional:about",requiredPermission:"public",layout:{component:pY}}),"subscribe-thanks":T0({name:"subscribe-thanks",description:"Newsletter subscription success page",schema:F,requiredPermission:"public",layout:{component:uY}}),"subscribe-error":T0({name:"subscribe-error",description:"Newsletter subscription error page",schema:F,requiredPermission:"public",layout:{component:dY}})}),this.logger.info("Professional site plugin registered successfully")}async getTools(){return[]}async getResources(){return[]}}function cY($){return new lY($??{})}var rY=[{id:"home",path:"/",title:"Home",description:"Professional site homepage",layout:"default",navigation:{show:!0,label:"Home",slot:"secondary",priority:10},sections:[{id:"homepage",template:"professional-site:homepage-list",dataQuery:{}}]},{id:"about",path:"/about",title:"About",description:"About page",layout:"default",navigation:{show:!0,label:"About",slot:"primary",priority:90},sections:[{id:"about",template:"professional-site:about",dataQuery:{}}]},{id:"subscribe-thanks",path:"/subscribe/thanks",title:"Thanks for subscribing",description:"Newsletter subscription confirmation",layout:"default",navigation:{show:!1},sections:[{id:"subscribe-thanks",template:"professional-site:subscribe-thanks",dataQuery:{},content:{}}]},{id:"subscribe-error",path:"/subscribe/error",title:"Subscription failed",description:"Newsletter subscription error",layout:"default",navigation:{show:!1},sections:[{id:"subscribe-error",template:"professional-site:subscribe-error",dataQuery:{},content:{}}]}];import{jsxDEV as e7}from"preact/jsx-dev-runtime";function iY({sections:$,siteInfo:X,slots:G,wordmark:Y}){return e7("div",{className:"flex flex-col min-h-screen bg-theme overflow-x-clip",children:[e7(V8,{title:X.title,navigation:X.navigation.primary,showThemeToggle:!0,...X.logo!==void 0?{logo:X.logo}:{},...Y!==void 0?{wordmark:Y}:{}},void 0,!1,void 0,this),e7("main",{className:"flex-grow flex flex-col bg-theme",children:$},void 0,!1,void 0,this),e7(JY,{primaryNavigation:X.navigation.primary,secondaryNavigation:X.navigation.secondary,copyright:X.copyright,socialLinks:X.socialLinks,title:X.title,tagline:X.description,children:G?.getSlot("footer-top").map((J)=>J.render())},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function YA($){return{id:$.id,version:$.version,type:$.type,packageName:$.packageName}}var SJ0=DY;function kJ0($){return YA(_Y($))}var bS=zY,vJ0=bS,xJ0=iY;function bJ0($){return YA(cY($))}var hJ0=rY;export{bS as routes,bJ0 as professionalSitePlugin,hJ0 as professionalRoutes,kJ0 as personalSitePlugin,vJ0 as personalRoutes,xJ0 as ProfessionalLayout,SJ0 as PersonalLayout};
|
|
865
865
|
|
|
866
|
-
//# debugId=
|
|
866
|
+
//# debugId=64704A8BE34A67D464756E2164756E21
|
|
867
867
|
//# sourceMappingURL=site.js.map
|