Skip to content

attajak/hugo-fixit

Repository files navigation

Hugo FixIt Blog Template (Go)

👉 English | 简体中文

This is a quick start template for Hugo theme FixIt. It uses Hugo Modules feature to load the theme.

It comes with a basic theme structure and configuration. GitHub action has been set up to deploy the blog to a public GitHub page automatically. Also, there's a cron job to update the theme automatically everyday.

Directory structure

▸ .github/       # GitHub configuration
▸ archetypes/    # page archetypes (like scaffolds of archetypes)
▸ assets/        # css, js, third-party libraries etc.
▸ config/        # configuration files
▸ content/       # markdown files for hugo project
▸ data/          # blog data (allow: yaml, json, toml), e.g. friends.yml
▸ public/        # build directory
▸ static/        # static files, e.g. favicon.ico
▸ themes/        # theme submodules
▸ go.mod
▸ go.sum

Quick Start

For a complete quick start, see this page.

Prerequisites

  • Go
  • Hugo: >= 0.132.0 (extended version)

Use Template

  1. Click Use this template, and create your repository on GitHub.

    image
  2. Once the repository is created, just clone and enjoy it!

    # Clone with your own repository url
    git clone --recursive https://github.com/<your_name>/<your_blog_repo>.git

Launching the Site

# Development environment
hugo server
# Production environment
hugo server -e production

Build the Site

When your site is ready to deploy, run the following command:

hugo

Update Theme

Afterwards you can upgrade the theme with the following command:

# Update theme manually
hugo mod get -u github.com/hugo-fixit/FixIt@latest
hugo mod tidy
Start via NPM script
# build the blog
npm run build
# run a local debugging server with watch
npm run server
# run a local debugging server in production environment
npm run server:production
# update theme submodules
npm run update:theme

Troubleshooting

remote: Permission to git denied to github-actions[bot]. Head to Setting => Actions => General => Workflow permissions => Check "Read and write permissions".