mirror of
https://github.com/gohugoio/hugo.git
synced 2025-08-17 21:01:26 +02:00
Misc config loading fixes
The main motivation behind this is simplicity and correctnes, but the new small config library is also faster: ``` BenchmarkDefaultConfigProvider/Viper-16 252418 4546 ns/op 2720 B/op 30 allocs/op BenchmarkDefaultConfigProvider/Custom-16 450756 2651 ns/op 1008 B/op 6 allocs/op ``` Fixes #8633 Fixes #8618 Fixes #8630 Updates #8591 Closes #6680 Closes #5192
This commit is contained in:
@@ -43,13 +43,13 @@ func LoadLanguageSettings(cfg config.Provider, oldLangs Languages) (c LanguagesC
|
||||
|
||||
var languages map[string]interface{}
|
||||
|
||||
languagesFromConfig := cfg.GetStringMap("languages")
|
||||
languagesFromConfig := cfg.GetParams("languages")
|
||||
disableLanguages := cfg.GetStringSlice("disableLanguages")
|
||||
|
||||
if len(disableLanguages) == 0 {
|
||||
languages = languagesFromConfig
|
||||
} else {
|
||||
languages = make(map[string]interface{})
|
||||
languages = make(maps.Params)
|
||||
for k, v := range languagesFromConfig {
|
||||
for _, disabled := range disableLanguages {
|
||||
if disabled == defaultLang {
|
||||
@@ -57,7 +57,7 @@ func LoadLanguageSettings(cfg config.Provider, oldLangs Languages) (c LanguagesC
|
||||
}
|
||||
|
||||
if strings.EqualFold(k, disabled) {
|
||||
v.(map[string]interface{})["disabled"] = true
|
||||
v.(maps.Params)["disabled"] = true
|
||||
break
|
||||
}
|
||||
}
|
||||
@@ -193,7 +193,7 @@ func toSortedLanguages(cfg config.Provider, l map[string]interface{}) (Languages
|
||||
case "params":
|
||||
m := maps.ToStringMap(v)
|
||||
// Needed for case insensitive fetching of params values
|
||||
maps.ToLower(m)
|
||||
maps.PrepareParams(m)
|
||||
for k, vv := range m {
|
||||
language.SetParam(k, vv)
|
||||
}
|
||||
|
Reference in New Issue
Block a user