A personal blog built with Hugo static site generator, featuring the minimalistic Mini theme.
- URL: https://blog.hgaard.com/
- Generator: Hugo v0.151.0+
- Theme: hugo-theme-mini (actively maintained)
- Deployment: GitHub Pages (output to
/docsdirectory)
-
Hugo (v0.151.0 or later)
brew install hugo
git clone https://github.com/hgaard/blog.hgaard.dk.git
cd blog.hgaard.dkStart the Hugo development server:
hugo serverThe site will be available at http://localhost:1313 with live reload enabled.
To include drafts in the development server:
hugo server -Dhugo new blog/my-new-post.mdThis creates a new post in content/blog/ with the following front matter:
---
title: "My New Post"
date: 2025-10-14
draft: true
---content/
├── about.md # About page
├── blog/ # Blog posts
│ └── *.md
├── drafts/ # Draft posts
│ └── *.md
└── images/ # Images for posts
Each blog post should include front matter at the top:
---
title: "Post Title"
date: 2025-10-14
draft: false
slug: "post-title"
description: "Brief description of the post"
---Build the site for production (outputs to /docs directory):
hugo --gc --minifyOptions:
--gc: Run garbage collection after build--minify: Minify the output HTML, CSS, and JS
hugo --gc --cleanDestinationDirSite configuration is managed in config.toml:
- Site settings: Title, base URL, language
- Theme settings: Colors, syntax highlighting
- Navigation: Menu items, about/resume links
- Analytics: Google Analytics, Disqus comments
- Social links: Twitter, GitHub, LinkedIn (supported: GitHub, Twitter, LinkedIn, Facebook, StackOverflow)
The Mini theme is installed as a git submodule in themes/mini/. Key customization points:
- Configuration: All theme settings in config.toml
- Custom CSS/JS: Use
customCSSandcustomJSparameters - Layouts: Override by creating matching files in root
layouts/directory - Theme Repository: https://github.com/nodejh/hugo-theme-mini
To customize the site appearance:
- Add custom CSS files to
static/css/and reference inconfig.toml - Override theme layouts by creating matching files in root
layouts/directory - Modify
config.tomlfor colors, navigation, and features
This site uses GitHub Pages for hosting. The build output is in the /docs directory.
-
Build the site:
hugo --gc --minify
-
Commit and push changes:
git add . git commit -m "Update blog" git push origin master
-
GitHub Pages automatically serves content from the
/docsdirectory
.
├── archetypes/ # Content templates
├── content/ # All site content
│ ├── about.md
│ └── blog/ # Blog posts
├── docs/ # Hugo build output (GitHub Pages)
├── themes/ # Hugo theme
│ └── hugo-cactus-theme/
├── config.toml # Site configuration
└── README.md
| Command | Description |
|---|---|
hugo server |
Start development server |
hugo server -D |
Start server including drafts |
hugo new blog/post.md |
Create new blog post |
hugo --gc --minify |
Build for production |
hugo config |
Display site configuration |
hugo version |
Show Hugo version |
If you encounter build errors after updating Hugo:
- Check Hugo version:
hugo version - Review deprecated features in Hugo release notes
- Test build locally before pushing:
hugo --gc
The Mini theme has been updated for Hugo v0.151.0 compatibility. If you encounter issues:
- Ensure you're using Hugo v0.151.0 or later
- Update the theme submodule:
git submodule update --remote themes/mini - Review the Hugo documentation
- Theme Status: Using hugo-theme-mini, actively maintained as of 2024-2025
- Theme Update: Update via
git submodule update --remote themes/mini - Hugo Version: Keep Hugo updated via
brew upgrade hugo - Dependencies: This project has no external dependencies beyond Hugo itself
- Old Theme: The original hugo-cactus-theme has been replaced. Backup available in
config.toml.backup
Content copyright © Jakob Højgaard. Theme licensed under MIT.