PageSourceSearch

https://1320.digital/assets/blog._slug-BDKAjJQj.js

js 1320.digital collected 2026-10-02 00:36:03 UTC 2,226 bytes, 2 lines download raw bytes

1import{N as d,j as e,L as o}from"./index-B4JQNENK.js";function x(){const{post:s}=d.useLoaderData(),r=s.body.split(/\n\n+/);return e.jsx("article",{className:"min-h-screen bg-background px-6 py-24",children:e.jsxs("div",{className:"mx-auto max-w-2xl",children:[e.jsx(o,{to:"/blog",className:"font-mono-ui text-xs uppercase tracking-mono text-muted-ink hover:text-foreground",children:"← Field Notes"}),e.jsxs("header",{className:"mt-10 mb-12 border-b border-border pb-10",children:[e.jsx("div",{className:"font-mono-ui text-xs uppercase tracking-mono text-muted-ink",children:new Date(s.published_at).toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric"})}),e.jsx("h1",{className:"mt-4 font-display tracking-display text-4xl text-foreground md:text-5xl",children:s.title}),s.cover_image_url?e.jsx("img",{src:s.cover_image_url,alt:"",className:"mt-8 aspect-[16/9] w-full rounded-lg object-cover"}):null]}),e.jsx("div",{className:"space-y-6 text-foreground leading-relaxed",children:r.map((l,n)=>{if(l.startsWith("## "))return e.jsx("h2",{className:"mt-10 font-display tracking-display text-2xl text-foreground",children:l.replace(/^##\s+/,"")},n);if(l.startsWith("- ")){const t=l.split(`
2`).map(a=>a.replace(/^-\s+/,""));return e.jsx("ul",{className:"list-disc space-y-2 pl-6 text-muted-ink",children:t.map((a,i)=>e.jsx("li",{children:c(a)},i))},n)}return e.jsx("p",{className:"text-muted-ink",children:c(l)},n)})}),e.jsx("div",{className:"mt-16 border-t border-border pt-10",children:e.jsx(o,{to:"/websites",className:"font-mono-ui text-xs uppercase tracking-mono text-foreground underline underline-offset-4",children:"Work with 1320 Digital →"})})]})})}function c(s){const r=[],l=/\*\*([^*]+)\*\*|\[([^\]]+)\]\(([^)]+)\)/g;let n=0,t,a=0;for(;(t=l.exec(s))!==null;){if(t.index>n&&r.push(s.slice(n,t.index)),t[1])r.push(e.jsx("strong",{children:t[1]},a++));else if(t[2]&&t[3]){const i=t[3];i.startsWith("/")?r.push(e.jsx(o,{to:i,className:"underline underline-offset-4",children:t[2]},a++)):r.push(e.jsx("a",{href:i,className:"underline underline-offset-4",target:"_blank",rel:"noopener noreferrer",children:t[2]},a++))}n=t.index+t[0].length}return n<s.length&&r.push(s.slice(n)),r}export{x as component};

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