Context 🧠

The site rabin.blog contains a few posts.

This small blog site, had six different technical architectural iterations since 2017. At first this was a spin-off from my main identity site https://www.ruhanirabin.com to cater to more codes, fixes and hacks that could not fit into more polished publications. Keeping it at WordPress comes with a cost to manage - hosting, pro plugins and so on.

I wanted something simpler, agnostic, and can be managed in the longer term.

I implemented Astro with a WordPress backend - worked perfectly but it is still not agnostic.

So, I looked around, and at the end went with Hugo.

Options 🗳️

  • Use Publii. Implemented before.
  • Keep WordPress; yes, I had 3 iterations of this.
  • Use Astro with WordPress. Implemented in decoupled headless CMS way.
  • Move to Hugo with Markdown files. The simplest of it all.

Decision 🤔

Use Hugo with PaperMod and keep the content in Markdown. This is the simplest, most bare level of content that can be archived and edited even with Notepad. Yes, a bit of technical prowess is needed, but that isn’t an issue with me. 😂

Why ❔

  • The content remains portable. Simple Markdown files with Frontmatter.
  • PaperMod is clean and optimized.
  • Editing does not depend on a database.
  • The site has a small content set.
  • The operating overhead is significantly lower.
  • Hugo is a well-proven platform with excellent performance.
  • Ability to host it for free, on Vercel, Netlify or Cloudflare Pages. The static site can be hosted anywhere that supports HTML, CSS, JS, etc.

Trade-offs 🪫

  • Theme customization requires some development work.
  • There is no conventional visual editor. True, but I already figured out the full workflow visually with Obsidian and a few plugins.
  • Media organizations must remain disciplined. Also, quickly figured out

How did I escape the trade-offs? 🏃‍➡️

  • Theme customization development work. The core PaperMod is already sufficient for the job. Besides some static data like icons and OG images, there is not too much to change at the code level. I did customize it a tiny bit anyway.
  • I already figured out the full workflow visually with Obsidian and a few plugins.
  • Media organizations also quickly figured out; how to use the Obsidian image management plugin.

Hosting ☁️

  • My content stays in a private repo in GitHub and is served automatically via Cloudflare Pages. Both, for free. 😊

Outcome 😉

  • A tremendously simple, fast, easy-to-read blog with great typography with a minimal amount of fuss.
  • I can edit it via Obsidian or Notepad, is not critical; at the end, it is just Markdown files which are like extended text files.