Hugo 0.40: Help Test It

I’m planning on doing another Hugo release on Monday. Short and focused, and I think this is better to get out into the open sooner rather than later.

It would be great if you, if you can build Hugo from source, would take it for a spin on your site. The main thing here is shortcodes vs .Content. See the commit message below:

Make .Content (almost) always available in shortcodes

This resolves some surprising behaviour when reading other pages’ content from shortcodes. Before this commit, that behaviour was undefined. Note that this has never been an issue from regular templates.

It will still not be possible to get the current shortcode’s page’s rendered content. That would have impressed Einstein.

The new and well defined rules are:

  • .Page.Content from a shortcode will be empty. The related .Page.Truncated .Page.Summary, .Page.WordCount, .Page.ReadingTime, .Page.Plain and .Page.PlainWords will also have empty values.
  • For other pages (retrieved via .Page.Site.GetPage, .Site.Pages etc.) the .Content is there to use as you please as long as you don’t have infinite content recursion in your shortcode/content setup. See below.
  • .Page.TableOfContents is good to go (but does not support shortcodes in headlines; this is unchanged)

If you get into a situation of infinite recursion, the .Content will be empty. Run hugo -v for more information.

1 Like