Unfortunately, I have been using the shortcode method as you specify, and it does not seem to render properly. See example below:
{{% first %}}this is my inner text{{% /first %}}
I’ll have to try using markdownify, but I wonder if this is a bug. I have some other shortcodes that didn’t work properly, but just added the version 1 code to all my shortcodes. It may be a day or two before I can spend time looking at all the different issues in detail.
I suspect this may be a bug, but I will need to do some more testing first.
In the above, “this is my inner text” is sent to the markdown renderer (I assume Blackfriday).
The change we did in 0.55 was unfortunate, but I think we had to do it to go forward.
The benefit gets obvious when you have shortcodes that produce markdown with headers (ToC) and footnotes. These benefits will be even more visible in the future.
What I think the main problem people are now seeing is when they have a shortcode similar to this:
<div class="foo">{{ .Inner }}</div>
If you then do
{{% shortcode %}}**Bold** text{{% /shortcode %}}
What is then sent to Blackfriday is <div class="foo">**Bold** text</div>, which Blackfriday treats as raw HTML and ignores.
{{ .Inner | markdownify }} Then I won’t need %. I will just use < >
However, if I use {{ $_hugo_config := { “version”: 1 } }} then I will use %.
I just tested on my example, and it doesn’t appear to matter which method I use. Both render correctly. However, there is no need to send the html to markdown render (even though Bep indicated this is being treated as raw), so < > is what I will go with.
Yes. So, there is a history behind all of this, and there are several reasons why you don’t want to send your inner content to Blackfriday because you may get unexpected result (so use “{{<”).