From 4d5e4f379a890a3c6cbc11ddb40d77a90f14c015 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Bj=C3=B8rn=20Erik=20Pedersen?= Date: Fri, 19 Jan 2018 08:24:10 +0100 Subject: [PATCH] hugolib: Add validation for defaultContentLanguage When `languages` are defined, then `defaultContentLanguage` must match one of those. Fixes #4298 --- hugolib/config.go | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/hugolib/config.go b/hugolib/config.go index 8e06d3e8..f1b6ebe5 100644 --- a/hugolib/config.go +++ b/hugolib/config.go @@ -131,6 +131,22 @@ func loadLanguageSettings(cfg config.Provider, oldLangs helpers.Languages) error } } + defaultLang := cfg.GetString("defaultContentLanguage") + + // The defaultContentLanguage is something the user has to decide, but it needs + // to match a language in the language definition list. + langExists := false + for _, lang := range langs { + if lang.Lang == defaultLang { + langExists = true + break + } + } + + if !langExists { + return fmt.Errorf("site config value %q for defaultContentLanguage does not match any language definition", defaultLang) + } + cfg.Set("languagesSorted", langs) cfg.Set("multilingual", len(langs) > 1) -- 2.30.2