Personal site + writing for Dylan Gillette — built with Astro, hosted free on GitHub Pages.
You need Node.js (LTS) installed. Then, in this folder:
npm install # one time
npm run dev # start the local preview at http://localhost:4321
Edit a file, save, and the browser updates instantly.
| What you want to change | File |
|---|---|
| Name, title, contact, hero line, skills, all job history | src/data/resume.ts |
| Your real domain (for share links + sitemap) | astro.config.mjs → site |
| The domain GitHub Pages serves | public/CNAME |
| Colors and fonts | top of src/styles/global.css |
| A new article response | add a .md file in src/content/posts/ |
Create a file like src/content/posts/my-post.md:
---
title: "My headline"
description: "One-sentence summary (also used for the link preview)."
pubDate: 2026-01-15
draft: false
sourceTitle: "The article I'm responding to" # optional
sourceUrl: "https://the-article-url.com" # optional
sourcePublication: "Where it ran" # optional
---
Your writing here. Plain Markdown — **bold**, _italics_, lists, > quotes, etc.
Set draft: true to keep a post hidden until you’re ready.
main branch..github/workflows/deploy.yml) builds and publishes automatically on every push.www.yourdomain.com: add a CNAME record pointing to YOURUSERNAME.github.io.yourdomain.com: add the four GitHub A records (and/or an ALIAS/ANAME) — GitHub lists the exact IPs.public/CNAME and site in astro.config.mjs match the domain you choose.After that, every git push redeploys the live site in a minute or two.
Drop a 1200×630 px image named og-image.png into the public/ folder. That’s
what shows up when you share a link on LinkedIn — high-leverage for a marketer.
Built to be fast, accessible, and cheap to run. Total recurring cost: just your domain.