From e7148f335fabf0170b8158d39cd2ea95bc04fd7e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Pedersen?= Date: Sun, 12 Mar 2023 10:50:16 +0100 Subject: Fix "unknown shortcode token" when calling shortcode within fenced code block Fixes #10819 --- hugolib/shortcode.go | 2 +- hugolib/shortcode_test.go | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+), 1 deletion(-) (limited to 'hugolib') diff --git a/hugolib/shortcode.go b/hugolib/shortcode.go index 1c0dfaade..c12fb888b 100644 --- a/hugolib/shortcode.go +++ b/hugolib/shortcode.go @@ -186,7 +186,7 @@ func (scp *ShortcodeWithPage) page() page.Page { const shortcodePlaceholderPrefix = "HAHAHUGOSHORTCODE" func createShortcodePlaceholder(id string, ordinal int) string { - return shortcodePlaceholderPrefix + "-" + id + strconv.Itoa(ordinal) + "-HBHB" + return shortcodePlaceholderPrefix + id + strconv.Itoa(ordinal) + "HBHB" } type shortcode struct { diff --git a/hugolib/shortcode_test.go b/hugolib/shortcode_test.go index 67c83f44e..998608a55 100644 --- a/hugolib/shortcode_test.go +++ b/hugolib/shortcode_test.go @@ -1276,3 +1276,40 @@ Inner: {{ .Get 0 }}: {{ len .Inner }} b.Assert(err, qt.Not(qt.IsNil)) b.Assert(err.Error(), qt.Contains, `p1.md:5:1": failed to extract shortcode: shortcode "sc" must be closed or self-closed`) } + +// Issue 10819. +func TestShortcodeInCodeFenceHyphen(t *testing.T) { + t.Parallel() + + files := ` +-- config.toml -- +disableKinds = ["home", "taxonomy", "term"] +-- content/p1.md -- +--- +title: "p1" +--- + +§§§go +{{< sc >}} +§§§ + +Text. + +-- layouts/shortcodes/sc.html -- +Hello. +-- layouts/_default/single.html -- +{{ .Content }} +` + + b := NewIntegrationTestBuilder( + IntegrationTestConfig{ + T: t, + TxtarString: files, + Running: true, + Verbose: true, + }, + ).Build() + + b.AssertFileContent("public/p1/index.html", "Hello.") + +} -- cgit v1.2.3