diff options
Diffstat (limited to 'resources/resource/resourcetypes.go')
-rw-r--r-- | resources/resource/resourcetypes.go | 20 |
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) } |