package transform

import "github.com/gohugoio/hugo/transform"

Index

Types

type BytesReader

type BytesReader interface {
	// The slice given by Bytes is valid for use only until the next buffer modification.
	// That is, if you want to use this value outside of the current transformer step,
	// you need to take a copy.
	Bytes() []byte

	io.Reader
}

BytesReader wraps the Bytes method, usually implemented by bytes.Buffer, and an io.Reader.

type Chain

type Chain []Transformer

Chain is an ordered processing chain. The next transform operation will receive the output from the previous.

func New

func New(trs ...Transformer) Chain

New creates a content transformer chain given the provided transform funcs.

func NewEmpty

func NewEmpty() Chain

NewEmpty creates a new slice of transformers with a capacity of 20.

func (*Chain) Apply

func (c *Chain) Apply(to io.Writer, from io.Reader) error

Apply passes the given from io.Reader through the transformation chain. The result is written to to.

type FromTo

type FromTo interface {
	From() BytesReader
	To() io.Writer
}

FromTo is sent to each transformation step in the chain.

type Transformer

type Transformer func(ft FromTo) error

Transformer is the func that needs to be implemented by a transformation step.

Source Files

chain.go

Directories

PathSynopsis
transform/livereloadinject
transform/metainject
transform/urlreplacers
Version
v0.144.2 (latest)
Published
Feb 19, 2025
Platform
linux/amd64
Imports
6 packages
Last checked
13 hours ago

Tools for package owners.