HUGO
News Docs Themes Community GitHub

Resources

Returns a collection of page resources.

Syntax

PAGE.Resources

Returns

resource.Resources

The Resources method on a Page object returns a collection of page resources. A page resource is a file within a page bundle.

To work with global or remote resources, see the resources functions.

Methods

ByType

(resource.Resources) Returns a collection of page resources of the given media type, or nil if none found. The media type is typically one of image, text, audio, video, or application.

{{ range .Resources.ByType "image" }}
  <img src="{{ .RelPermalink }}" width="{{ .Width }}" height="{{ .Height }}" alt="">
{{ end }}

When working with global resources instead of page resources, use the resources.ByType function.

Get

(resource.Resource) Returns a page resource from the given path, or nil if none found.

{{ with .Resources.Get "images/a.jpg" }}
  <img src="{{ .RelPermalink }}" width="{{ .Width }}" height="{{ .Height }}" alt="">
{{ end }}

When working with global resources instead of page resources, use the resources.Get function.

GetMatch

(resource.Resource) Returns the first page resource from paths matching the given glob pattern, or nil if none found.

{{ with .Resources.GetMatch "images/*.jpg" }}
  <img src="{{ .RelPermalink }}" width="{{ .Width }}" height="{{ .Height }}" alt="">
{{ end }}

When working with global resources instead of page resources, use the resources.GetMatch function.

Match

(resource.Resources) Returns a collection of page resources from paths matching the given glob pattern, or nil if none found.

{{ range .Resources.Match "images/*.jpg" }}
  <img src="{{ .RelPermalink }}" width="{{ .Width }}" height="{{ .Height }}" alt="">
{{ end }}

When working with global resources instead of page resources, use the resources.Match function.

Mount
New in v0.140.0

(ResourceGetter) Mounts the given resources from the two arguments base (string) to the given target path (string) and returns an object that implements Get. Note that leading slashes in target marks an absolute path. Relative target paths allows you to mount resources relative to another set, e.g. a Page bundle:

{{ $common := resources.Match "/js/headlessui/*.*" }}
{{ $importContext := (slice $.Page ($common.Mount "/js/headlessui" ".")) }}

This method is currently only useful in js.Batch.

Pattern matching

With the GetMatch and Match methods, Hugo determines a match using a case-insensitive glob pattern.

PathPatternMatch
images/foo/a.jpgimages/foo/*.jpgtrue
images/foo/a.jpgimages/foo/*.*true
images/foo/a.jpgimages/foo/*true
images/foo/a.jpgimages/*/*.jpgtrue
images/foo/a.jpgimages/*/*.*true
images/foo/a.jpgimages/*/*true
images/foo/a.jpg*/*/*.jpgtrue
images/foo/a.jpg*/*/*.*true
images/foo/a.jpg*/*/*true
images/foo/a.jpg**/*.jpgtrue
images/foo/a.jpg**/*.*true
images/foo/a.jpg**/*true
images/foo/a.jpg**true
images/foo/a.jpg*/*.jpgfalse
images/foo/a.jpg*.jpgfalse
images/foo/a.jpg*.*false
images/foo/a.jpg*false