diff options
author | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2018-04-07 11:27:22 +0200 |
---|---|---|
committer | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2018-04-07 16:40:45 +0200 |
commit | 080302eb8757fd94ccbd6bf99103432cd98e716c (patch) | |
tree | 33816529e01bbdb3e3ad501de9ab2281058fc551 /hugolib | |
parent | 094ec171420e659cdf962a19dd90105912ce9901 (diff) |
Fix handling of --contentDir etc. flag
We need to revisit the commands package re globals and tests, but this should fix the init order of flags and languages.
Fixes #4589
Diffstat (limited to 'hugolib')
-rw-r--r-- | hugolib/config.go | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/hugolib/config.go b/hugolib/config.go index 9f206bc77..b166e7729 100644 --- a/hugolib/config.go +++ b/hugolib/config.go @@ -54,7 +54,7 @@ func LoadConfigDefault(fs afero.Fs) (*viper.Viper, error) { // LoadConfig loads Hugo configuration into a new Viper and then adds // a set of defaults. -func LoadConfig(d ConfigSourceDescriptor) (*viper.Viper, []string, error) { +func LoadConfig(d ConfigSourceDescriptor, doWithConfig ...func(cfg config.Provider) error) (*viper.Viper, []string, error) { var configFiles []string fs := d.Fs @@ -108,6 +108,14 @@ func LoadConfig(d ConfigSourceDescriptor) (*viper.Viper, []string, error) { configFiles = append(configFiles, themeConfigFile) } + // We create languages based on the settings, so we need to make sure that + // all configuration is loaded/set before doing that. + for _, d := range doWithConfig { + if err := d(v); err != nil { + return v, configFiles, err + } + } + if err := loadLanguageSettings(v, nil); err != nil { return v, configFiles, err } |