package resources

import "github.com/gohugoio/hugo/tpl/resources"

Package resources provides template functions for working with resources.

Index

Types

type Namespace

type Namespace struct {
	// contains filtered or unexported fields
}

Namespace provides template functions for the "resources" namespace.

func New

func New(deps *deps.Deps) (*Namespace, error)

New returns a new instance of the resources-namespaced template functions.

func (*Namespace) ByType

func (ns *Namespace) ByType(typ any) resource.Resources

ByType returns resources of a given resource type (e.g. "image").

func (*Namespace) Concat

func (ns *Namespace) Concat(targetPathIn any, r any) (resource.Resource, error)

Concat concatenates a slice of Resource objects. These resources must (currently) be of the same Media Type.

func (*Namespace) Copy

func (ns *Namespace) Copy(s any, r resource.Resource) (resource.Resource, error)

Copy copies r to the new targetPath in s.

func (*Namespace) ExecuteAsTemplate

func (ns *Namespace) ExecuteAsTemplate(ctx context.Context, args ...any) (resource.Resource, error)

ExecuteAsTemplate creates a Resource from a Go template, parsed and executed with the given data, and published to the relative target path.

func (*Namespace) Fingerprint

func (ns *Namespace) Fingerprint(args ...any) (resource.Resource, error)

Fingerprint transforms the given Resource with a MD5 hash of the content in the RelPermalink and Permalink.

func (*Namespace) FromString

func (ns *Namespace) FromString(targetPathIn, contentIn any) (resource.Resource, error)

FromString creates a Resource from a string published to the relative target path.

func (*Namespace) Get

func (ns *Namespace) Get(filename any) resource.Resource

Get locates the filename given in Hugo's assets filesystem and creates a Resource object that can be used for further transformations.

func (*Namespace) GetMatch

func (ns *Namespace) GetMatch(pattern any) resource.Resource

GetMatch finds the first Resource matching the given pattern, or nil if none found.

It looks for files in the assets file system.

See Match for a more complete explanation about the rules used.

func (*Namespace) GetRemote

func (ns *Namespace) GetRemote(args ...any) (resource.Resource, error)

GetRemote gets the URL (via HTTP(s)) in the first argument in args and creates Resource object that can be used for further transformations.

A second argument may be provided with an option map.

Note: This method does not return any error as a second return value, for any error situations the error can be checked in .Err.

func (*Namespace) Key

func (ns *Namespace) Key() string

For internal use only.

func (*Namespace) Match

func (ns *Namespace) Match(pattern any) resource.Resources

Match gets all resources matching the given base path prefix, e.g "*.png" will match all png files. The "*" does not match path delimiters (/), so if you organize your resources in sub-folders, you need to be explicit about it, e.g.: "images/*.png". To match any PNG image anywhere in the bundle you can do "**.png", and to match all PNG images below the images folder, use "images/**.jpg".

The matching is case insensitive.

Match matches by using the files name with path relative to the file system root with Unix style slashes (/) and no leading slash, e.g. "images/logo.png".

See https://github.com/gobwas/glob for the full rules set.

It looks for files in the assets file system.

See Match for a more complete explanation about the rules used.

func (*Namespace) Minify

func (ns *Namespace) Minify(r resources.ResourceTransformer) (resource.Resource, error)

Minify minifies the given Resource using the MediaType to pick the correct minifier.

func (*Namespace) PostProcess

func (ns *Namespace) PostProcess(r resource.Resource) (postpub.PostPublishedResource, error)

PostProcess processes r after the build.

Deprecated: Use templates.Defer instead.

Source Files

init.go resources.go

Version
v0.165.0 (latest)
Published
Aug 12, 2026
Platform
linux/amd64
Imports
16 packages
Last checked
2 hours ago

Tools for package owners.