diff options
author | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2018-12-21 16:21:13 +0100 |
---|---|---|
committer | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2018-12-23 10:02:42 +0100 |
commit | 822dc627a1cfdf1f97882f27761675ac6ace7669 (patch) | |
tree | b453158c329495fa59dc38374eb8296995ba0ce0 /resource/transform.go | |
parent | 43f9df0194d229805d80b13c9e38a7a0fec12cf4 (diff) |
tpl/transform: Add transform.Unmarshal func
Fixes #5428
Diffstat (limited to 'resource/transform.go')
-rw-r--r-- | resource/transform.go | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/resource/transform.go b/resource/transform.go index 796c7ee23..bd59d0658 100644 --- a/resource/transform.go +++ b/resource/transform.go @@ -38,6 +38,7 @@ var ( _ ContentResource = (*transformedResource)(nil) _ ReadSeekCloserResource = (*transformedResource)(nil) _ collections.Slicer = (*transformedResource)(nil) + _ Identifier = (*transformedResource)(nil) ) func (s *Spec) Transform(r Resource, t ResourceTransformation) (Resource, error) { @@ -249,6 +250,13 @@ func (r *transformedResource) MediaType() media.Type { return m } +func (r *transformedResource) Key() string { + if err := r.initTransform(false, false); err != nil { + return "" + } + return r.linker.relPermalinkFor(r.Target) +} + func (r *transformedResource) Permalink() string { if err := r.initTransform(false, true); err != nil { return "" @@ -481,8 +489,8 @@ func (r *transformedResource) transform(setContent, publish bool) (err error) { } return nil - } + func (r *transformedResource) initTransform(setContent, publish bool) error { r.transformInit.Do(func() { r.published = publish |