ref: e1a66c7343db9d232749255dd9e3a58d94b86997
parent: db3c49d049193e0fc225fe4bdb95712c311d6615
author: Bjørn Erik Pedersen <[email protected]>
date: Fri Jan 18 12:48:19 EST 2019
Fix Params case handling in the new site global Fixes #5615
--- a/hugolib/case_insensitive_test.go
+++ b/hugolib/case_insensitive_test.go
@@ -125,6 +125,7 @@
writeToFs(t, fs, "layouts/partials/partial.html", `
Partial Page: {{ .Params.COLOR }}|{{ .Params.Colors.Blue }}
Partial Site: {{ .Site.Params.COLOR }}|{{ .Site.Params.COLORS.YELLOW }}
+Partial Site Global: {{ site.Params.COLOR }}|{{ site.Params.COLORS.YELLOW }}
`)
writeToFs(t, fs, "config.toml", caseMixingSiteConfigTOML)
@@ -200,6 +201,7 @@
"Shortcode Site: green|yellow",
"Partial Page: red|heavenly",
"Partial Site: green|yellow",
+ "Partial Site Global: green|yellow",
"Page Title: Side 1",
"Site Title: Nynorsk title",
"«Hi»", // angled quotes
--- a/tpl/tplimpl/template_ast_transformers.go
+++ b/tpl/tplimpl/template_ast_transformers.go
@@ -130,8 +130,12 @@
c.updateIdentsIfNeeded(an.Ident)
case *parse.PipeNode:
c.paramsKeysToLower(an)
+ case *parse.ChainNode:
+ // site.Params...
+ if len(an.Field) > 1 && an.Field[0] == paramsIdentifier {
+ c.updateIdentsIfNeeded(an.Field)
+ }
}
-
}
}
}
--- a/tpl/tplimpl/template_ast_transformers_test.go
+++ b/tpl/tplimpl/template_ast_transformers_test.go
@@ -34,6 +34,13 @@
"ByWeight": fmt.Sprintf("%v:%v:%v", seq, key, args),
}, nil
},
+ "site": func() interface{} {
+ return map[string]interface{}{
+ "Params": map[string]interface{}{
+ "lower": "global-site",
+ },
+ }
+ },
}
paramsData = map[string]interface{}{
@@ -154,6 +161,12 @@
{{ $_x := $.Params.MyDate | ToTime }}
PARAMS TIME2: {{ $_x.AddDate 0 1 0 }}
+
+PARAMS SITE GLOBAL1: {{ site.Params.LOwER }}
+{{ $lower := site.Params.LOwER }}
+{{ $site := site }}
+PARAMS SITE GLOBAL2: {{ $lower }}
+PARAMS SITE GLOBAL3: {{ $site.Params.LOWER }}
`
)
@@ -224,6 +237,11 @@
// Issue #5541
require.Contains(t, result, "PARAMS TIME: 1972-02-28")
require.Contains(t, result, "PARAMS TIME2: 1972-02-28")
+
+ // Issue ##5615
+ require.Contains(t, result, "PARAMS SITE GLOBAL1: global-site")
+ require.Contains(t, result, "PARAMS SITE GLOBAL2: global-site")
+ require.Contains(t, result, "PARAMS SITE GLOBAL3: global-site")
}