From: Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Date: Fri, 19 Jan 2018 07:24:10 +0000 (+0100)
Subject: hugolib: Add validation for defaultContentLanguage
X-Git-Tag: v0.34~9
X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=4d5e4f379a890a3c6cbc11ddb40d77a90f14c015;p=brevno-suite%2Fhugo

hugolib: Add validation for defaultContentLanguage

When `languages` are defined, then `defaultContentLanguage` must match one of those.

Fixes #4298
---

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)