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.