Hugo 0.20 Released: Custom Output Formats!

More than 180 contributions by over 30 contributors in six weeks is impressive! The new Hugo 0.20 paves the way for JSON search indexes, calendars, e-books, Facebook Instant Articles, Google AMP…

Grab the binary of your choice here.

Release Notes

Hugo 0.20 introduces the powerful and long sought after feature Custom Output Formats; Hugo isn’t just that “static HTML with an added RSS feed” anymore. Say hello to calendars, e-book formats, Google AMP, and JSON search indexes, to name a few ( #2828 ).

This release represents over 180 contributions by over 30 contributors to the main Hugo code base. Since last release Hugo has gained 1100 stars, 20 new contributors and 5 additional themes.

Hugo now has:

16300+ stars

495+ contributors

156+ themes

@bep still leads the Hugo development with his witty Norwegian humor, and once again contributed a significant amount of additions. Also a big shoutout to @digitalcraftsman for his relentless work on keeping the documentation and the themes site in pristine condition, and @moorereason and @bogem for their ongoing contributions.

Other Highlights

@bogem has also contributed TOML as an alternative and much simpler format for language/i18n files ( #3200 ). A feature you will appreciate when you start to work on larger translations.

Also, there have been some important updates in the Emacs Org-mode handling: @chaseadamsio has fixed the newline-handling ( #3126 ) and @clockoon has added basic footnote support.

Worth mentioning is also the ongoing work that @rdwatters and @budparr is doing to re-do the gohugo.io site, including a total restructuring and partial rewrite of the documentation. It is getting close to finished, and it looks fantastic!

Notes

RSS description in the built-in template is changed from full .Content to .Summary . This is a somewhat breaking change, but is what most people expect from their RSS feeds. If you want full content, please provide your own RSS template.

description in the built-in template is changed from full to . This is a somewhat breaking change, but is what most people expect from their RSS feeds. If you want full content, please provide your own RSS template. The deprecated .RSSlink is now removed. Use .RSSLink .

is now removed. Use . RSSUri is deprecated and will be removed in a future Hugo version, replace it with an output format definition.

is deprecated and will be removed in a future Hugo version, replace it with an output format definition. The deprecated .Site.GetParam is now removed, use .Site.Param .

is now removed, use . Hugo does no longer append missing trailing slash to baseURL set as a command line parameter, making it consistent with how it behaves from site config. #3262

Enhancements

Hugo 0.20 is built with Go 1.8.1.

is built with Go 1.8.1. Add .Site.Params.mainSections that defaults to the section with the most pages. Plan is to get themes to use this instead of the hardcoded blog in where clauses. #3206

that defaults to the section with the most pages. Plan is to get themes to use this instead of the hardcoded in clauses. #3206 File extension is now configurable. #320

Impove markdownify template function performance. #3292

template function performance. #3292 Add taxonomy terms’ pages to .Data.Pages #2826

#2826 Change RSS description from full .Content to .Summary .

description from full to . Ignore “.” dirs in hugo --cleanDestinationDir #3202

#3202 Allow jekyll import to accept both 2006-01-02 and 2006-1-2 date format #2738

to accept both and date format #2738 Raise the default rssLimit #3145

#3145 Unify section list vs single template lookup order #3116

Allow apply to be used with the built-in Go template funcs print , printf and println . #3139

Fixes