mirror of
https://github.com/gohugoio/hugo.git
synced 2024-11-07 20:30:36 -05:00
Fix it so disableKinds etc. does not get merged in from theme
Unless the merge strategy is set up to do so. For `disableKinds` the current workaround is to make sure the project config has an entry, even if is empty: ``` disableKinds = [] ``` Note that this issue only touches root, non-map config-values that either is not set in project config or in Hugo's defaults. Fixes #8866
This commit is contained in:
parent
7ba3f3d201
commit
f4ffeea71d
4 changed files with 15 additions and 2 deletions
|
@ -76,6 +76,14 @@ func (p Params) Merge(pp Params) {
|
|||
p.merge("", pp)
|
||||
}
|
||||
|
||||
// MergeRoot transfers values from pp to p for new keys where p is the
|
||||
// root of the tree.
|
||||
// This is done recursively.
|
||||
func (p Params) MergeRoot(pp Params) {
|
||||
ms, _ := p.GetMergeStrategy()
|
||||
p.merge(ms, pp)
|
||||
}
|
||||
|
||||
func (p Params) merge(ps ParamsMergeStrategy, pp Params) {
|
||||
ns, found := p.GetMergeStrategy()
|
||||
|
||||
|
|
|
@ -275,7 +275,7 @@ func (c *defaultConfigProvider) Merge(k string, v interface{}) {
|
|||
}
|
||||
}
|
||||
// Merge the rest.
|
||||
c.root.Merge(p)
|
||||
c.root.MergeRoot(p)
|
||||
for _, k := range keysToDelete {
|
||||
delete(c.root, k)
|
||||
}
|
||||
|
|
|
@ -172,7 +172,6 @@ func TestDefaultConfigProvider(t *testing.T) {
|
|||
|
||||
c.Assert(cfg.Get(""), qt.DeepEquals, maps.Params{
|
||||
"a": "av",
|
||||
"b": "bv2",
|
||||
})
|
||||
})
|
||||
|
||||
|
|
|
@ -152,6 +152,9 @@ name = "menu-top-main"
|
|||
themeConfig := `
|
||||
baseURL = "http://bep.is/"
|
||||
|
||||
# Can not be set in theme.
|
||||
disableKinds = ["taxonomy", "term"]
|
||||
|
||||
# Can not be set in theme.
|
||||
[frontmatter]
|
||||
expiryDate = ["date"]
|
||||
|
@ -228,6 +231,9 @@ name = "menu-theme"
|
|||
|
||||
got := b.Cfg.Get("").(maps.Params)
|
||||
|
||||
// Issue #8866
|
||||
b.Assert(b.Cfg.Get("disableKinds"), qt.IsNil)
|
||||
|
||||
b.Assert(got["params"], qt.DeepEquals, maps.Params{
|
||||
"b": maps.Params{
|
||||
"b1": "b1 main",
|
||||
|
|
Loading…
Reference in a new issue