This is the source code for my personal website, built with Hugo and hosted on GitHub Pages.
๐ Live Site: harry-mills.com
After years of managing a self-hosted WordPress site with all its complexity, updates, and hosting costs, I switched to Hugo for a simpler, faster, and free solution. This static site is automatically deployed to GitHub Pages whenever changes are pushed to the main branch.
- Static Site Generator: Hugo
- Theme: FixIt
- Hosting: GitHub Pages
- CI/CD: GitHub Actions
- Domain: Custom domain via GoDaddy
Before you can build this site locally, you need:
git clone https://github.com/yourusername/testsite.git
cd testsiteThe FixIt theme is included as a Git submodule. Initialize it with:
git submodule update --init --recursiveIf you haven't already, install Hugo:
macOS (using Homebrew):
brew install hugoWindows (using Chocolatey):
choco install hugo-extendedLinux (using Snap):
snap install hugoFor other installation methods, see the official Hugo installation guide.
Start the local development server:
hugo serverOr with draft content visible:
hugo server -DThe site will be available at http://localhost:1313
The server will automatically reload when you make changes to content or templates.
This site uses GitHub Actions for automated deployment. When you push to the main branch:
- GitHub Actions triggers the workflow (
.github/workflows/hugo.yml) - Hugo builds the site
- The site is deployed to GitHub Pages
- Changes are live at your custom domain
The custom domain is configured via:
- The GitHub repository settings (Settings โ Pages โ Custom domain)
- DNS settings in GoDaddy (A records and CNAME)
GitHub automatically manages the CNAME file when you configure the custom domain in repository settings.
To customize the theme:
- Edit
hugo.tomlfor configuration changes - Add custom CSS in
assets/css/_custom.scss - Override theme layouts by creating files in
layouts/with the same structure as the theme
To update the FixIt theme to the latest version:
git submodule update --remote themes/FixIt
git add themes/FixIt
git commit -m "Update FixIt theme"
git pushThe content of this site is my own. The FixIt theme is licensed under the MIT License.
For any questions or issues, please open an issue on GitHub or contact me through my website.