mirror of
https://github.com/gohugoio/hugo.git
synced 2025-08-11 20:03:58 +02:00
Add resources.Copy
Implemented by most Resource objects, but not Page (for now). Fixes #9313
This commit is contained in:
@@ -42,6 +42,7 @@ import (
|
||||
|
||||
var (
|
||||
_ resource.ContentResource = (*resourceAdapter)(nil)
|
||||
_ resourceCopier = (*resourceAdapter)(nil)
|
||||
_ resource.ReadSeekCloserResource = (*resourceAdapter)(nil)
|
||||
_ resource.Resource = (*resourceAdapter)(nil)
|
||||
_ resource.Source = (*resourceAdapter)(nil)
|
||||
@@ -175,6 +176,19 @@ func (r *resourceAdapter) Data() any {
|
||||
return r.target.Data()
|
||||
}
|
||||
|
||||
func (r resourceAdapter) cloneTo(targetPath string) resource.Resource {
|
||||
newtTarget := r.target.cloneTo(targetPath)
|
||||
newInner := &resourceAdapterInner{
|
||||
spec: r.spec,
|
||||
target: newtTarget.(transformableResource),
|
||||
}
|
||||
if r.resourceAdapterInner.publishOnce != nil {
|
||||
newInner.publishOnce = &publishOnce{}
|
||||
}
|
||||
r.resourceAdapterInner = newInner
|
||||
return &r
|
||||
}
|
||||
|
||||
func (r *resourceAdapter) Crop(spec string) (images.ImageResource, error) {
|
||||
return r.getImageOps().Crop(spec)
|
||||
}
|
||||
@@ -596,6 +610,7 @@ type transformableResource interface {
|
||||
resource.ContentProvider
|
||||
resource.Resource
|
||||
resource.Identifier
|
||||
resourceCopier
|
||||
}
|
||||
|
||||
type transformationUpdate struct {
|
||||
|
Reference in New Issue
Block a user