My personal website — TIL, blog, and projects.
- Astro — Static site generator
- Markdown/MDX — Content
- Cloudflare Pages — Hosting (free)
- Buttondown — Newsletter (optional)
npm install
npm run devSite runs at http://localhost:4321
npm run new-til "Title of your TIL"
# Creates src/content/til/title-of-your-til.mdOr manually create a file in src/content/til/:
---
title: "What I learned"
date: "2026-04-26"
tags: ["topic"]
---
Content here...Create a file in src/content/blog/:
---
title: "Blog Post Title"
date: "2026-04-26"
description: "A short description"
tags: ["topic"]
---
Content here...Push to main and Cloudflare Pages auto-deploys.
- Go to Cloudflare Pages
- Connect your GitHub repo
- Build settings:
- Build command:
npm run build - Output directory:
dist
- Build command:
- Add custom domain:
eligooch.com
Using Buttondown:
- Create a free account
- Update
BUTTONDOWN_USERNAMEinsrc/components/Newsletter.astro - Done!
Content © Eli Gooch. Code is MIT.