summaryrefslogtreecommitdiffstats
path: root/source
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2018-01-25 17:03:29 +0100
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2018-01-26 14:04:14 +0100
commit6413559f7575e2653d76227a8037a7edbaae82aa (patch)
tree4b2d2be2943e1f7c37d6aa09937bec4391c1e678 /source
parent322c567220aa4123a5d707629c1bebd375599912 (diff)
Add a way to disable one or more languages
This commit adds a new config setting: ```toml disableLanguages = ["fr"] ``` If this is a multilingual site: * No site for the French language will be created * French content pages will be ignored/not read * The French language configuration (menus etc.) will also be ignored This makes it possible to start translating new languages and turn it on when you're happy etc. Fixes #4297 Fixed #4329
Diffstat (limited to 'source')
-rw-r--r--source/sourceSpec.go9
1 files changed, 8 insertions, 1 deletions
diff --git a/source/sourceSpec.go b/source/sourceSpec.go
index 74a754a26..e40010162 100644
--- a/source/sourceSpec.go
+++ b/source/sourceSpec.go
@@ -35,6 +35,7 @@ type SourceSpec struct {
Languages map[string]interface{}
DefaultContentLanguage string
+ DisabledLanguages map[string]bool
}
// NewSourceSpec initializes SourceSpec using languages from a given configuration.
@@ -42,6 +43,12 @@ func NewSourceSpec(cfg config.Provider, fs *hugofs.Fs) *SourceSpec {
defaultLang := cfg.GetString("defaultContentLanguage")
languages := cfg.GetStringMap("languages")
+ disabledLangsSet := make(map[string]bool)
+
+ for _, disabledLang := range cfg.GetStringSlice("disableLanguages") {
+ disabledLangsSet[disabledLang] = true
+ }
+
if len(languages) == 0 {
l := helpers.NewDefaultLanguage(cfg)
languages[l.Lang] = l
@@ -62,7 +69,7 @@ func NewSourceSpec(cfg config.Provider, fs *hugofs.Fs) *SourceSpec {
}
}
- return &SourceSpec{ignoreFilesRe: regexps, Cfg: cfg, Fs: fs, Languages: languages, DefaultContentLanguage: defaultLang}
+ return &SourceSpec{ignoreFilesRe: regexps, Cfg: cfg, Fs: fs, Languages: languages, DefaultContentLanguage: defaultLang, DisabledLanguages: disabledLangsSet}
}
func (s *SourceSpec) IgnoreFile(filename string) bool {