diff options
author | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2019-09-04 14:07:10 +0200 |
---|---|---|
committer | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2019-09-04 17:24:50 +0200 |
commit | bb894ceaf8d3655dd14bc63bf4a4557e3a16f530 (patch) | |
tree | 1aa9eab6cd4b10f81a0d382a6c009147333d1df7 /resources/image.go | |
parent | 529c7f1090e16c1bcff39948a8a5f4ed054650fb (diff) |
Allow slices in the image Filter funcs, not just varargs
[ci skip]
See #6255
Diffstat (limited to 'resources/image.go')
-rw-r--r-- | resources/image.go | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/resources/image.go b/resources/image.go index 8a9e6fde4..26b9b8710 100644 --- a/resources/image.go +++ b/resources/image.go @@ -28,6 +28,8 @@ import ( "strings" "sync" + "github.com/disintegration/gift" + "github.com/gohugoio/hugo/cache/filecache" "github.com/gohugoio/hugo/resources/images/exif" @@ -37,7 +39,6 @@ import ( _errors "github.com/pkg/errors" - "github.com/disintegration/gift" "github.com/gohugoio/hugo/helpers" "github.com/gohugoio/hugo/resources/images" @@ -209,12 +210,19 @@ func (i *imageResource) Fill(spec string) (resource.Image, error) { }) } -func (i *imageResource) Filter(filters ...gift.Filter) (resource.Image, error) { +func (i *imageResource) Filter(filters ...interface{}) (resource.Image, error) { conf := i.Proc.GetDefaultImageConfig("filter") - conf.Key = internal.HashString(filters) + + var gfilters []gift.Filter + + for _, f := range filters { + gfilters = append(gfilters, images.ToFilters(f)...) + } + + conf.Key = internal.HashString(gfilters) return i.doWithImageConfig(conf, func(src image.Image) (image.Image, error) { - return i.Proc.Filter(src, filters...) + return i.Proc.Filter(src, gfilters...) }) } @@ -331,9 +339,6 @@ func (i *imageResource) getImageMetaCacheTargetPath() string { func (i *imageResource) relTargetPathFromConfig(conf images.ImageConfig) dirFile { p1, p2 := helpers.FileAndExt(i.getResourcePaths().relTargetDirFile.file) - if conf.Action == "trace" { - p2 = ".svg" - } h, _ := i.hash() idStr := fmt.Sprintf("_hu%s_%d", h, i.size()) |