This repository hosts my professional website built with Hugo based on my theme Hugo Claris.
This repository contains a GitHub Actions workflow named Deploy Hugo site to Cloudflare Pages in the file .github/workflows/cloudflare-pages.yaml
. This workflow is triggered on push to either the main or the devel branch.
The workflow builds the website and then deploys it to the Cloudflare Pages project corresponding to the branch.
Git branch | Cloudflare Pages project | Cloudflare domain | Custom domain |
---|---|---|---|
main | heimlicher | https://heimlicher.pages.dev | https://simon.heimlicher.com |
stage | heimlicher-stage | https://heimlicher-stage.pages.dev | https://stage.heimlicher.com |
- Install Hugo and Dart Sass
- Clone this repository
- Install the required Node packages
1. Get [Hugo](https://gohugo.io/overview/installing/) and Dart Sass
Hugo is available in two editions: standard and extended. This website requires the extended edition version 0.121.0 or later.
The theme also requires Dart Sass in version 1.70.0 or later to compile the SASS files of the theme to CSS.
On a Mac with homebrew already installed, you can simply run
brew install hugo sass/sass/sass
This will install the extended edition of Hugo. There is no standard edition in Homebrew, which makes life simple.
git clone https://github.com/simonheimlicher/heimlicher.com.git
cd heimlicher.com
npm install
For development, run
hugo server
To build for deployment, run
hugo
The repository contains the following:
- Content: articles with their associated images
- Assets: assets such as share images
- Configuration: configuration files for all environments (
devel
,test
,stage
,prod
) ofheimlicher.com
.
Under /content/
this repository contains the source of all pages of this website in the form of Hugo Page Bundles, which comprise a Markdown file named index.mx
and associated images.
The directory /assets/
contains only the share images, which are included in the respective sections of the <head>
node for LD+JSON, OpenGraph and
The configuration is primarily contained in the directory config/_default
. The other directories (i.e., devel
, test
, stage
and prod
) contain only configuration that deviates from the _default
.