mirror of
https://github.com/gohugoio/hugo.git
synced 2026-08-24 15:28:54 +00:00
@@ -160,3 +160,31 @@ title: p10
|
||||
variant = `{{ template "_internal/pagination.html" (dict "page" . "format" "terse") }}`
|
||||
test(variant, expectedOutputTerseFormat)
|
||||
}
|
||||
|
||||
func TestOpengraphPartialIssue14433(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
files := `
|
||||
-- hugo.toml --
|
||||
baseURL = "https://example.org"
|
||||
-- content/_index.md --
|
||||
---
|
||||
title: Home
|
||||
---
|
||||
-- layouts/home.html --
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
{{- partial "opengraph.html" . }}
|
||||
</head>
|
||||
<body>
|
||||
</body>
|
||||
</html>
|
||||
`
|
||||
b := Test(t, files)
|
||||
|
||||
b.AssertFileContent("public/index.html",
|
||||
`<meta property="og:title" content="Home">`,
|
||||
`! false`,
|
||||
)
|
||||
}
|
||||
|
||||
@@ -100,7 +100,7 @@ func (ns *Namespace) _PushPartialDecorator(ctx context.Context, id string) (any,
|
||||
}
|
||||
|
||||
// For internal use only.
|
||||
func (ns *Namespace) _PopPartialDecorator(ctx context.Context, id string) bool {
|
||||
func (ns *Namespace) _PopPartialDecorator(ctx context.Context, id string) any {
|
||||
stack := tpl.Context.PartialDecoratorIDStack.Get(ctx)
|
||||
if stack == nil || stack.Len() == 0 {
|
||||
panic("decorator stack is nil or empty")
|
||||
@@ -111,6 +111,10 @@ func (ns *Namespace) _PopPartialDecorator(ctx context.Context, id string) bool {
|
||||
if !ok || top.Str != id {
|
||||
panic("partial decorator ID mismatch")
|
||||
}
|
||||
if !top.Bool {
|
||||
// Prevents anything being rendered if inner was not called.
|
||||
return ""
|
||||
}
|
||||
return top.Bool // return whether inner exists in the wrapped partial.
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user