summaryrefslogtreecommitdiffstats
path: root/resources/images
diff options
context:
space:
mode:
Diffstat (limited to 'resources/images')
-rw-r--r--resources/images/config.go15
-rw-r--r--resources/images/filters.go3
2 files changed, 18 insertions, 0 deletions
diff --git a/resources/images/config.go b/resources/images/config.go
index c8990d5ca..a8b5412d6 100644
--- a/resources/images/config.go
+++ b/resources/images/config.go
@@ -20,6 +20,7 @@ import (
"strings"
"github.com/gohugoio/hugo/helpers"
+ "github.com/gohugoio/hugo/media"
"github.com/pkg/errors"
@@ -45,6 +46,15 @@ var (
".webp": WEBP,
}
+ imageFormatsBySubType = map[string]Format{
+ media.JPEGType.SubType: JPEG,
+ media.PNGType.SubType: PNG,
+ media.TIFFType.SubType: TIFF,
+ media.BMPType.SubType: BMP,
+ media.GIFType.SubType: GIF,
+ media.WEBPType.SubType: WEBP,
+ }
+
// Add or increment if changes to an image format's processing requires
// re-generation.
imageFormatsVersions = map[Format]int{
@@ -102,6 +112,11 @@ func ImageFormatFromExt(ext string) (Format, bool) {
return f, found
}
+func ImageFormatFromMediaSubType(sub string) (Format, bool) {
+ f, found := imageFormatsBySubType[sub]
+ return f, found
+}
+
const (
defaultJPEGQuality = 75
defaultResampleFilter = "box"
diff --git a/resources/images/filters.go b/resources/images/filters.go
index e166a0f9d..fd7e31457 100644
--- a/resources/images/filters.go
+++ b/resources/images/filters.go
@@ -66,6 +66,9 @@ func (*Filters) Text(text string, options ...interface{}) gift.Filter {
case "linespacing":
tf.linespacing = cast.ToInt(v)
case "font":
+ if err, ok := v.(error); ok {
+ panic(fmt.Sprintf("invalid font source: %s", err))
+ }
fontSource, ok1 := v.(hugio.ReadSeekCloserProvider)
identifier, ok2 := v.(resource.Identifier)