summaryrefslogtreecommitdiffstats
path: root/hugolib/config.go
diff options
context:
space:
mode:
Diffstat (limited to 'hugolib/config.go')
-rw-r--r--hugolib/config.go37
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, ",")
}