Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

8 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Harry Mills - Personal Website

Build And Deploy Hugo FixIt Theme GitHub Pages License

This is the source code for my personal website, built with Hugo and hosted on GitHub Pages.

๐ŸŒ Live Site: harry-mills.com

About

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.

Tech Stack

  • Static Site Generator: Hugo
  • Theme: FixIt
  • Hosting: GitHub Pages
  • CI/CD: GitHub Actions
  • Domain: Custom domain via GoDaddy

Prerequisites

Before you can build this site locally, you need:

  • Hugo (v0.124.0 or later)
  • Git
  • A text editor (VS Code, Sublime Text, etc.)

Getting Started

1. Clone the Repository

git clone https://github.com/yourusername/testsite.git
cd testsite

2. Initialize Theme Submodule

The FixIt theme is included as a Git submodule. Initialize it with:

git submodule update --init --recursive

3. Install Hugo

If you haven't already, install Hugo:

macOS (using Homebrew):

brew install hugo

Windows (using Chocolatey):

choco install hugo-extended

Linux (using Snap):

snap install hugo

For other installation methods, see the official Hugo installation guide.

4. Run the Development Server

Start the local development server:

hugo server

Or with draft content visible:

hugo server -D

The site will be available at http://localhost:1313

The server will automatically reload when you make changes to content or templates.

Deployment

This site uses GitHub Actions for automated deployment. When you push to the main branch:

  1. GitHub Actions triggers the workflow (.github/workflows/hugo.yml)
  2. Hugo builds the site
  3. The site is deployed to GitHub Pages
  4. Changes are live at your custom domain

Custom Domain Configuration

The custom domain is configured via:

  1. The GitHub repository settings (Settings โ†’ Pages โ†’ Custom domain)
  2. DNS settings in GoDaddy (A records and CNAME)

GitHub automatically manages the CNAME file when you configure the custom domain in repository settings.

Theme Customization

To customize the theme:

  • Edit hugo.toml for 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

Updating 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 push

License

The content of this site is my own. The FixIt theme is licensed under the MIT License.

Contact

For any questions or issues, please open an issue on GitHub or contact me through my website.

About

Personal Site - Created with Hugo ๐ŸŒ

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages