Blowfish Update#
I had this blog for a long time, but it was stagnating, and I had no motivation to make new posts. Part of the reason was that I couldn’t be bothered to maintain anything too complex, and I had a bad habit of picking complicated Hugo themes (note: Hugo is a static site generator written in Go). Then Hugo would get updated, and everything would break. Eventually, I came across the Blowfish theme developed by Nuno Coração.
I started moving everything to the new blog a while ago, but given this is a pet project, progress was painstakingly slow. I’m happy I finally managed to put it all back together, so I hope to start posting regularly again. I tried this roughly five years ago when blogging was really common, and many data folks had their own websites. In the era of LLM tools, I wonder how useful blogging really is. However, I think there’s something ultimately great about attempting to externalise your knowledge, DIY projects, or just sharing opinions. It leaves something more tangible, and it’s also humbling because you need to put in effort to make it at least somewhat sensible for “a reader” (whoever that is).
Back to the theme. I can’t recommend Blowfish enough—I think it’s really neat, and if you don’t know this theme, I highly recommend you give it a try. It strikes a good balance between customisability and complexity. I don’t have the time to really go deep into Hugo or create my own theme, so I think this is perfect. Importantly, the theme is actively updated and keeps up to date with Hugo versions. For example, as of now, I’m using version “0.147.5”.
Admittedly, I still need to pay attention to some prerequisites. For example, since I run on macOS, I found it safer to install a specific Hugo version by building it from source, as explained here. The problem is that I install most of my software using Homebrew and (because I am lazy), I occasionally let Hugo get updated even when I didn’t mean to. Homebrew doesn’t really allow you to pick the Hugo version you want (unless it was installed previously, I think), so you can end up with a version that’s too new.
So to finish this with a short guide, here’s how to build Hugo from source on Mac:
Simple Guide for Installing a Specific Hugo Version#
Before building Hugo from source, ensure you have:
- Go installed (version 1.21 or later) - I recommend getting it from Homebrew
- A C compiler (Xcode Command Line Tools on macOS) - You probably already have this
- Git
This is largely taken from the official documentation with a few additional notes on using a specific version and making sure it’s installed in your PATH.
1. Install Hugo with Go#
CGO_ENABLED=1 go install -tags extended github.com/gohugoio/hugo@v0.147.5
Note the hugo@v0.147.5
—you can replace it with another version this way. Look at the official GitHub page for specific releases: https://github.com/gohugoio/hugo/releases
2. Add Hugo to your PATH#
Add this line to your shell profile (~/.zshrc
, ~/.bash_profile
, etc.):
export PATH="$HOME/go/bin:$PATH"
Then reload your shell:
source ~/.zshrc # or source ~/.bash_profile
This ensures that Hugo will be accessible from any terminal instance of zsh
you use.
3. Verify the Installation#
hugo version
You should see output like:
hugo v0.147.5+extended darwin/arm64 BuildDate=...
This final step confirms that Hugo is properly installed and accessible.