hugolib: Fix inline shortcode regression
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Sat, 28 Dec 2019 11:07:23 +0000 (12:07 +0100)
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Sat, 28 Dec 2019 13:31:51 +0000 (14:31 +0100)
Fixes #6677

hugolib/shortcode.go
hugolib/shortcode_test.go

index a4d635a5544f03fee2bf164865d89942604ef607..7d7e8b68c393d3c274211cad72cb9a27de7f169a 100644 (file)
@@ -196,7 +196,16 @@ type shortcode struct {
 }
 
 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 {
@@ -347,7 +356,7 @@ func renderShortcode(
 
                // Pre Hugo 0.55 this was the behaviour even for the outer-most
                // shortcode.
-               if sc.doMarkup && (level > 0 || sc.info.ParseInfo().Config.Version == 1) {
+               if sc.doMarkup && (level > 0 || sc.configVersion() == 1) {
                        var err error
                        b, err := p.pageOutput.cp.renderContent([]byte(inner), false)
 
index 9d948c807b7fb400857db115f30fef1481493551..d57a0d6630f45551fb384a2c7c12a766de2ecb21 100644 (file)
@@ -1101,6 +1101,7 @@ SECOND:{{< myshort.inline "second" />}}: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:
 REUSED INLINE IN INNER: {{< outer >}}{{< n1.inline "3" />}}{{< /outer >}}:END:
+## MARKDOWN DELIMITER: {{% mymarkdown.inline %}}**Hugo Rocks!**{{% /mymarkdown.inline %}}
 `
 
                                b.WithContent("page-md-shortcode.md", `---
@@ -1116,10 +1117,12 @@ title: "Hugo Home"
 
                                b.WithTemplatesAdded("layouts/_default/single.html", `
 CONTENT:{{ .Content }}
+TOC: {{ .TableOfContents }}
 `)
 
                                b.WithTemplatesAdded("layouts/index.html", `
 CONTENT:{{ .Content }}
+TOC: {{ .TableOfContents }}
 `)
 
                                b.WithTemplatesAdded("layouts/shortcodes/outer.html", `Inner: {{ .Inner }}`)
@@ -1133,6 +1136,7 @@ CONTENT:{{ .Content }}
                                        "NEW INLINE:  W1: [1 2 3 4 5]",
                                        "INLINE IN INNER: Inner: W2: [1 2 3 4]",
                                        "REUSED INLINE IN INNER: Inner: W1: [1 2 3]",
+                                       `<li><a href="#markdown-delimiter-hugo-rocks">MARKDOWN DELIMITER: Hugo Rocks!</a></li>`,
                                }
 
                                if enableInlineShortcodes {