mirror of
https://github.com/gohugoio/hugo.git
synced 2024-11-07 20:30:36 -05:00
tpl/tplimpl: Allow alternate comment syntax
Allow alternate comment syntax before block definitions: {{/* foo */}} {{- /* foo */}} {{- /* foo */ -}} Fixes #10495
This commit is contained in:
parent
a49e51fd0b
commit
0b976d2b40
2 changed files with 51 additions and 0 deletions
|
@ -115,3 +115,48 @@ counter2: 3
|
||||||
`)
|
`)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Issue 10495
|
||||||
|
func TestCommentsBeforeBlockDefinition(t *testing.T) {
|
||||||
|
t.Parallel()
|
||||||
|
|
||||||
|
files := `
|
||||||
|
-- config.toml --
|
||||||
|
baseURL = 'http://example.com/'
|
||||||
|
-- content/s1/p1.md --
|
||||||
|
---
|
||||||
|
title: "S1P1"
|
||||||
|
---
|
||||||
|
-- content/s2/p1.md --
|
||||||
|
---
|
||||||
|
title: "S2P1"
|
||||||
|
---
|
||||||
|
-- content/s3/p1.md --
|
||||||
|
---
|
||||||
|
title: "S3P1"
|
||||||
|
---
|
||||||
|
-- layouts/_default/baseof.html --
|
||||||
|
{{ block "main" . }}{{ end }}
|
||||||
|
-- layouts/s1/single.html --
|
||||||
|
{{/* foo */}}
|
||||||
|
{{ define "main" }}{{ .Title }}{{ end }}
|
||||||
|
-- layouts/s2/single.html --
|
||||||
|
{{- /* foo */}}
|
||||||
|
{{ define "main" }}{{ .Title }}{{ end }}
|
||||||
|
-- layouts/s3/single.html --
|
||||||
|
{{- /* foo */ -}}
|
||||||
|
{{ define "main" }}{{ .Title }}{{ end }}
|
||||||
|
`
|
||||||
|
|
||||||
|
b := hugolib.NewIntegrationTestBuilder(
|
||||||
|
hugolib.IntegrationTestConfig{
|
||||||
|
T: t,
|
||||||
|
TxtarString: files,
|
||||||
|
},
|
||||||
|
)
|
||||||
|
b.Build()
|
||||||
|
|
||||||
|
b.AssertFileContent("public/s1/p1/index.html", `S1P1`)
|
||||||
|
b.AssertFileContent("public/s2/p1/index.html", `S2P1`)
|
||||||
|
b.AssertFileContent("public/s3/p1/index.html", `S3P1`)
|
||||||
|
}
|
||||||
|
|
|
@ -91,9 +91,15 @@ func needsBaseTemplate(templ string) bool {
|
||||||
if !inComment && strings.HasPrefix(templ[i:], "{{/*") {
|
if !inComment && strings.HasPrefix(templ[i:], "{{/*") {
|
||||||
inComment = true
|
inComment = true
|
||||||
i += 4
|
i += 4
|
||||||
|
} else if !inComment && strings.HasPrefix(templ[i:], "{{- /*") {
|
||||||
|
inComment = true
|
||||||
|
i += 6
|
||||||
} else if inComment && strings.HasPrefix(templ[i:], "*/}}") {
|
} else if inComment && strings.HasPrefix(templ[i:], "*/}}") {
|
||||||
inComment = false
|
inComment = false
|
||||||
i += 4
|
i += 4
|
||||||
|
} else if inComment && strings.HasPrefix(templ[i:], "*/ -}}") {
|
||||||
|
inComment = false
|
||||||
|
i += 6
|
||||||
} else {
|
} else {
|
||||||
r, size := utf8.DecodeRuneInString(templ[i:])
|
r, size := utf8.DecodeRuneInString(templ[i:])
|
||||||
if !inComment {
|
if !inComment {
|
||||||
|
|
Loading…
Reference in a new issue