Restore language.disabled config

Fixes #11219
This commit is contained in:
Bjørn Erik Pedersen 2023-07-08 16:16:06 +02:00
parent 0f921ace6f
commit a481942532
3 changed files with 38 additions and 0 deletions

View file

@ -274,6 +274,14 @@ func (c *Config) CompileConfig(logger loggers.Logger) error {
} }
disabledLangs[lang] = true disabledLangs[lang] = true
} }
for lang, language := range c.Languages {
if language.Disabled {
disabledLangs[lang] = true
if lang == c.DefaultContentLanguage {
return fmt.Errorf("cannot disable default content language %q", lang)
}
}
}
ignoredErrors := make(map[string]bool) ignoredErrors := make(map[string]bool)
for _, err := range c.IgnoreErrors { for _, err := range c.IgnoreErrors {

View file

@ -1384,3 +1384,30 @@ Home.
}) })
} }
func TestLanguagesDisabled(t *testing.T) {
t.Parallel()
files := `
-- hugo.toml --
[languages]
[languages.en]
title = "English Title"
[languages.sv]
title = "Swedish Title"
disabled = true
-- layouts/index.html --
Home.
`
b := NewIntegrationTestBuilder(
IntegrationTestConfig{
T: t,
TxtarString: files,
},
).Build()
b.Assert(len(b.H.Sites), qt.Equals, 1)
}

View file

@ -39,6 +39,9 @@ type LanguageConfig struct {
// The language weight. When set to a non-zero value, this will // The language weight. When set to a non-zero value, this will
// be the main sort criteria for the language. // be the main sort criteria for the language.
Weight int Weight int
// Set to true to disable this language.
Disabled bool
} }
func DecodeConfig(m map[string]any) (map[string]LanguageConfig, error) { func DecodeConfig(m map[string]any) (map[string]LanguageConfig, error) {