Add support for inline partials

Fixes #7444
This commit is contained in:
Bjørn Erik Pedersen
2020-07-01 10:43:17 +02:00
parent c66dc6c74f
commit 4a3efea7ef
4 changed files with 175 additions and 4 deletions

View File

@@ -597,3 +597,83 @@ func collectIdentities(set map[identity.Identity]bool, provider identity.Provide
func ident(level int) string {
return strings.Repeat(" ", level)
}
func TestPartialInline(t *testing.T) {
b := newTestSitesBuilder(t)
b.WithContent("p1.md", "")
b.WithTemplates(
"index.html", `
{{ $p1 := partial "p1" . }}
{{ $p2 := partial "p2" . }}
P1: {{ $p1 }}
P2: {{ $p2 }}
{{ define "partials/p1" }}Inline: p1{{ end }}
{{ define "partials/p2" }}
{{ $value := 32 }}
{{ return $value }}
{{ end }}
`,
)
b.CreateSites().Build(BuildCfg{})
b.AssertFileContent("public/index.html",
`
P1: Inline: p1
P2: 32`,
)
}
func TestPartialInlineBase(t *testing.T) {
b := newTestSitesBuilder(t)
b.WithContent("p1.md", "")
b.WithTemplates(
"baseof.html", `{{ $p3 := partial "p3" . }}P3: {{ $p3 }}
{{ block "main" . }}{{ end }}{{ define "partials/p3" }}Inline: p3{{ end }}`,
"index.html", `
{{ define "main" }}
{{ $p1 := partial "p1" . }}
{{ $p2 := partial "p2" . }}
P1: {{ $p1 }}
P2: {{ $p2 }}
{{ end }}
{{ define "partials/p1" }}Inline: p1{{ end }}
{{ define "partials/p2" }}
{{ $value := 32 }}
{{ return $value }}
{{ end }}
`,
)
b.CreateSites().Build(BuildCfg{})
b.AssertFileContent("public/index.html",
`
P1: Inline: p1
P2: 32
P3: Inline: p3
`,
)
}