shithub: hugo

Download patch

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",
 		"&laquo;Hi&raquo;", // 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")
 
 }