summaryrefslogtreecommitdiffstats
path: root/resources/resource/resourcetypes.go
diff options
context:
space:
mode:
Diffstat (limited to 'resources/resource/resourcetypes.go')
-rw-r--r--resources/resource/resourcetypes.go20
1 files changed, 19 insertions, 1 deletions
diff --git a/resources/resource/resourcetypes.go b/resources/resource/resourcetypes.go
index 5a5839735..32c76fc83 100644
--- a/resources/resource/resourcetypes.go
+++ b/resources/resource/resourcetypes.go
@@ -23,7 +23,7 @@ import (
// Cloner is an internal template and not meant for use in the templates. It
// may change without notice.
type Cloner interface {
- WithNewBase(base string) Resource
+ Clone() Resource
}
// Resource represents a linkable resource, i.e. a content page, image etc.
@@ -35,6 +35,20 @@ type Resource interface {
ResourceDataProvider
}
+// Image represents an image resource.
+type Image interface {
+ Resource
+ ImageOps
+}
+
+type ImageOps interface {
+ Height() int
+ Width() int
+ Fill(spec string) (Image, error)
+ Fit(spec string) (Image, error)
+ Resize(spec string) (Image, error)
+}
+
type ResourceTypesProvider interface {
// MediaType is this resource's MIME type.
MediaType() media.Type
@@ -117,6 +131,10 @@ type OpenReadSeekCloser func() (hugio.ReadSeekCloser, error)
// ReadSeekCloserResource is a Resource that supports loading its content.
type ReadSeekCloserResource interface {
MediaType() media.Type
+ ReadSeekCloserProvider
+}
+
+type ReadSeekCloserProvider interface {
ReadSeekCloser() (hugio.ReadSeekCloser, error)
}