A Developer In The mountains having fun

A real life comparison of top Static Site Generators.

As a senior programmer I have often had need for simple documentation stratigies. A small website, internal or otherwise have often been needed, especially with the use of markdown files to make editing and adding documentation even easier. Since the sites often have to be put up in a hurry and don't require any dynamic content, static site generators are a perfect solution.

Three different solutions have stood out to me in the recent past that I have dabbled in. The first I used was GatsbyJS. This had me intrigued not only because its ReactJS based but because of my love for the book it's name is based on. When I first used it, it was before they switched to using GraphQL, I believe it was a late beta version. I found it easy to use and quick to get started with. I ran into some major issues when updates came through and again when they switched to GraphQL. I did end up switching that site to the new version. However when it broke again a few updates later, I grew annoyed at it for taking more work then I wanted to stay up-to-date with their changes.

I was just learning GoLang around that time. I decided to take a look at HUGO, a well touted open source static site generator that uses GoLang. First thing that struck me when using HUGO was that experience with GoLang wasn't required or even really useful for setting it up. The speed of compiling was unparelled with anything else I had looked at and the stabilty of updates were very good. There are a lot of good themes avilable and mainly writing pages for this is just plain markdown with some front matter and shortcodes if you want.

I had looked at Next.js before (when it was fairly new) but one day after a major update, a Twitter post had me looking at it again. It seemed to have grown up a lot. I wanted to look at it for possible use on projects that were coming up, so I decided to just hop in and use it for a new personal site. With few annoyances and a lot of convenience, I found it easy to setup and useful for static site generation for the type of documentation sites I often have need of.

GatsbyJS has advanced a lot since the last time I set up a new site with it. I believe it to be much more resilient today than it used to be but I have grown rather fond of NextJS. Both NextJS and Gatsby are based on NodeJS and React, so in many ways there is little differences at first look. The setup and maintenance are where they are really different.


GatsbyJS — Easy start, confusing configuration, and troublesome updates.

GatsbyJS was my first introduction to GraphQL and while it does make the ability to querry data flexible and powerful, it is also much more complicated for people unused to GraphQL. For static sites I believe that being that complicated is just unnessary.

HUGO — Extremely fast builds, not a SPA, and easy to use, centred around markdown.

HUGO was a joy to use and easy to setup. Since it is only designed for creating static sites the configuration was easy and strightforward. This would be an excellent choice for someone that doesn't have javascript experiance or even any programming experiance. I ended up stopping using it only because working with React on a day-to-day basis anyhow this seemed limited to me.

Next.js — Quick start, good defaults, and incomplete static pages documentation.

Next.js is designed for SSR first and foremost, although it can be configured for static page output. This is where some documentation is a bit lacking or hard to find in my opinion. Once set up though it seems to work well and is easy for anyone with React background to deal with. Updates to new versions of Next.js have seemed to go smooth for me thus far at least.

bearclaw — fast and easy website generator for markdown documentation

github site

Other Articles for further reading

log rocket article on comparing Astro to Next.js

More places to find me
follow me on Mastodon