1import{a as x,r as l}from"./chunks/theme.CuzuDMPv.js";import{f as h}from"./chunks/formatDate.CdMjrHJv.js";import{d as _,b as n,e as r,i as v,g as e,f as a,s as m,t as o,F as c,h as d,m as k,y as b,n as y,Y as w,C as u,j as D}from"./chunks/framework.DgvmgWnh.js";const F={class:"mx-auto max-w-225 px-8 pt-30 pb-24 print:px-0 print:pt-0 print:pb-0"},H={id:"resume"},S={class:"reveal border-line mb-10 pb-10 print:mb-6 print:pb-6"},V={class:"grid grid-cols-[auto_1fr] items-center gap-8 max-md:grid-cols-1 max-md:gap-6"},T={class:"border-accent h-24 w-24 shrink-0 overflow-hidden rounded-full border-[3px] shadow-[0_8px_32px_rgba(173,70,255,0.15)] print:shadow-none"},N=["src"],C={class:"mb-2 font-mono leading-none font-bold",style:{"font-size":"clamp(2.2rem, 5vw, 3.4rem)","letter-spacing":"-0.05em"}},P={style:{"-webkit-text-stroke":"2px var(--color-accent)",color:"transparent"}},M={class:"text-fg-muted mb-4 font-mono text-[0.85rem]"},R={class:"text-fg-subtle flex flex-wrap gap-x-5 gap-y-2 font-mono text-[0.7rem]"},L={class:"resume-section mb-12 print:mb-8"},A={class:"grid grid-cols-[180px_1fr] items-start gap-12 max-md:grid-cols-1 max-md:gap-3"},B=["innerHTML"],$={class:"resume-section mb-12 print:mb-8"},E={class:"grid grid-cols-[180px_1fr] items-start gap-12 max-md:grid-cols-1 max-md:gap-3"},z={class:"flex flex-col gap-10"},I={class:"mb-1 flex flex-wrap items-baseline justify-between gap-4"},O={class:"flex flex-wrap items-center gap-2.5"},J={class:"font-mono text-[1rem] font-bold tracking-[-0.02em]"},U={key:0,class:"text-on-accent-dim bg-accent-dim rounded-xs px-1.5 py-px font-mono text-[0.6rem]"},Y={class:"text-fg-subtle font-mono text-[0.7rem] whitespace-nowrap"},q={class:"text-fg-muted mb-3 font-mono text-[0.75rem]"},G=["href"],K={class:"text-fg-muted mb-4 flex list-none flex-col gap-1.5 pl-0 text-[0.9rem] leading-[1.7]"},Q=["innerHTML"],W={class:"flex flex-wrap gap-1.5"},X={class:"resume-section mb-12 print:mb-0"},Z={class:"flex flex-col gap-10"},j={class:"reveal text-accent pt-1 font-mono text-[0.75rem] tracking-widest uppercase"},ee={class:"reveal"},te={class:"mb-1 flex flex-wrap items-baseline justify-between gap-4"},se={class:"font-mono text-[1rem] font-bold tracking-[-0.02em]"},ne={class:"text-fg-muted mb-3 font-mono text-[0.75rem]"},re={class:"flex flex-wrap gap-1.5"},oe=_({__name:"ResumeView",setup(f){return x(),(g,s)=>(n(),r("div",F,[s[7]||(s[7]=v("",1)),e("div",H,[e("header",S,[e("div",V,[e("div",T,[e("img",{src:a(l).photo,alt:"Dan Holloran",class:"h-full w-full object-cover"},null,8,N)]),e("div",null,[e("h1",C,[m(o(a(l).firstName)+" ",1),e("span",P,o(a(l).lastName),1)]),e("p",M,o(a(l).headline),1),e("div",R,[(n(!0),r(c,null,d(a(l).contacts,t=>(n(),k(w(t.link?"a":"span"),{key:t.label,href:t.link,class:y(["inline-flex items-center gap-1.5",{"hover:text-accent no-underline transition-colors":t.link}])},{default:b(()=>[s[0]||(s[0]=e("span",{class:"text-accent"},"â",-1)),m(" "+o(t.label),1)]),_:2},1032,["href","class"]))),128))])])])]),e("section",L,[s[2]||(s[2]=e("div",{class:"accent-line mb-5"},null,-1)),e("div",A,[s[1]||(s[1]=e("h2",{class:"reveal text-accent pt-1 font-mono text-[0.75rem] tracking-widest uppercase"}," // summary ",-1)),e("p",{class:"reveal text-fg-muted text-[0.95rem] leading-[1.75]",innerHTML:a(l).summary},null,8,B)])]),e("section",$,[s[5]||(s[5]=e("div",{class:"accent-line mb-5"},null,-1)),e("div",E,[s[4]||(s[4]=e("h2",{class:"reveal text-accent pt-1 font-mono text-[0.75rem] tracking-widest uppercase"}," // experience ",-1)),e("div",z,[(n(!0),r(c,null,d(a(l).experience,t=>(n(),r("article",{key:t.role+t.start,class:"exp-entry reveal"},[e("div",I,[e("div",O,[e("span",J,o(t.role),1),t.end==null?(n(),r("span",U,"current")):u("",!0)]),e("div",Y,o(a(h)(t.start,t.end)),1)]),e("div",q,[m(" @"+o(t.company)+" · ",1),t.url?(n(),r("a",{key:0,href:t.url,class:"text-accent no-underline hover:underline",target:"_blank",rel:"noopener"},o(t.url.replace("https://","")),9,G)):u("",!0),m(" · "+o(t.location),1)]),e("ul",K,[(n(!0),r(c,null,d(t.details,i=>(n(),r("li",{key:i,class:"flex gap-2.5"},[s[3]||(s[3]=e("span",{class:"text-accent mt-px shrink-0 font-mono text-[0.85rem]"}," ⸠",-1)),e("span",{innerHTML:i.replace(/(\d+%)/g,"<strong class='text-fg font-semibold'>$1</strong>").replace(/(50\+ \w+)/g,"<strong class='text-fg font-semibold'>$1</strong>")},null,8,Q)]))),128))]),e("div",W,[(n(!0),r(c,null,d(t.skills,i=>(n(),r("span",{key:i.name,class:"tag"},o(i.name),1))),128))])]))),128))])])]),e("section",X,[s[6]||(s[6]=e("div",{class:"accent-line mb-5"},null,-1)),e("div",Z,[(n(!0),r(c,null,d(a(l).education,(t,i)=>(n(),r("div",{key:t.school+t.field+t.degree,class:"grid grid-cols-[180px_1fr] items-start gap-12 max-md:grid-cols-1 max-md:gap-3"},[e("h2",j,o(i===0?"// education":""),1),e("div",ee,[e("div",te,[e("span",se,o(`${t.degree} in ${t.field}`),1)]),e("div",ne," @"+o(t.school),1),e("div",re,[(n(!0),r(c,null,d(t.skills,p=>(n(),r("span",{key:p.name,class:"tag"},o(p.name),1))),128))])])]))),128))])])])]))}}),de=JSON.parse(`{"title":"Resume â Senior Frontend & Fullstack Developer","description":"View Dan Holloran's full work history, skills, and experience â 14+ years of frontend and fullstack development across agencies, startups, and enterprise teams.","frontmatter":{"title":"Resume â Senior Frontend & Fullstack Developer","description":"View Dan Holloran's full work history, skills, and experience â 14+ years of frontend and fullstack development across agencies, startups, and enterprise teams.","head":[["link",{"rel":"canonical","href":"https://danholloran.me/resume"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:title","content":"Resume â Senior Frontend & Fullstack Developer"}],["meta",{"property":"og:description","content":"View Dan Holloran's full work history, skills, and experience â 14+ years of frontend and fullstack development across agencies, startups, and enterprise teams."}],["meta",{"property":"og:url","content":"https://danholloran.me/resume"}],["meta",{"property":"og:locale","content":"en_US"}],["meta",{"name":"twitter:title","content":"Resume â Senior Frontend & Fullstack Developer"}],["meta",{"name":"twitter:description","content":"View Dan Holloran's full work history, skills, and experience â 14+ years of frontend and fullstack development across agencies, startups, and enterprise teams."}],["meta",{"property":"og:image","content":"https://danholloran.me/images/profile.png"}],["meta",{"name":"twitter:image","content":"https://danholloran.me/images/profile.png"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"ProfilePage\\",\\"name\\":\\"Dan Holloran â Resume\\",\\"url\\":\\"https://danholloran.me/resume\\",\\"mainEntity\\":{\\"@type\\":\\"Person\\",\\"name\\":\\"Dan Holloran\\",\\"alternateName\\":\\"Danny Holloran\\",\\"url\\":\\"https://danholloran.me\\",\\"image\\":\\"https://danholloran.me/images/profile.png\\",\\"jobTitle\\":\\"Senior Frontend \\\\u0026 Fullstack Developer\\",\\"description\\":\\"Senior Frontend \\\\u0026 Fullstack Developer with 14+ years building performant, scalable web applications. Passionate about architecture, mentorship, and finding the right tool for the job.\\",\\"sameAs\\":[\\"https://github.com/grimicorn\\",\\"https://linkedin.com/in/dan-
1holloran/\\",\\"https://x.com/grimicorn\\",\\"https://bsky.app/profile/grimicorn.bsky.social\\"]}}"]]},"headers":[],"relativePath":"resume.md","filePath":"resume.md"}`),ae={name:"resume.md"},me=Object.assign(ae,{setup(f){return(g,s)=>(n(),r("div",null,[D(oe)]))}});export{de as __pageData,me as default};
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.