
A Fresh Start: Moving My Blog to the Edge
This blog hasn’t had much love in the last few years. I always tell myself that I’ll blog more, but my neurodivergent brain stops me from carving out the time to write more.
Yet, that is what people tell you. Whether it is writing, journaling or blogging. “Do it every day!”
I struggle with that. I’ve tried journaling. I gave the Bullet Journal method a crack. It worked for a while, but eventually I fell off the wagon and never got back on.
I have a Sidekick Notepad on my desk at home, and another still in it’s plastic wrapping. I might have used half a dozen pages of it. Recently it’s just been functioning as a wrist rest.
First, there was next.js
So here we are. It’s already February in 2025, and I’ve re-written my blog again. My previous attempt was using next.js with the posts being pulled from Notion. That worked fine for a while, but I had a few issues with it.
- It needed to “run” 24/7 to function correctly.
- Next’s image processing pipeline only works via API. And it is pretty heavy too. You can’t run it on a 1GB server.
- It would occasionally crash from “too much traffic”. The site is basically static.
- Making changes to the website was complicated.
- It was costing me $10 a month through Fly
Enter, Zine.
Zine is a static site generator like many others before it. However what appealed to me is that it is written in Zig, which has been my language of choice for a few years now. (I’m even doing some professional Zig these days. You can hire me)
It uses a super-set of markdown called SuperMD. As mentioned, my blog posts were getting pulled from Notion, and with notion-to-md, this can continue!
I used Bun (a tool written in Zig, by the way!) to write a script to transform the Notion posts into SuperMD. notion-to-md
has hooks for each of the markdown directives, so overriding those to leverage SuperMD was easy.
With that and a few days of coding, here we are! The CSS is mostly Pico.css with some custom styles thrown in. And the hosting is Cloudflare Pages. I don’t know why their free tier is so amazing, but I’m not complaining!