shithub: hugo

Download patch

ref: 4d5e4f379a890a3c6cbc11ddb40d77a90f14c015
parent: cd77968284c64525c351f0b99466ad2ef29657e5
author: Bjørn Erik Pedersen <[email protected]>
date: Fri Jan 19 03:24:10 EST 2018

hugolib: Add validation for defaultContentLanguage

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

Fixes #4298

--- a/hugolib/config.go
+++ b/hugolib/config.go
@@ -131,6 +131,22 @@
 		}
 	}
 
+	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)