Motivation

Someone came up to me and said, “Let’s make some blogs!” At first, my reaction was …

aufkm

Ok, then, to do that, my instinct was to run the other way. Anything to avoid being trapped in the world of WordPress themes or WIX wizardry. Instead, I dusted off my terminal, grabbed a cup of cocoa, and dove into Hugo-a lightning-fast static site generator that lets me control every pixel. For hosting, no pricey managed platforms, just a trusty Microsoft Azure Blob Storage account, letting me deploy and update with just a push. Now, my blog is blazing fast, totally customizable, and blissfully free of cookie-cutter templates. Who knew building websites could actually be empowering (and kind of fun)?

This tutorial guides you through creating a blog using Hugo, a fast and flexible static site generator, and deploying it with Microsoft Azure Blob Storage.

Prerequisites

  • Install Hugo
  • Install Git
  • Have an active Microsoft Azure account with Blob Storage setup
  • Basic command-line and text editor familiarity

Install Hugo Tips

With snap (for Ubuntu)

To install Hugo with snap, run:

sudo snap install hugo

With mamba (miniforge system)

Personally, I prefer using mamba for package management across multiple-projects. Because it’s much faster and less prone to dependency resolution issues. Also, if you’re working in a commercial or government environment, don’t install Anaconda unless your organization has actually purchased a license—otherwise, you could be violating terms of use. Community packages like mamba are free for anyone to use without commercial restrictions.

To install Hugo using mamba CLI starting from creating a conda environment, you can follow these steps:

Create a new conda environment:

mamba create -n hugo_env -y

Activate the new environment:

mamba activate hugo_env

Install Hugo using mamba from the conda-forge channel:

mamba install -c conda-forge hugo -y

This sequence sets up a mamba environment and installs Hugo efficiently.

Create a New Hugo Site

Open your terminal and run:

hugo new site mlablogs
cd mlablogs
git init

This sets up a fresh Hugo project.

Add a Theme

Choose a theme from the Hugo themes repository. For example, add the Ananke theme:

git submodule add https://github.com/adityatelange/hugo-PaperMod.git themes/PaperMod
echo 'theme = "PaperMod"' >> config.toml

You can find more themes on here. You can also change the theme later by editing config.toml, and don’t forget to verify your submodules in .gitmodules if you need to remove or add more themes.

Add Content

Create your first blog post:

mkdir -p content/posts/hello-hugo
nano content/posts/hello-hugo/index.md

Edit this Markdown file and add your text.

+++
date = '2025-11-03T12:00:00+09:00'
draft = false
title = 'Hello Hugo'
+++

## Hello Hugo!

Hello Hugo!

Preview Locally

Run:

hugo server

Visit http://localhost:1313 to see your site live locally.

result1

Very simple, isn’t it?

Build the Site

Generate static files:

hugo

Static files output to the public directory.

Deploy to Azure Blob Storage

  • Create a Blob Storage container in Azure Portal and set it for static website hosting.
  • Use Azure CLI or Azure Storage Explorer to upload the contents of the public folder to the $web container.
  • Configure your storage account’s static website endpoint as your site URL.

There you have it

There you have it. Now you know it… no refunds if it stops working!