This post went much longer than I intended. I’m not apologizing; just warning you. 
The rationale for this feature is to provide options for scenarios similar to what @Murray_Thompson described a few days ago in the DRY thread.
In my situation at work, we’re trying to see if and how Hugo can accomplish what we need in order to replace our complex and expensive CMS-powered site. I’ll give you an example that’s similar at least in layout. Look at VMware’s vCloud Suite site. The content and layout problems you would need to solve in order to create the pages in that area (see the links below the title for the sub-pages) are the same problems we’re trying to solve.
So in this example, assume a content type of “vcloud-suite” with a project structure such as this:
content/
vcloud-suite/
features.md
resources.md
compare.md
pricing.md
gettingstarted.md
layout/
vcloud-suite/
section.html
single.html
Let’s ignore the section.html template and just focus on the single.html template. Take the VMware Getting Started page for example. What strategies would you employ to design the single.html template just for that page, let alone the others? Doesn’t the main content of each page belong with it’s matching content file (ie. gettingstarted.md)? On the Getting Started page, what would you say the “main content” is and how would you put that into Markdown? Or into the content file? If the “main content” is everything from the title to the Site Recover Manager section at the bottom, how would attack that? Part of the goal is to have fairly clean, concise, and coherent layout templates.
So, back to this feature request. Since the page.Content is really not modular or divisible, we were considering putting some content into the front matter as @Murray_Thompson describes. We can use markdownify or safeHTML to embed that content into the front matter, but we can’t use shortcodes in the front matter. We’re not sure that we would need to, but the same limitation applies to the data and get[JSON|CSV] features. So basically, we want to be able to use shortcodes in any content in the same way we can use Markdown anywhere with the markdownify template function.
From a practical standpoint, I’m still not sure if we will end up using Hugo on such a complex site, and even if we do end up using Hugo, I don’t know exactly how we would go about it. But as it stands right now, the only place that we can use shortcodes is in the page.Content. I just get the sense that we would need to pull content from other places to do complex layouts, and we’d like to have the ability to use shortcodes in these other data sources.
We’re still theorizing how far we can push Hugo and how to use all of the features…and maybe what features we would like to see implemented. Any advise would be appreciated.
PS: We’ve also had the idea of using shortcodes to divide some page.Content:
layouts/shortcodes/section.html:
<section{{ with .Get "class"}} class="{{.}}"{{ end }}>{{ .Inner }}</section>
content/test.md:
{{% section %}}
Awesome content block
{{% /section %}}
{{% section class="super-special-content" %}}
Another awesome content block...
{{% /section %}}
But at that point, we’re basically inserting layout into the content. Boo!