Projects

the306bobby.com

This site — a static Astro build served from Cloudflare Workers' asset storage.

active
  • astro
  • cloudflare
  • workers
  • meta

The site you’re reading. It exists so the projects below have somewhere to live that isn’t a README buried three repos deep.

How it’s built

Astro static-generates every page at build time, so there’s no server rendering and no client-side JavaScript shipped by default. The output in dist/ is uploaded to Cloudflare’s asset storage and served by a Worker.

Each project is one Markdown file in src/content/projects/. A content collection validates the frontmatter at build time, which means a typo in a field name fails the build instead of silently rendering an empty page.

Adding a project

Drop a new .md file in src/content/projects/, fill in the frontmatter, and push. The index pages pick it up automatically, sorted by date.

npm run dev      # local preview at localhost:4321
npm run build    # static output to dist/
npm run deploy   # build, then wrangler deploy

Set featured: true to pin an entry to the home page, or draft: true to keep it out of the build entirely.