How I Built This Blog
Starting a blog has been on my mind for a while now. Mostly as a place to document things I learn, share tech experiments, and occasionally rant in a structured way. This post is a quick recap of how I set things up technically, in case anyone else wants to do the same (or future me forgets how it all works).
1. Installing Hugo on macOS
First things first: Installing Hugo. Since I’m on macOS, I simply used Homebrew:
brew install hugo
That’s it! Hugo was up and running within seconds - depending on your internet connection, of course.
2. Choosing a Theme: Gokarna
After looking at a bunch of Hugo themes, I settled on Gokarna. It’s clean, minimal, and has just enough features for a personal blog. I like that it supports both light/dark mode and has simple configuration options.
I cloned the theme into the themes/
folder and started adjusting config.toml
to match my content structure and style.
3. Domain & Server Setup
I already had a server ready (a small VPS), so I:
- pointed my domain (via DNS) to the server,
- set up a basic Nginx configuration to serve the static site,
- copied over the generated
public/
folder manually (for now).
There’s no CI/CD pipeline YET, simply because I haven’t had the time to set one up. For now, deploying is just:
hugo
scp -r public/ user@server:/var/www/html/
Yes, it’s manual — but it works.
4. Automating Commands with Just
I don’t like remembering long or repetitive commands, especially when I’m switching between projects. That’s why, like in most of my projects, I added a justfile
to simplify things.
just
is like a modern alternative to make
— lightweight, easy to read, and perfect for small tasks.
Here’s my current justfile
:
# Add a new post
page name:
hugo new posts/{{name}}.md
# Start server locally
start:
hugo server
# Build the site
build:
hugo
5. What’s Next?
- Set up a proper deployment pipeline (maybe GitHub Actions + rsync or Docker).
- Maybe add a contact form, RSS feed polishing, and SEO basics.
Final Thoughts
Starting simple was the right choice. Hugo makes it easy to get a blog up and running without dealing with a full CMS. The Gokarna theme saved me a ton of design time. There’s still a lot to tweak, but I’d rather iterate in public than wait for perfection.
If you’re thinking about starting your own blog, do it! Push the first post. Fix stuff later.