mirror of
https://github.com/gohugoio/hugo.git
synced 2025-08-30 22:39:58 +02:00
@@ -384,8 +384,8 @@ func (p *pageContentOutput) RenderString(args ...any) (template.HTML, error) {
|
||||
|
||||
var rendered []byte
|
||||
|
||||
if strings.Contains(contentToRender, "{{") {
|
||||
// Probably a shortcode.
|
||||
if pageparser.HasShortcode(contentToRender) {
|
||||
// String contains a shortcode.
|
||||
parsed, err := pageparser.ParseMain(strings.NewReader(contentToRender), pageparser.Config{})
|
||||
if err != nil {
|
||||
return "", err
|
||||
|
@@ -190,3 +190,39 @@ Has other: false
|
||||
`)
|
||||
|
||||
}
|
||||
|
||||
func TestRenderStringWithShortcodeIssue10654(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
files := `
|
||||
-- config.toml --
|
||||
timeout = '300ms'
|
||||
-- content/p1.md --
|
||||
---
|
||||
title: "P1"
|
||||
---
|
||||
{{< toc >}}
|
||||
|
||||
## Heading 1
|
||||
|
||||
{{< noop >}}
|
||||
{{ not a shortcode
|
||||
{{< /noop >}}
|
||||
}
|
||||
-- layouts/shortcodes/noop.html --
|
||||
{{ .Inner | $.Page.RenderString }}
|
||||
-- layouts/shortcodes/toc.html --
|
||||
{{ .Page.TableOfContents }}
|
||||
-- layouts/_default/single.html --
|
||||
{{ .Content }}
|
||||
`
|
||||
|
||||
b := NewIntegrationTestBuilder(
|
||||
IntegrationTestConfig{
|
||||
T: t,
|
||||
TxtarString: files,
|
||||
},
|
||||
).Build()
|
||||
|
||||
b.AssertFileContent("public/p1/index.html", `TableOfContents`)
|
||||
}
|
||||
|
Reference in New Issue
Block a user