package resources

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

Package resources provides template functions for working with resources.

Index

Package Files

init.go resources.go

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) Babel

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

Babel processes the given Resource with Babel.

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

Copy copies r to the new targetPath in s.

func (*Namespace) ExecuteAsTemplate

func (ns *Namespace) ExecuteAsTemplate(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

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 argument, for any error situations the error can be checked in .Err.

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

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

func (*Namespace) PostCSS

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

PostCSS processes the given Resource with PostCSS

func (*Namespace) PostProcess

func (*Namespace) ToCSS

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

ToCSS converts the given Resource to CSS. You can optional provide an Options object or a target path (string) as first argument.

Version
v0.101.0 (latest)
Published
Jun 16, 2022
Platform
linux/amd64
Imports
22 packages (graph)
Last checked
3 hours ago

Tools for package owners.