A personal blog. Astro, Markdown, plain CSS.
See PROJECT.md for the design intent.
npm install
npm run dev # http://localhost:4321
npm run build # → dist/
npm run preview # serve the built site
npm run check # type-check .astro filesAdd a Markdown file to src/content/posts/. The filename becomes the URL.
---
title: The shape of a data pipeline
date: 2026-08-02
description: One line, shown in the post list.
tags: ['data engineering', 'design']
draft: false
---title, date, and description are required; the build fails if they're missing or malformed.
Set draft: true to keep a post visible in npm run dev but out of the built site.
Tag pages are generated automatically from the tags in use. Headings (##, ###) become the
table of contents.
| Path | What |
|---|---|
src/styles/tokens.css |
colors, type scale, spacing, motion — change the design here |
src/styles/global.css |
reset, base elements, header/footer, layout |
src/styles/prose.css |
article body typography and code blocks |
src/consts.ts |
site name, description, footer quote |
src/pages/index.astro |
home page copy, including the Currently list |
src/pages/about.astro |
about page copy |
Pushing to main runs .github/workflows/deploy.yml, which builds and publishes to GitHub Pages.
One-time setup: repo Settings → Pages → Source → GitHub Actions.