Hugo - Static Site Generator Deficiencies
I’ve been using the static website generator Hugo for quite a while now.
It’s definitely been an improvement against other systems, but there are quite a few things I repeatedly stumble over, and get frustrated by.
Unfortunately, I have not found a suitable, better alternative yet.
Being programmed in the Go programming language, the binary is self-contained, reasonably small (54 MB in extended version), and reasonably fast. Unfortunately, some text template, formatting, command piping dialects bleed into the Hugo system. Which would not be a good thing it working with them were intuitive or easily discoverable.
The leaf vs branch bundle with different behavior is sometimes surprising when they behave differently or do not support some settings, while the other does.
The split into layout templates and content files is often annoying, hindering too. Rather than being able to implement what I want, I often have to split stuff up, but keep it inter-dependent anyway. Which does not really help working with it.
Sorting pages in a list template by more than one property seems impossible. Sorting by one page parameter works, but combinding them with other secondary parameter sorting ends up breaking and sorting only be the last sort order.
I love that SCSS is integrated. If TypeScript support were included that would be a big improvement too. Unfortunately, the lack of being able to modularize and reuse components between html, css and js is a bit frustrating.
I’ve had to invest a lot of time many times to debug issues or get something implemented in a fine way. Sometimes having to implement workarounds.
It’s still my go-to tool when implementing websites though.