nate@baird:~/blog$ cat how-this-site-is-built.md

how-this-site-is-built.md
metaastro

how this site is built

A quick tour under the hood, mostly so future-me remembers how it works.

the stack

The site is built with Astro, which turned out to be a great fit for a project like this:

  • Everything is static. The whole site compiles to plain HTML and CSS. No client-side framework, no hydration, nothing to download except the page you asked for.
  • Blog posts are markdown files. Writing a new post means dropping a .md file into src/content/blog/ with a small frontmatter block. Astro’s content collections validate the frontmatter at build time, so a typo in a date fails the build instead of silently breaking the page.
  • The retro theme is just CSS. Scanlines are a repeating-linear-gradient fixed over the viewport, the glow is text-shadow, and the blinking cursor is a two-frame animation. It all degrades gracefully and respects prefers-reduced-motion.

publishing

The source lives in a git repo. Push to main, the site rebuilds and deploys. That’s the whole pipeline — no CMS, no database, nothing to maintain at 2am.

editing this site later

Notes to self:

  • New post → src/content/blog/whatever.md
  • New project → edit the array at the top of src/pages/projects/index.astro
  • Colors → CSS variables at the top of src/styles/global.css

That’s it. Future me: you’re welcome.

← back to the log