I mostly use it at a backend for blogdown but it is useful for other sites.
- fast (build times are quick)
- compact (does not install hundreds of megabytes of crap when you run it like most node.js-based ones)
- powerful shortcodes to do formatting stunts
- deep integration of markdown processing
- many community plugins
- documentation confusing and abstruse
- mathematics support is a dumpster fire
- when hugo is used as a backend to other things (quarto, blogdown) it is only the stock/default hugo which does not include the powerful plugins or community support.
Hugo sucks at mathematics
For 4 years or so there has been an argument about hugo and math support.
The current settlement is that it can work natively but that is tedious, and there are extensions that make it not terrible (
goldmark-mathjax) but they are not where you need them (.e.g not supported by standard hosts)
i.e. it is ginding low-level friction and irritating hacks.
In Add MathJax build support -- post-hugo processing · Issue #6694 · gohugoio/hugo, shreevatsa summarises:
(at least) two issues are mixed up here:
Input syntax: MathJax (LaTeX) syntax versus Markdown. The question of whether a user can just type LaTeX syntax, or needs to incorporate many workarounds like escaping underscores and backslashes, so that after passed through Markdown the intended LaTeX syntax remains. (This seems to be
If a user is happy with special input and client-side MathJax, then this is already possible with stock Hugo by
being super-careful about escaping all Markdown-special characters in one's input (probably not practical), or using shortcodes /
But otherwise, either problem is unsolved AFAICT.
Various arguments about how to fix it:
- Use goldmark-mathjax extension - HUGO
- Consider markdown extensions for math typesetting in Hugo · Issue #6544 · gohugoio/hugo
- How to render math equations properly [KaTeX, Goldmark]? - support - HUGO
Workarounds to shoehorn the current configuration into working:
- Math Typesetting in Hugo | Mert Bakır
- Render LaTeX math expressions in Hugo with MathJax 3 · Geoff Ruddock
- Writing math with Hugo | Misha Brukman
Forks of hugo supporting better fixes:
Site.js is one of several neat tools that integrates hugo.
Develop and test on your own device. One server.
Sync and deploy to your own VPS. One site.
Host your own site at your own domain