← Blog

Hello, world

Welcome to the new blog. This is an example post — edit it, delete it, or copy it as a template for your own.

What changed

This site used to be a handful of static HTML files exported from pandoc and served off a Debian VPS. The VPS got flagged as part of a botnet, so I tore it down and moved everything to Cloudflare Pages. While I was at it, I rebuilt it on Astro so I can write these posts in Markdown.

How to write a post

  1. Create a new file in src/content/blog/, e.g. my-first-post.md.

  2. Add the frontmatter at the top:

    ---
    title: "My first post"
    pubDate: 2026-07-01
    description: "A short summary for the blog index and RSS feed."
    tags: ["product", "self-hosting"]
    ---
  3. Write the rest in Markdown. MDX is also supported if you want to embed components.

  4. Run npm run dev to preview locally, then npm run build to produce dist/ for Cloudflare Pages.

That’s it — the post shows up on /blog, gets an RSS entry, and is added to the sitemap automatically.

A note to self: the homepage is just src/pages/index.md — edit it in plain Markdown too.