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.- The deprecated
.RSSlink
is now removed. Use.RSSLink
. RSSUri
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
. - 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. - Add
.Site.Params.mainSections
that defaults to the section with the most pages. Plan is to get themes to use this instead of the hardcodedblog
inwhere
clauses. #3206 - File extension is now configurable. #320
- Impove
markdownify
template function performance. #3292 - Add taxonomy terms’ pages to
.Data.Pages
#2826 - Change
RSS
description from full.Content
to.Summary
. - Ignore “.” dirs in
hugo --cleanDestinationDir
#3202 - Allow
jekyll import
to accept both2006-01-02
and2006-1-2
date format #2738 - Raise the default
rssLimit
#3145 - Unify section list vs single template lookup order #3116
- Allow
apply
to be used with the built-in Go template funcsprint
,printf
andprintln
. #3139
Fixes
- Fix deadlock in
getJSON
#3211 - Make sure empty terms pages are created. #2977
- Fix base template lookup order for sections #2995
URL
fixes:- Fix pagination URLs with
baseURL
with sub-root andcanonifyUrls=false
#1252 - Fix pagination URL for resources with “.” in name #2110 #2374 #1885
- Handle taxonomy names with period #3169
- Handle
uglyURLs
ambiguity inPermalink
#3102 - Fix
Permalink
for language-roots wrong whenuglyURLs
istrue
#3179 - Fix misc case issues for
URLs
#1641 - Fix for taxonomies URLs when
uglyUrls=true
#1989 - Fix empty
RSSLink
for list pages with content page. #3131
- Fix pagination URLs with
- Correctly identify regular pages on the form “my_index_page.md” #3234
Exit -1
onERROR
in global logger #3239- Document hugo
help command
#2349 - Fix internal
Hugo
version handling for bug fix releases. #3025 - Only return
RSSLink
for pages that actually have a RSS feed. #1302