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.