hugolib: Fix inline shortcode regression

Fixes #6677
This commit is contained in:
Bjørn Erik Pedersen 2019-12-28 12:07:23 +01:00
parent 6b59b64f02
commit 5509954c7e
2 changed files with 15 additions and 2 deletions

View file

@ -196,7 +196,16 @@ type shortcode struct {
} }
func (s shortcode) insertPlaceholder() bool { func (s shortcode) insertPlaceholder() bool {
return !s.doMarkup || s.info.ParseInfo().Config.Version == 1 return !s.doMarkup || s.configVersion() == 1
}
func (s shortcode) configVersion() int {
if s.info == nil {
// Not set for inline shortcodes.
return 2
}
return s.info.ParseInfo().Config.Version
} }
func (s shortcode) innerString() string { func (s shortcode) innerString() string {
@ -347,7 +356,7 @@ func renderShortcode(
// Pre Hugo 0.55 this was the behaviour even for the outer-most // Pre Hugo 0.55 this was the behaviour even for the outer-most
// shortcode. // shortcode.
if sc.doMarkup && (level > 0 || sc.info.ParseInfo().Config.Version == 1) { if sc.doMarkup && (level > 0 || sc.configVersion() == 1) {
var err error var err error
b, err := p.pageOutput.cp.renderContent([]byte(inner), false) b, err := p.pageOutput.cp.renderContent([]byte(inner), false)

View file

@ -1101,6 +1101,7 @@ SECOND:{{< myshort.inline "second" />}}:END
NEW INLINE: {{< n1.inline "5" >}}W1: {{ seq (.Get 0) }}{{< /n1.inline >}}:END: NEW INLINE: {{< n1.inline "5" >}}W1: {{ seq (.Get 0) }}{{< /n1.inline >}}:END:
INLINE IN INNER: {{< outer >}}{{< n2.inline >}}W2: {{ seq 4 }}{{< /n2.inline >}}{{< /outer >}}:END: INLINE IN INNER: {{< outer >}}{{< n2.inline >}}W2: {{ seq 4 }}{{< /n2.inline >}}{{< /outer >}}:END:
REUSED INLINE IN INNER: {{< outer >}}{{< n1.inline "3" />}}{{< /outer >}}:END: REUSED INLINE IN INNER: {{< outer >}}{{< n1.inline "3" />}}{{< /outer >}}:END:
## MARKDOWN DELIMITER: {{% mymarkdown.inline %}}**Hugo Rocks!**{{% /mymarkdown.inline %}}
` `
b.WithContent("page-md-shortcode.md", `--- b.WithContent("page-md-shortcode.md", `---
@ -1116,10 +1117,12 @@ title: "Hugo Home"
b.WithTemplatesAdded("layouts/_default/single.html", ` b.WithTemplatesAdded("layouts/_default/single.html", `
CONTENT:{{ .Content }} CONTENT:{{ .Content }}
TOC: {{ .TableOfContents }}
`) `)
b.WithTemplatesAdded("layouts/index.html", ` b.WithTemplatesAdded("layouts/index.html", `
CONTENT:{{ .Content }} CONTENT:{{ .Content }}
TOC: {{ .TableOfContents }}
`) `)
b.WithTemplatesAdded("layouts/shortcodes/outer.html", `Inner: {{ .Inner }}`) b.WithTemplatesAdded("layouts/shortcodes/outer.html", `Inner: {{ .Inner }}`)
@ -1133,6 +1136,7 @@ CONTENT:{{ .Content }}
"NEW INLINE: W1: [1 2 3 4 5]", "NEW INLINE: W1: [1 2 3 4 5]",
"INLINE IN INNER: Inner: W2: [1 2 3 4]", "INLINE IN INNER: Inner: W2: [1 2 3 4]",
"REUSED INLINE IN INNER: Inner: W1: [1 2 3]", "REUSED INLINE IN INNER: Inner: W1: [1 2 3]",
`<li><a href="#markdown-delimiter-hugo-rocks">MARKDOWN DELIMITER: Hugo Rocks!</a></li>`,
} }
if enableInlineShortcodes { if enableInlineShortcodes {