A few weeks ago I came across a post about recommended static site generators. I decided to reevaluate my previous choice for a blog engine. I’ve used Jekyll and Gatsby.js before, now I wanted something new.

I used Jekyll for my first theme only because at that time (without github actions), it was the simplest way to push content into github pages from a repo without buildng it on my machine.

Hugo PaperMod

Many people recommended Hugo.go, I decided to give it a try. After browsing for a while in the themes Papermod caught my eye. It has a similar minimalistic vibe, as my previous site, but also has many embedded features out of the box. 🎉

Previous header

I forked it and started to tweak it, to keep the features I liked in my previous page.

My first impression is that hugo is really blazing fast.

Templating

It took me some time to figure out the logic behind the templating. I spent the most time with the social icons, to keep the feature, that I only need to specify the username, and it uses the proper icon AND the proper URL. Later on I got so confident in this strange syntax, I even implemented inverse logarithmic scale coloring for tag numbers, so small differences stand out more than with a simple linear scale.

SVG icons

I had some extra logic to be able to modify svg icons separate from the code, I just needed to replace a few lines of code, to make it work.

I hopped on the chance to add svgo to the mix, to generate optimized svg-s to the site, no matter what I save in my folder.

Deployment

For deployment Jekyll has first level support from github. Github actions has templates for hugo deployment, it works just fine.

It kept me thinking what I did wrong when I got a 404 in the first deploy. peaceiris/actions-gh-pages@v3 by default pushes to a separate gh-pages branch, and I needded to adjust my repo settings, to load github pages from that location.

New features

I dedicate this chapter to the new features I love in PaperMod, that I did not have before.

  • sexier typography, nice looking components
  • cover images
  • scroll to top button
  • quick search
  • autodetect or switch between dark mode/lightmode
  • read time for posts
  • emoij parser
  • paginated view for all posts
  • post archive
  • tags / show posts by tags
  • embed shortcodes (components) into markdown

New look and feel in dark mode

I hope you like the new look and feel as much as I do.

Happy coding!