Over the last weekend I watched some videos and read some websites to gather information about static site generators. This topic is quite fascinating. I already had some experience with Jekyll and Sphinx, because I wanted to try GitHub Pages and Read The Docs respectively. Sphinx is a real monster - I can tell you that! I was not familiar with python and that’s why “Read The Docs” had a steep learning curve. Jekyll had a much simpler documentation but the best tutorial is already seven years old! The funny thing is, this tutorial still holds up.
Not So Static Site Generator
I found a video with the title “How to choose your static site generator”.
So I was introduced to Gatsby.
This SSG is not really generating static sites.
They even wrote “The static dynamic site generator for dynamic web developers” on their website.
You also have to know React1 and JavaScript.
I know neither of them.
Back to the roots?
With Jekyll and Sphinx I could use Markdown to create my sites or documentation. Markdown is easy to learn and widely used. If there are any questions related to Markdown, the answer will not be hard to find. This is why I looked into Jekyll - again. Jekyll is based on Ruby, which is a programming language in massive decline. I did not want to use an SSG, which may lose its support because nobody wants to use Ruby anymore. Maybe GitHub Pages manages to keep Jekyll alive.
The choice was HUGO
HUGO is easy to install even on Windows. I use chocolatey as package manager and HUGO is available there. The tutorial series from Mike is well thought out and easy to follow. Setting up a basic site, is a question of minutes. I chose a theme, created some test files with Markdown and immediately got an appealing result. I just made some minor CSS-tweaks and I am happy now with my new website. I still got to learn more about HUGO and surely it was helpful that I know a little HTML and CSS, but in the end this was a good choice.
A minor disadvantage is that every theme may behave differently. So be aware that the usage may vary between themes or even theme versions.
-
React is a JavaScript library for building user interfaces. ↩︎