This project demonstrates how to provide automatic build and deploy of a static website starting from a GitHub repository.
Hugo is an open-source static site generator, written in Go: it is flexible and quick, files written in markdown syntax are converted into html and there are a lot of predefined templates called themes. It is very useful when building static sites as personal pages, blogs, documentation resources, company or product pages. For my personal website I used the Refresh theme.
GitHub actions allows you to create pipelines to automate build and release processes. Actions are defined in the repository by creating one or more text files, called workflows. The workflows are event-driven: the execution can be triggered by GitHub events like push and pull requests. A wide Marketplace collects plenty of actions from official sources and from contributors. An event automatically triggers the workflow, which contains one or more jobs. Each job uses steps to control the order in which actions are run. These actions are the actual commands that automate the process.
In this project, a workflow called build and publish has been created, which contains two jobs: