drud.is

Publishing like you care

This is not a blog, just notes I take. A blog carries some expectation of regularity, engineering notes don’t. Yet, like a blog, I need a place to host them —— a “hosting platform.”

Here are my seemingly impossible requirements:

Blogging framework

I went with Hugo after reading this.
Setting it up and behaving the way I wanted was a bit painful, but bearable. Once set up, it’s very easy to publish. You just create a markdown file and push it to your git repo.

I found great examples with source code at https://github.com/veekaybee/veekaybee.github.io (Vicki Boykis) and https://github.com/janraasch/janraaschcom (Jan Raasch).

Going Hostless

Vicki chose GitHub Pages for publishing, but you either pay or have to make your repo public. Jan used Netlify, but I’d rather not sign up to yet another service.

I’m going with GitHub (private repo) + Cloudflare. I already use both companies and love their products.
My first try was using R2, Cloudflare’s drop-in replacement of S3. The free tier is more than enough for this. The idea was building the Hugo site (which generates static html), and then upload it to R2 with GitHub Actions. Connect the R2 bucket to my domain and call it a day. It all worked but you had to access it through https://{domain}/index.html; https://{domain} alone wouldn’t work. Deal breaker.
This looks solvable with enough digging, but I finally went with Cloudflare Pages, which seems custom made for this. You don’t even need to setup GitHub actions, it just connects to your private repo and does its magic.

That’s how I got 4/4 out of my requirements satisfied. Hooray!