A Hugo blog — fast, free, hosted on GitHub Pages.
- A GitHub account (free at github.com)
- Git installed on your Mac (already there — check with
git --versionin Terminal) - A code editor like VS Code
- Go to github.com and sign in
- Click the + button → New repository
- Name it
the-static-life(or anything you like) - Leave it Public (required for free GitHub Pages)
- Do NOT initialize with a README (you already have one)
- Click Create repository
Open hugo.toml and change this line:
baseURL = "https://yourusername.github.io/the-static-life/"Replace yourusername with your actual GitHub username.
Open Terminal, navigate to this folder, and run:
cd path/to/the-static-life
git init
git add .
git commit -m "Initial commit"
git branch -M main
git remote add origin https://github.com/yourusername/the-static-life.git
git push -u origin mainAgain, replace yourusername with your GitHub username.
- Go to your repository on GitHub
- Click Settings → Pages (in the left sidebar)
- Under Source, select GitHub Actions
- That's it — GitHub will now use the workflow file to build and deploy
- Click the Actions tab in your repository
- You'll see a workflow called "Deploy Hugo site to GitHub Pages" running
- Wait about 30 seconds for it to finish
- Your site is live at
https://yourusername.github.io/the-static-life/
- Create a new file in
content/posts/— e.g.my-new-post.md - Add this at the top (the "front matter"):
---
title: "Your Post Title"
date: 2024-05-01
tags: ["your", "tags"]
---- Write your post below in Markdown
- Save, commit, and push — your post is live in ~30 seconds
the-static-life/
│
├── hugo.toml ← Site configuration (title, URL, theme, menus)
│
├── content/ ← All your writing lives here
│ ├── _index.md ← Homepage content
│ ├── about.md ← The /about page
│ └── posts/ ← Your blog posts
│ ├── _index.md
│ ├── why-i-left-wordpress.md
│ └── how-github-pages-works.md
│
├── themes/
│ └── minimal/ ← The theme (controls how everything looks)
│ ├── layouts/ ← HTML templates
│ │ └── _default/
│ │ ├── baseof.html ← The shell every page shares (header, footer)
│ │ ├── home.html ← Homepage layout
│ │ ├── single.html ← Individual post layout
│ │ └── list.html ← /posts/ listing layout
│ └── static/
│ └── css/
│ └── style.css ← All the styling
│
└── .github/
└── workflows/
└── deploy.yml ← Tells GitHub how to build and deploy
Change the site title or description → edit hugo.toml
Change colors or fonts → edit themes/minimal/static/css/style.css
Change the homepage layout → edit themes/minimal/layouts/_default/home.html
Add a new page → create a .md file in content/
Add your name and social links → edit the [params] section in hugo.toml