diff options
author | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2023-02-23 08:38:51 +0100 |
---|---|---|
committer | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2023-02-23 09:36:14 +0100 |
commit | ae48507d66db1fbe9b8fd5e3589941bee362a7ec (patch) | |
tree | dab66dabdef34b49834011dd2541d277f65fbf16 | |
parent | 7d78a498e19c2331a325fa43dd46f4da2b0443a6 (diff) |
Fix shortcode error when closing without .Inner
Fixes #10672
-rw-r--r-- | hugolib/shortcode.go | 10 | ||||
-rw-r--r-- | hugolib/shortcode_test.go | 2 |
2 files changed, 2 insertions, 10 deletions
diff --git a/hugolib/shortcode.go b/hugolib/shortcode.go index d3430cb81..13fe913a6 100644 --- a/hugolib/shortcode.go +++ b/hugolib/shortcode.go @@ -564,10 +564,6 @@ func (s *shortcodeHandler) extractShortcode(ordinal, level int, source []byte, p closed := false const errorPrefix = "failed to extract shortcode" - fail := func(err error, i pageparser.Item) error { - return s.parseError(fmt.Errorf("%s: %w", errorPrefix, err), source, i.Pos()) - } - Loop: for { currItem := pt.Next() @@ -607,10 +603,6 @@ Loop: // we trust the template on this: // if there's no inner, we're done if !sc.isInline { - if sc.info == nil { - // This should not happen. - return sc, fail(errors.New("BUG: template info not set"), currItem) - } if !sc.info.ParseInfo().IsInner { return sc, nil } @@ -625,7 +617,7 @@ Loop: // return that error, more specific continue } - return sc, fail(fmt.Errorf("shortcode %q has no .Inner, yet a closing tag was provided", next.ValStr(source)), next) + return nil, fmt.Errorf("%s: shortcode %q does not evaluate .Inner or .InnerDeindent, yet a closing tag was provided", errorPrefix, next.ValStr(source)) } } if next.IsRightShortcodeDelim() { diff --git a/hugolib/shortcode_test.go b/hugolib/shortcode_test.go index cd17e7874..eac3de2ce 100644 --- a/hugolib/shortcode_test.go +++ b/hugolib/shortcode_test.go @@ -875,7 +875,7 @@ title: "No Inner!" "layouts/shortcodes/noinner.html", `No inner here.`) err := b.BuildE(BuildCfg{}) - b.Assert(err.Error(), qt.Contains, filepath.FromSlash(`"content/mypage.md:4:21": failed to extract shortcode: shortcode "noinner" has no .Inner, yet a closing tag was provided`)) + b.Assert(err.Error(), qt.Contains, filepath.FromSlash(`"content/mypage.md:4:16": failed to extract shortcode: shortcode "noinner" does not evaluate .Inner or .InnerDeindent, yet a closing tag was provided`)) } func TestShortcodeStableOutputFormatTemplates(t *testing.T) { |