Fix multiple languages in HUGO_DISABLELANGUAGES

Fixes #11278
This commit is contained in:
Bjørn Erik Pedersen
2023-07-27 13:00:01 +02:00
parent 575d7f8068
commit 7f058b8bab
2 changed files with 66 additions and 5 deletions

View File

@@ -297,14 +297,20 @@ func (l configLoader) applyOsEnvOverrides(environ []string) error {
if nestedKey != "" {
owner[nestedKey] = env.Value
} else {
var val any = env.Value
if _, ok := allDecoderSetups[env.Key]; ok {
var val any
key := strings.ReplaceAll(env.Key, delim, ".")
_, ok := allDecoderSetups[key]
if ok {
// A map.
val, err = metadecoders.Default.UnmarshalStringTo(env.Value, map[string]interface{}{})
if v, err := metadecoders.Default.UnmarshalStringTo(env.Value, map[string]interface{}{}); err == nil {
val = v
}
}
if err == nil {
l.cfg.Set(strings.ReplaceAll(env.Key, delim, "."), val)
if val == nil {
// A string.
val = l.envStringToVal(key, env.Value)
}
l.cfg.Set(key, val)
}
}
}
@@ -312,6 +318,20 @@ func (l configLoader) applyOsEnvOverrides(environ []string) error {
return nil
}
func (l *configLoader) envStringToVal(k, v string) any {
switch k {
case "disablekinds", "disablelanguages":
if strings.Contains(v, ",") {
return strings.Split(v, ",")
} else {
return strings.Fields(v)
}
default:
return v
}
}
func (l *configLoader) loadConfigMain(d ConfigSourceDescriptor) (config.LoadConfigResult, modules.ModulesConfig, error) {
var res config.LoadConfigResult