Hugo 0.28 brings blistering fast and native syntax highlighting from Chroma (fb33d828@bep#3888). A big thank you to Alec Thomas for taking on this massive task of porting the popular python highlighter Pygments to Go.
Hugo has been caching the highlighter output to disk, so for repeated builds it has been fine, but this little snippet, showing a build of the gohugo.io site without cache and with both Pygments and Chroma, should illustrate the improvement:
Worth mentioning is also the liveReloadPort flag on hugo server, which makes it possible to do “live reloads” behind a HTTPS proxy, which makes for very cool remote customer demos.
One example would be a Hugo server running behind a ngrok tunnel:
ngrok http 1313
Then start the Hugo server with:
hugo server -b https://youridhere.ngrok.io --appendPort=false --liveReloadPort=443 --navigateToChanged
The navigateToChanged flag is slightly unrelated, but it is super cool …
This release represents 15 contributions by 2 contributors to the main Hugo code base.
Many have also been busy writing and fixing the documentation in hugoDocs,
which has received 9 contributions by 7 contributors. A special thanks to @bep, @i-give-up, @muhajirframe, and @icannotfly for their work on the documentation site.
Hugo now uses Chroma as new default syntax highlighter. This should in most cases work out-of-the box or with very little adjustments. But if you want to continue to use Pygments, set pygmentsUseClassic=true in your site config.
We now add a set of “no cache” headers to the responses for hugo server, which makes the most sense in most development scenarios. Run with hugo server --noHTTPCache=false to get the old behaviour.