diff options
author | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2019-02-01 07:45:35 +0100 |
---|---|---|
committer | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2019-02-01 07:47:40 +0100 |
commit | 3244cb3b31f8f8c39d9dfa82bc01fb2d6db59257 (patch) | |
tree | 8bf7e67eb83d734ccf8247f217e6d474ef640917 /config/configLoader.go | |
parent | d9282cf98a346fcf98f363d9c353e4920ca85fc7 (diff) |
Ignore unknown config files in config dir
Swap files etc.
Fixes #5646
Diffstat (limited to 'config/configLoader.go')
-rw-r--r-- | config/configLoader.go | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/config/configLoader.go b/config/configLoader.go index f2265dc6a..b8aa3fda3 100644 --- a/config/configLoader.go +++ b/config/configLoader.go @@ -14,6 +14,9 @@ package config import ( + "path/filepath" + "strings" + "github.com/gohugoio/hugo/common/maps" "github.com/gohugoio/hugo/parser/metadecoders" "github.com/spf13/afero" @@ -21,9 +24,23 @@ import ( ) var ( - ValidConfigFileExtensions = []string{"toml", "yaml", "yml", "json"} + ValidConfigFileExtensions = []string{"toml", "yaml", "yml", "json"} + validConfigFileExtensionsMap map[string]bool = make(map[string]bool) ) +func init() { + for _, ext := range ValidConfigFileExtensions { + validConfigFileExtensionsMap[ext] = true + } +} + +// IsValidConfigFilename returns whether filename is one of the supported +// config formats in Hugo. +func IsValidConfigFilename(filename string) bool { + ext := strings.ToLower(strings.TrimPrefix(filepath.Ext(filename), ".")) + return validConfigFileExtensionsMap[ext] +} + // FromConfigString creates a config from the given YAML, JSON or TOML config. This is useful in tests. func FromConfigString(config, configType string) (Provider, error) { v := newViper() |