This is the first post on the new site. The whole stack is intentionally tiny:
- Go for the server: a single static binary, distroless container.
- HTMX for SPA-feel navigation without a Node toolchain or client-side router.
- Markdown files in
content/, compiled to HTML at build time and embedded into the binary alongside the templates and static assets. The runtime never touches goldmark; it just reads pre-rendered HTML out of an embedded filesystem.
When you click between pages the URL updates and only the #content region of the layout swaps. No bundler, no build watch, no SPA framework.
Why this stack
I wanted something I could run from a single small container, edit content with a normal text editor and a redeploy, and not maintain a Node toolchain for. HTMX got me there.
// goldmark runs at build time, not at request time.
md := goldmark.New(goldmark.WithExtensions(extension.GFM))
Coming up
A pixel-art character is on the roadmap. I haven't yet decided what it looks like or how it behaves. The intent is for it to share a sketchpad with my game-studio work (!help), but I'm not committing to a specific design until I've prototyped a couple. Watch this space.
That's it for now. More posts to come.