The tool set for the blog
ℹ️ Is this for you?The setup for this blog is minimal, but reproducing it requires some technical interactions. If you’re familiar with Git, Markdown, and have experience working on a Linux terminal, you should manage well.
Hugo
I opted for a statically generated site, having had enough fun configuring WordPress blogs in the past. I don’t need a comments section for now (more on that another time).
I wanted to avoid another SaaS solution or service, primarily for flexibility without a paywall.
I considered using a Notion site since I frequently use it, but I didn’t want to lock my content into their ecosystem.
So, I explored static site generators. Enter: Hugo. Hugo builds fast static pages based on Markdown, and I already have most of the necessary tools set up:
- A text editor
- A hosting solution, or so I thought.
Poison
I didn’t want to spend time designing the entire site. Hugo offers a wide range of themes.
Poison appealed to me with its minimalistic, text-focused layout and minimal prerequisites, while still being flexible enough for future ideas.
VS Code with LanguageTool Extension
As an editor I use “VS Code” - it’s my go to code editor, relatively light weight with many extensions and integrations, and it’s free. I think it’s a great tool for writing, as it’s very customizable and has many features to help with writing. For example, I recently discovered its Zen mode (Ctrl+K Z
), which hides all the distractions when I just want to focus on writing.
- VS Code
- LanguageTool extension
💡 What about AI writing support?One of the goals for this blog is also to make myself write. So I try to resist to use AI (LLM) generated content. But I use AI as an editor, and ask it to make suggestions on how certain parts can be improved. For that I use the (currently free) Codeium plugin for VS Code. It is intended for writing code, but it’s integrated chat can handle normal text very well. I enter a sentence or two and ask for suggestions. It’s been quite useful so far.
Hosting
Initially, I considered hosting on Digital Ocean, as I already have a web server there for other projects (stormpix.net, Hogan & Bradbury, etc.).
However, I was interested in finding a solution that didn’t require manual configuration. A quick search revealed that Cloudflare (which I also use for other projects) offers a way to build and host static sites directly.
The experience of activating Cloudflare Pages to build the site from the GitHub repository and display it under a new subdomain was seamless. The provided documentation covers all essential aspects.
Currently, the services I use are:
- GitHub for hosting the site’s repository
- Cloudflare Pages
Cloudflare’s free plan includes 500 builds of the page per month - which should be plenty, since I am the only author and will not publish more than every few days.
Caveats I Encountered
- Hugo themes need to be installed as Git submodules. The Poison theme documentation suggests cloning it, which initially works but breaks when building the site on Cloudflare. More details can be found here.
- Pages are still accessible under the pages.dev URL. This is a known issue that can be resolved with bulk redirects. Currently, all URLs point to the correct domain or are relative, so this shouldn’t be an issue as long as I don’t link to the pages.dev URL anywhere.
Final Thoughts
The setup is now exactly as I want it, with minimal maintenance and upkeep costs. The process requires some technical knowledge to set up and maintain, but there’s ample documentation to cover the basics.
VS Code with the LanguageTool extension is effective for editing content, and publishing a change usually takes less than a minute after pushing the changes.
With Cloudflare and a static website, I don’t worry about security, upgrades, etc. Nothing beats the speed of an edge/CDN-hosted static website, and with the repository on GitHub, everything is nicely versioned.
📖 References