Blogging with Hugo and GitHub Pages

In this lesson, you will be lead through the creation of your own website, hosted on GitHub Pages and built with Hugo. You can see an example of the author’s site linked below.


This lesson does require some technical skill and familiarity with a few intermediate concepts. Users are expected to be:

See the Discussion section to understand why this lesson will use the terminal and Hugo, compared to GitHub Pages’ built-in Jekyll templates.

You can also follow along with the YouTube video below. It’s quite fast so feel free to pause and rewind as much as you need!


Setup Download files required for the lesson
00:00 1. Create and Setup your blog repository on GitHub How do we set up a GitHub repository for blogging?
00:11 2. Locally setting up our blog site with Hugo How do we get a local copy of a GitHub repo?
How do we initialise a blog site using Hugo?
How do we add and configure a theme for our site?
00:27 3. Push our Hugo site to GitHub How do we save and track our local changes in git?
How do we send our changes to our GitHub repository?
How do we open and merge a Pull Request?
00:33 4. Automating Website Deployment What is Continuous Deployment and what does it mean in the context of our site?
How do we enable GitHub Actions on our repository?
What needs to go into a GitHub Actions workflow to enable Continuous Deployment of our site?
00:48 5. Generating Blog Content How do we add a profile picture to our blog site?
How do we create a new blog post with Hugo?
What frontmatter does Hugo create for posts?
How do we embed external content into our posts?
00:59 6. Closing Remarks What have we learned?
What are the next steps?
01:02 Finish

The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.