]> git.maquefel.me Git - brevno-suite/hugo/commitdiff
Don't panic on empty yaml config params
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Tue, 30 May 2023 09:38:29 +0000 (11:38 +0200)
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Tue, 30 May 2023 13:59:43 +0000 (15:59 +0200)
Fixes #11047

config/allconfig/allconfig.go
hugolib/config_test.go

index ade7ea1be729b545677f0eb7f95acf6ddc94e7a4..abb9555465871e3b76a08f44f46f5f6b58077ce3 100644 (file)
@@ -729,8 +729,8 @@ func fromLoadConfigResult(fs afero.Fs, logger loggers.Logger, res config.LoadCon
                                        isMultiHost = true
                                }
                                mergedConfig.Set(kk, vv)
-                               if cfg.IsSet(kk) {
-                                       rootv := cfg.Get(kk)
+                               rootv := cfg.Get(kk)
+                               if rootv != nil && cfg.IsSet(kk) {
                                        // This overrides a root key and potentially needs a merge.
                                        if !reflect.DeepEqual(rootv, vv) {
                                                switch vvv := vv.(type) {
index a8e3b8f2caa7900311fcdb2877abf0282e240ec6..edb6b793e7e95dec84c633bee673b584bc2106e2 100644 (file)
@@ -1066,3 +1066,26 @@ LanguageCode: {{ .Site.LanguageCode }}|{{ site.Language.LanguageCode }}|
        b.AssertFileContent("public/index.html", "LanguageCode: en-US|en-US|")
 
 }
+
+// Issue 11047
+func TestConfigYamlNil(t *testing.T) {
+       t.Parallel()
+
+       files := `
+-- hugo.yaml --
+params:
+-- layouts/index.html --
+Foo: {{ site.Params.foo }}|
+
+       
+`
+       b := NewIntegrationTestBuilder(
+               IntegrationTestConfig{
+                       T:           t,
+                       TxtarString: files,
+               },
+       ).Build()
+
+       b.AssertFileContent("public/index.html", "Foo: |")
+
+}