Summary and Schedule
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.
Prerequisites
This lesson does require some technical skill and familiarity with a few intermediate concepts. Users are expected to be:
- Comfortable with the command line (try the UNIX Shell Software Carpentry lesson)
- Familiar with some basic
git
workflow commands (try the Git Novice Software Carpentry lesson) - Familiar with testing and continuous integration concepts (try this testing and continuous integration Software Carpentry lesson)
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 Instructions | Download files required for the lesson | |
Duration: 00h 00m | 1. Create and Setup your blog repository on GitHub | How do we set up a GitHub repository for blogging? |
Duration: 00h 11m | 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? |
Duration: 00h 27m | 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? |
Duration: 00h 33m | 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? |
Duration: 00h 48m | 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? |
Duration: 00h 59m | 6. Closing Remarks |
What have we learned? What are the next steps? |
Duration: 01h 02m | Finish |
The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.
To prepare for this lesson you will need the following tools installed:
- A GitHub Account
- You can sign up for free
- A terminal
- Linux
- Mac
- Windows: Linux
Bash (preferred), Command
Prompt
- If using the command prompt, some of the commands I use below will be different and you may wish to consult this cheatsheet
-
git
version control- Installation guide for all three Operating Systems
- Follow this
guide for one-time
git
setup the first time you use it
-
hugo
- Installation guide for all three Operating Systems
- If you are installing on Linux, see the below section on installing the most recent version.
- A text editor of your choice! Examples:
- VSCode
- nano
- gedit
- Notepad++
- emacs
- vim
Installing the most recent version of Hugo on Linux
When running sudo apt-get install hugo
this does not
always install the most recent version of hugo. If you find this is the
case, you can try the following steps.
Go to https://github.com/gohugoio/hugo/releases and find the latest release
Download the
.deb
file for Linux according to your architecture. This is most likely the file that ends_Linux-64bit.deb
.Once downloaded, run the following commands to install this version.
- Check the version has installed
- Clean up the
.deb
file