This site

A project for static site hosting ja.mesmontgomery.co.uk .

Hugo

Motivation

I’ve wanted to experiment with a Hugo based static site for some time now. I’ve also started exploring Google Cloud Platform in recent times. Initially choosing to host on Google Firebase allowed me to evaluate another Google service whilst also learning Hugo. In order to dual stack with AWS, I’ve incorporated Git into my workflow to utilise AWS Amplify via AWS CodeCommit.

Getting to here

Site Hosting

This site is dual hosted on Google Firebase and AWS Amplify with discrete URLs.

HTTP redirection to HTTPS is enabled.

Redirection of aliases

The following redirections are configured at the Firebase level:

  • mesmontgomery –> ja.mesmontgomery.co.uk

HTTP redirection to HTTPS is enabled on the alias.

Site Configuration

First of all, a big shout to the authors behind the theme I’ve based the site on - the Future Imperfect theme. I’ve tweaked it to my taste in the following ways:

  • Social sharing buttons for Twitter/Reddit/LinkedIn
  • Menus
    I’ve reduced the number of options to fit the purpose of a project site. The Itemised section is specifically re-used for persistent project pages that get updated in place.
  • Sidebar content
    I’ve elected to place my social network links in one place at the top of the bar. I’ve also removed the “about” section in favour of the top of a site menu item.

I’m not a complete stranger to Markdown however I’ve needed a primer/go-to resource. I can’t recommend this post enough for learning Markdown.

Syntax highlighting

I’m enabled PowerShell highlighting via the following config.toml change:

highlightjsLang = ["PowerShell"]

And almost immediately after writing that and trying to mark the above as TOML for highlighting I had to get the missing TOML language and update the config file again:

highlightjsLang = ["PowerShell","toml"]

Adding a table of contents to a Hugo post

I’ll admit this was more work than I expected. I started initially trying to create the links myself and sought an automatic way. You can find the post leading me to the current solution.

My shortcode content file contains:

<h1 id="table-of-contents">Table Of Contents</h1>
{{ $.Page.TableOfContents }}

Favicon

For a long time I wasn’t going to set a favicon- but whilst chasing down speed phantoms I elected to produce one to rule out the delay in discovering a favicon.

www.favicon-generator.org

The pack of files it produces covered virtually every scenario. Based on the favicon cheatsheet I copied apple-icon-precomposed.png to apple-touch-precomposed.png to cover all bases.

Relevant posts

Acknowledgements

I’d like to credit the following people and the resources they make available online to help others including myself: