summaryrefslogtreecommitdiffstats
path: root/deploy/deployConfig.go
diff options
context:
space:
mode:
authorsatotake <doublequotation@gmail.com>2020-08-04 02:06:18 +0900
committerGitHub <noreply@github.com>2020-08-03 19:06:18 +0200
commit12f6a1cdc0aedf4319367af57bda3c94150d6a84 (patch)
tree1c04900acb91150c8d05c685648ef94937dac3df /deploy/deployConfig.go
parent2fa851e6500752c0cea1da5cfdfc6d99e0a81a71 (diff)
Respect mediatypes for deploy
Fixes #6861
Diffstat (limited to 'deploy/deployConfig.go')
-rw-r--r--deploy/deployConfig.go20
1 files changed, 18 insertions, 2 deletions
diff --git a/deploy/deployConfig.go b/deploy/deployConfig.go
index ecfabb7a4..cc2b15280 100644
--- a/deploy/deployConfig.go
+++ b/deploy/deployConfig.go
@@ -20,6 +20,7 @@ import (
"github.com/gobwas/glob"
"github.com/gohugoio/hugo/config"
hglob "github.com/gohugoio/hugo/hugofs/glob"
+ "github.com/gohugoio/hugo/media"
"github.com/mitchellh/mapstructure"
)
@@ -31,7 +32,8 @@ type deployConfig struct {
Matchers []*matcher
Order []string
- ordering []*regexp.Regexp // compiled Order
+ ordering []*regexp.Regexp // compiled Order
+ mediaTypes media.Types
}
type target struct {
@@ -108,7 +110,12 @@ func (m *matcher) Matches(path string) bool {
// decode creates a config from a given Hugo configuration.
func decodeConfig(cfg config.Provider) (deployConfig, error) {
- var dcfg deployConfig
+
+ var (
+ mediaTypesConfig []map[string]interface{}
+ dcfg deployConfig
+ )
+
if !cfg.IsSet(deploymentConfigKey) {
return dcfg, nil
}
@@ -134,5 +141,14 @@ func decodeConfig(cfg config.Provider) (deployConfig, error) {
}
dcfg.ordering = append(dcfg.ordering, re)
}
+
+ if cfg.IsSet("mediaTypes") {
+ mediaTypesConfig = append(mediaTypesConfig, cfg.GetStringMap("mediaTypes"))
+ }
+
+ dcfg.mediaTypes, err = media.DecodeTypes(mediaTypesConfig...)
+ if err != nil {
+ return dcfg, err
+ }
return dcfg, nil
}