- About Hugo
- Getting Started
- Hugo Modules
-
Content Management
- Content Management Overview
- Organization
- Page Bundles
- Content Formats
- Front Matter
- Build Options
- Page Resources
- Image Processing
- Shortcodes
- Related Content
- Sections
- Content Types
- Archetypes
- Taxonomies
- Summaries
- Links and Cross References
- URL Management
- Menus
- Static Files
- Table of Contents
- Comments
- Multilingual and i18n
- Syntax Highlighting
-
Templates
- Templates Overview
- Introduction
- Template Lookup Order
- Custom Output Formats
- Base Templates and Blocks
- List Page Templates
- Homepage Template
- Section Templates
- Taxonomy Templates
- Single Page Templates
- Content View Templates
- Data Templates
- Partial Templates
- Shortcode Templates
- Local File Templates
- 404 Page
- Menu Templates
- Pagination
- RSS Templates
- Sitemap Template
- Robots.txt
- Internal Templates
- Alternative Templating
- Template Debugging
-
Functions
- Functions Quick Reference
- .AddDate
- .Format
- .Get
- .GetPage
- .HasMenuCurrent
- .IsMenuCurrent
- .Param
- .Render
- .RenderString
- .Scratch
- .Unix
- absLangURL
- absURL
- after
- anchorize
- append
- apply
- base64
- chomp
- complement
- cond
- countrunes
- countwords
- dateFormat
- default
- delimit
- dict
- echoParam
- emojify
- eq
- errorf and warnf
- fileExists
- findRE
- first
- float
- ge
- getenv
- group
- gt
- hasPrefix
- highlight
- hmac
- htmlEscape
- htmlUnescape
- hugo
- humanize
- i18n
- Image Functions
- in
- index
- int
- intersect
- isset
- jsonify
- lang.Merge
- lang.NumFmt
- last
- le
- len
- lower
- lt
- markdownify
- Math
- md5
- merge
- ne
- now
- os.Stat
- partialCached
- path.Base
- path.Dir
- path.Ext
- path.Join
- path.Split
- plainify
- pluralize
- printf
- println
- querify
- range
- readDir
- readFile
- ref
- reflect.IsMap
- reflect.IsSlice
- relLangURL
- relref
- relURL
- replace
- replaceRE
- safeCSS
- safeHTML
- safeHTMLAttr
- safeJS
- safeURL
- seq
- sha
- shuffle
- singularize
- site
- slice
- slicestr
- sort
- split
- string
- strings.Count
- strings.HasSuffix
- strings.Repeat
- strings.RuneCount
- strings.TrimLeft
- strings.TrimPrefix
- strings.TrimRight
- strings.TrimSuffix
- substr
- symdiff
- templates.Exists
- time
- title
- transform.Unmarshal
- trim
- truncate
- union
- uniq
- upper
- urlize
- urls.Parse
- where
- with
- Variables
- Hugo Pipes
- CLI
- Troubleshooting
- Tools
- Hosting & Deployment
- Contribute
- Maintenance
Functions Quick Reference
Go templates are lightweight but extensible. Go itself supplies built-in functions, including comparison operators and other basic tools. These are listed in the Go template documentation . Hugo has added additional functions to the basic template logic.
strings.Count
Returns the number of non-overlapping instances of a substring within a string.
Read More »
hmac
Compute the cryptographic checksum of a message.
Read More »
.RenderString
Renders markup to HTML.
Read More »
strings.HasSuffix
Determine whether or not a given string ends with the provided trailing suffix string.
Read More »
merge
merge
deep merges two maps and returns the resulting map.
Read More »
hugo
The
hugo
function provides easy access to Hugo-related data.
Read More »
transform.Unmarshal
transform.Unmarshal
(alias unmarshal
) parses the input and converts it into a map or an array. Supported formats are JSON, TOML, YAML and CSV.
Read More »
path.Base
Base returns the last element of a path.
Read More »
path.Dir
Dir returns all but the last element of a path.
Read More »
path.Ext
Ext returns the file name extension of a path.
Read More »
path.Join
Join path elements into a single path.
Read More »
path.Split
Split path immediately following the final slash.
Read More »
reflect.IsMap
Reports if a value is a map.
Read More »
reflect.IsSlice
Reports if a value is a slice.
Read More »
complement
collections.Complement
(alias complement
) gives the elements of a collection that are not in any of the others.
Read More »
symdiff
collections.SymDiff
(alias symdiff
) returns the symmetric difference of two collections.
Read More »
templates.Exists
Checks whether a template file exists under the given path relative to the
layouts
directory.
Read More »
anchorize
Takes a string and sanitizes it the same way as Blackfriday does for markdown headers.
Read More »
append
append
appends one or more values to a slice and returns the resulting slice.
Read More »
group
group
groups a list of pages.
Read More »
os.Stat
Gets a file information of a given path.
Read More »
strings.RuneCount
Determines the number of runes in a string.
Read More »
strings.Repeat
Returns INPUT repeated COUNT times.
Read More »
lang.Merge
Merge missing translations from other languages.
Read More »
errorf and warnf
Log ERROR or WARNING from the templates.
Read More »
float
Creates a
float
from the argument passed into the function.
Read More »
urls.Parse
Parse parses a given url, which may be relative or absolute, into a URL structure.
Read More »
cond
Return one of two arguments, depending on the value of a third argument.
Read More »
fileExists
Checks whether a file exists under the given path.
Read More »
ge
Returns the boolean truth of arg1 >= arg2.
Read More »
gt
Returns the boolean truth of arg1 > arg2.
Read More »
le
Returns the boolean truth of arg1 <= arg2.
Read More »
lt
Returns the boolean truth of arg1 < arg2.
Read More »
ne
Returns the boolean truth of arg1 != arg2.
Read More »
.AddDate
Returns the time corresponding to adding the given number of years, months, and days passed to the function.
Read More »
.Format
Formats built-in Hugo dates—
.Date
, .PublishDate
, and .Lastmod
—according to Go’s layout string.
Read More »
.Get
Accesses positional and ordered parameters in shortcode declaration.
Read More »
.HasMenuCurrent
.HasMenuCurrent is a method in Page object returning a boolean value. It returns true if the PAGE is the same object as the .Page in one of the children menu entries under MENUENTRY in a given MENU.
You can find its example use in menu templates .
Read More »
.IsMenuCurrent
.IsMenuCurrent is a method in Page object returning a boolean value. It returns true if the PAGE is the same object as the .Page in MENUENTRY in a given MENU.
You can find its example use in menu templates .
Read More »
.Param
Calls page or site variables into your template.
Read More »
.Render
Takes a view to apply when rendering content.
Read More »
.Scratch
Acts as a “scratchpad” to allow for writable page- or shortcode-scoped variables.
Read More »
.Unix
.Unix returns the local Time corresponding to the given Unix time, sec seconds and nsec nanoseconds since January 1, 1970 UTC.
Read More »
absLangURL
Adds the absolute URL with correct language prefix according to site configuration for multilingual.
Read More »
absURL
Creates an absolute URL based on the configured baseURL.
Read More »
after
after
slices an array to only the items after the Nth item.
Read More »
apply
Given a map, array, or slice,
apply
returns a new slice with a function applied over it.
Read More »
base64
base64Encode
and base64Decode
let you easily decode content with a base64 encoding and vice versa through pipes.
Read More »
chomp
Removes any trailing newline characters.
Read More »
countrunes
Determines the number of runes in a string excluding any whitespace.
Read More »
countwords
Counts the number of words in a string.
Read More »
dateFormat
Converts the textual representation of the
datetime
into the specified format.
Read More »
default
Allows setting a default value that can be returned if a first value is not set.
Read More »
delimit
Loops through any array, slice, or map and returns a string of all the values separated by a delimiter.
Read More »
dict
Creates a dictionary from a list of key and value pairs.
Read More »
echoParam
Prints a parameter if it is set.
Read More »
emojify
Runs a string through the Emoji emoticons processor.
Read More »
eq
Returns the boolean truth of arg1 == arg2.
Read More »
findRE
Returns a list of strings that match the regular expression.
Read More »
first
Slices an array to only the first N elements.
Read More »
getenv
Returns the value of an environment variable.
Read More »
hasprefix
Tests whether a string begins with prefix.
Read More »
highlight
Takes a string of code and language declaration and uses Chroma to return syntax-highlighted HTML.
Read More »
htmlEscape
Returns the given string with the reserved HTML codes escaped.
Read More »
htmlUnescape
Returns the given string with HTML escape codes un-escaped.
Read More »
humanize
Returns the humanized version of an argument with the first letter capitalized.
Read More »
i18n
Translates a piece of content based on your i18n configuration files.
Read More »
Image Functions
The images namespace provides a list of filters and other image related functions.
Read More »
in
Checks if an element is in an array or slice–or a substring in a string—and returns a boolean.
Read More »
index
Looks up the index(es) or key(s) of the data structure passed into it.
Read More »
int
Creates an
int
from the argument passed into the function.
Read More »
intersect
Returns the common elements of two arrays or slices, in the same order as the first array.
Read More »
isset
Returns true if the parameter is set.
Read More »
jsonify
Encodes a given object to JSON.
Read More »
lang.NumFmt
Formats a number with a given precision using the requested
negative
, decimal
, and grouping
options. The options
parameter is a string consisting of <negative> <decimal> <grouping>
.
Read More »
last
slices an array to only the last Nth elements.
Read More »
len
Returns the length of a variable according to its type.
Read More »
lower
Converts all characters in the provided string to lowercase.
Read More »
markdownify
Runs the provided string through the Markdown processor.
Read More »
Math
Hugo provides nine mathematical operators in templates.
Read More »
md5
hashes the given input and returns its MD5 checksum.
Read More »
now
Returns the current local time
Read More »
partialCached
Allows for caching of partials that do not need to be re-rendered on every invocation.
Read More »
plainify
Strips any HTML and returns the plain text version of the provided string.
Read More »
pluralize
Pluralizes the given word according to a set of common English pluralization rules
Read More »
Prints the default representation of the given arguments using the standard
fmt.Print
function.
Read More »
printf
Formats a string using the standard
fmt.Sprintf
function.
Read More »
println
Prints the default representation of the given argument using the standard
fmt.Print
function and enforces a linebreak.
Read More »
querify
Takes a set of key-value pairs and returns a query string to be appended to URLs.
Read More »
range
Iterates over a map, array, or slice.
Read More »
readDir
Gets a directory listing from a directory relative to the current working directory.
Read More »
readFile
Reads a file from disk relative to the current project working directory and returns a string.
Read More »
ref
Returns the absolute permalink to a page.
Read More »
relLangURL
Adds the relative URL with correct language prefix according to site configuration for multilingual.
Read More »
relref
Returns the relative permalink to a page.
Read More »
relURL
Creates a baseURL-relative URL.
Read More »
replace
Replaces all occurrences of the search string with the replacement string.
Read More »
replaceRE
Replaces all occurrences of a regular expression with the replacement pattern.
Read More »
safeCSS
Declares the provided string as a known “safe” CSS string.
Read More »
safeHTML
Declares a provided string as a “safe” HTML document to avoid escaping by Go templates.
Read More »
safeHTMLAttr
Declares the provided string as a safe HTML attribute.
Read More »
safeJS
Declares the provided string as a known safe JavaScript string.
Read More »
safeURL
Declares the provided string as a safe URL or URL substring.
Read More »
seq
Creates a sequence of integers.
Read More »
sha
Hashes the given input and returns either an SHA1 or SHA256 checksum.
Read More »
shuffle
Returns a random permutation of a given array or slice.
Read More »
singularize
Converts a word according to a set of common English singularization rules.
Read More »
slice
Creates a slice (array) of all passed arguments.
Read More »
slicestr
Creates a slice of a half-open range, including start and end indices.
Read More »
sort
Sorts maps, arrays, and slices and returns a sorted slice.
Read More »
split
splits a string into substrings separated by a delimiter
Read More »
string
Creates a string from the argument passed to the function
Read More »
strings.TrimLeft
Returns a slice of a given string with all leading characters contained in the cutset removed.
Read More »
strings.TrimPrefix
Returns a given string s without the provided leading prefix string. If s doesn’t start with prefix, s is returned unchanged.
Read More »
strings.TrimRight
Returns a slice of a given string with all trailing characters contained in the cutset removed.
Read More »
strings.TrimSuffix
Returns a given string s without the provided trailing suffix string. If s doesn’t end with suffix, s is returned unchanged.
Read More »
substr
Extracts parts of a string from a specified character’s position and returns the specified number of characters.
Read More »
time
Converts a timestamp string into a
time.Time
structure.
Read More »
title
Converts all characters in the provided string to title case.
Read More »
trim
Returns a slice of a passed string with all leading and trailing characters from cutset removed.
Read More »
truncate
Truncates a text to a max length without cutting words or leaving unclosed HTML tags.
Read More »
union
Given two arrays or slices, returns a new array that contains the elements or objects that belong to either or both arrays/slices.
Read More »
uniq
Takes in a slice or array and returns a slice with subsequent duplicate elements removed.
Read More »
upper
Converts all characters in a string to uppercase
Read More »
urlize
Takes a string, sanitizes it for usage in URLs, and converts spaces to hyphens.
Read More »
where
Filters an array to only the elements containing a matching value for a given field.
Read More »
with
Rebinds the context (
.
) within its scope and skips the block if the variable is absent or empty.
Read More »