Something went wrong. Try again.
Personal site and resume on Astro; the PDF is printed from the site. spencergilbert.dev
Something went wrong. Try again.
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071---import '../styles/global.css';
interface Props { title: string; description?: string; /** Sketch (hand-drawn paper) chrome. Off for the resume — that page stays a clean document. */ sketch?: boolean;}
const { title, description = 'Spencer Gilbert — platform and infrastructure engineer.', sketch = false,} = Astro.props;
const nav = [ { href: '/', label: 'Home' }, { href: '/spencer-gilbert-cv.pdf', label: 'Resume' },];const year = new Date().getFullYear();---
<!doctype html><html lang="en"> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <link rel="icon" type="image/svg+xml" href="/favicon.svg" /> <meta name="generator" content={Astro.generator} /> <meta name="description" content={description} /> <title>{title}</title> {sketch && ( <> <link rel="preconnect" href="https://fonts.googleapis.com" /> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin /> <link href="https://fonts.googleapis.com/css2?family=Amatic+SC:wght@400;700&family=IBM+Plex+Mono:wght@400;500&display=swap" rel="stylesheet" /> </> )} </head> <body class={sketch ? 'sketch' : 'doc'}> <header class="site-header"> <a class="site-title" href="/">Spencer Gilbert</a> <nav> { nav.map((item) => ( <a href={item.href} aria-current={Astro.url.pathname === item.href ? 'page' : undefined} > {item.label} </a> )) } </nav> </header> <main> <slot /> </main> <footer class="site-footer"> <p> The resume renders to both HTML and PDF from one file. Static site, no trackers. </p> <p class="muted">© {year} Spencer Gilbert</p> </footer> </body></html>