Personal blog and portfolio. Astro 6 + React islands + Catppuccin theme. Deployed to Cloudflare Workers (static assets).
bun install
bun dev # http://localhost:4321
bun run build # output to dist/
bun run preview # preview the production build- New post: drop a
.mdfile inposts/with frontmatter (title,date,description,author,tags). It auto-publishes to/posts/<slug>/. - New TIL: drop a
.mdfile intil/with frontmatter (title,date,tags). Auto-publishes to/til/<slug>/. - Mark a post as unpublished:
draft: truein frontmatter. - Images:
public/images/posts/<slug>/foo.png, referenced as/images/posts/<slug>/foo.png.
bun run seo:check # tests wibrow.dev
SITE=http://localhost:4321 bun run seo:check # tests local previewConfig lives in wrangler.jsonc (Worker wibrow-dev, static assets from dist/).
- Pushes to
main: GitHub Actions builds and runswrangler deploy(live). - Pull requests:
wrangler versions uploadpublishes a preview version and comments the preview URL. - Manual:
bun run deploy(builds + deploys from your machine; requireswrangler loginorCLOUDFLARE_API_TOKEN).
Custom domains wibrow.dev and samuel.wibrow.dev are declared in wrangler.jsonc and attached to the Worker on deploy.