diff options
Diffstat (limited to 'hugolib/config.go')
-rw-r--r-- | hugolib/config.go | 37 |
1 files changed, 27 insertions, 10 deletions
diff --git a/hugolib/config.go b/hugolib/config.go index 8e73a35ec..059424e85 100644 --- a/hugolib/config.go +++ b/hugolib/config.go @@ -69,18 +69,35 @@ func LoadConfig(d ConfigSourceDescriptor, doWithConfig ...func(cfg config.Provid // use a partial configuration to do its job. defer l.deleteMergeStrategies() - for _, name := range d.configFilenames() { - var filename string - filename, err := l.loadConfig(name) - if err == nil { - configFiles = append(configFiles, filename) - } else if err != ErrNoConfigFile { - return nil, nil, l.wrapFileError(err, filename) + names := d.configFilenames() + + if names != nil { + for _, name := range names { + var filename string + filename, err := l.loadConfig(name) + if err == nil { + configFiles = append(configFiles, filename) + } else if err != ErrNoConfigFile { + return nil, nil, l.wrapFileError(err, filename) + } + } + } else { + for _, name := range config.DefaultConfigNames { + var filename string + filename, err := l.loadConfig(name) + if err == nil { + configFiles = append(configFiles, filename) + break + } else if err != ErrNoConfigFile { + return nil, nil, l.wrapFileError(err, filename) + } } } if d.AbsConfigDir != "" { + dcfg, dirnames, err := config.LoadConfigFromDir(l.Fs, d.AbsConfigDir, l.Environment) + if err == nil { if len(dirnames) > 0 { l.cfg.Set("", dcfg.Get("")) @@ -162,9 +179,9 @@ func LoadConfig(d ConfigSourceDescriptor, doWithConfig ...func(cfg config.Provid return l.cfg, configFiles, err } -// LoadConfigDefault is a convenience method to load the default "config.toml" config. +// LoadConfigDefault is a convenience method to load the default "hugo.toml" config. func LoadConfigDefault(fs afero.Fs) (config.Provider, error) { - v, _, err := LoadConfig(ConfigSourceDescriptor{Fs: fs, Filename: "config.toml"}) + v, _, err := LoadConfig(ConfigSourceDescriptor{Fs: fs}) return v, err } @@ -202,7 +219,7 @@ func (d ConfigSourceDescriptor) configFileDir() string { func (d ConfigSourceDescriptor) configFilenames() []string { if d.Filename == "" { - return []string{"config"} + return nil } return strings.Split(d.Filename, ",") } |