The 'dwmkerr.com' website content and setup. Static site managed with Hugo.
Code, articles and utilities for the dwmkerr.com website.
This is the code for the dwmkerr.com website. It is a static site build from a repository hosted at github.com/dwmkerr/dwmkerr.com generated with Hugo.
The RSS feed is published to dwmkerr.com/index.xml.
To get started, clone the repo, run make serve
to install dependencies and make serve
to serve locally:
git clone [email protected]:dwmkerr/dwmkerr.com
make setup
make serve
The structure of this project is:
Folder | Usage |
---|---|
_wip |
Work in progress articles and ideas. |
dmwkerr.com |
The actual Hugo website |
scripts |
Helper scripts. |
makefile |
A makefile to build the site, run locally, etc. |
This website uses the Hugo static site generator. For the details of why Hugo was chosen, see my article Migrating from Ghost to Hugo - Why Bother?.
When a new release of the theme needs to be used, update the submodules with:
git submodule update --init --recursive --remote
The site uses the hugo_theme_pickles theme. If customisations are needed, it can be forked and then the theme switched:
To update this theme, use the following command.
git submodule add -b release [email protected]:mismith0227/hugo_theme_pickles.git dwmkerr.com/themes/hugo_theme_pickles
And update the config.toml
to use this theme. Then pull request back into upstream, and when the changes are in the mainline move back to the mainline theme
Check the available makefile
recipes with make help
.
To setup your local environment work on the site, run:
make setup
Then serve the site in development mode with:
make serve
The site can be built with:
make build
# The built site is in the public folder below.
# dwmkerr.com/public
Pull requests are validated with the 'Pull Request' pipeline. When a merge to main
occurs, the 'Release Please' pipeline runs, creating a pull request used to trigger a deployment and update the version number and changelog.
The address of the deployed site is:
https://dwmkerr.github.io/dwmkerr.com/
A public domain name routes to this address.