How to Build a Personal Static Blog With Hugo

Introduction

Nowadays, many creators and developers choose static site generators over traditional dynamic blogs. Hugo stands out for its lightweight performance. Unlike WordPress, Hugo doesn’t require a database. It runs with zero server maintenance.

In this article, I will share my complete workflow for building a personal blog using Hugo. The guide covers local setup, theme configuration, basic content writing, and final deployment preparation.

Local Setup

First, install Hugo based on your operating system. To download it, you can visit: https://github.com/gohugoio/hugo

Next, run the following command to create a new Hugo site:

hugo new site (your site name)

Then copy the Hugo binary to the project folder and navigate into the project directory. You can run the following command to preview your blog:

hugo server

Theme Configuration

You can choose your favorite theme from Hugo Themes

I will use version 4.0.3 of the Stack theme as an example.

First, extract the theme archive into the themes folder. Make sure all contents are placed inside a new subfolder. Next, delete the default hugo.toml configuration file and the default content folder in the root project directory. Then, copy the hugo.toml file and the content folder from the theme directory to the project root. Ensure the path value in hugo.toml matches your theme folder name.

After that, you can customize other configuration parameters in hugo.toml according to your needs.

Third, remove some unnecessary default content files.

Write Your First Blog Post

Creating new posts in Hugo is extremely straightforward. Use the built-in command to generate a new Markdown file:

hugo new content post/(title)/index.md

Each article contains front matter for metadata including title, date, tags, and draft status. Set draft: false to publish the content officially.

Final Build & Deployment

This step is simple. When your settings and content are ready, use the command to build the final static site files:

hugo

Then, you can upload these static files to your server for online deployment.


© 2026 Andrew Hale, licensed under CC BY-NC 4.0.

Commercial use without written permission is prohibited.

Built with Hugo
Theme Stack designed by Jimmy