HUGO

  • News
  • Docs
  • Themes
  • Showcase
  • Community
  • GitHub
gohugoio Star
  • About Hugo
    • Overview
    • What is Hugo
    • Hugo features
    • Static site generators
    • Hugo's security model
    • Hugo and the GDPR
    • License
  • Installation
    • Overview
    • macOS
    • Linux
    • Windows
    • BSD
  • Getting started
    • Overview
    • Quick start
    • Basic usage
    • Directory structure
    • Configuration
    • Configure markup
    • Glossary of terms
    • External learning resources
  • Quick reference
    • Overview
    • Emojis
    • Functions
    • Methods
    • Page collections
  • 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
    • Markdown attributes
    • Syntax highlighting
    • Diagrams
    • Mathematics
  • Templates
    • Overview
    • Templating
    • Template lookup order
    • Base templates and blocks
    • Single page templates
    • List templates
    • Homepage template
    • Section templates
    • Taxonomy templates
    • Pagination
    • Content view templates
    • Partial templates
    • Shortcode templates
    • Menu templates
    • Data templates
    • RSS templates
    • Sitemap templates
    • Internal templates
    • Custom output formats
    • 404 page
    • Robots.txt
  • Functions
    • Overview
    • cast
    • collections
    • compare
    • crypto
    • data
    • debug
    • diagrams
    • encoding
    • fmt
    • global
    • go template
    • hugo
    • images
    • inflect
    • js
    • lang
    • math
    • openapi3
    • os
    • partials
    • path
    • reflect
    • resources
    • safe
    • strings
    • templates
    • time
    • transform
    • urls
  • Methods
    • Overview
    • Duration
    • Menu
    • Menu entry
    • Page
    • Pages
    • Resource
    • Shortcode
    • Site
    • Taxonomy
    • Time
  • Render hooks
    • Overview
    • Introduction
    • Code blocks
    • Headings
    • Images
    • Links
  • Hugo Modules
    • Overview
    • Configure Hugo modules
    • Use Hugo Modules
    • Theme components
  • Hugo Pipes
    • Overview
    • Introduction
    • Transpile Sass to CSS
    • PostCSS
    • PostProcess
    • JavaScript building
    • Babel
    • Asset minification
    • Concatenating assets
    • Fingerprinting and SRI hashing
    • Resource from string
    • Resource from template
  • CLI
  • Troubleshooting
    • Overview
    • Audit
    • Logging
    • Inspection
    • Deprecation
    • Performance
    • FAQs
  • Developer tools
    • Overview
    • Editor plugins
    • Front-ends
    • Search
    • Migrations
    • Other projects
  • Hosting and deployment
    • Overview
    • Hugo Deploy
    • Deploy with Rclone
    • Deploy with Rsync
    • Host on 21YunBox
    • Host on AWS Amplify
    • Host on Azure Static Web Apps
    • Host on Cloudflare Pages
    • Host on Firebase
    • Host on GitHub Pages
    • Host on GitLab Pages
    • Host on KeyCDN
    • Host on Netlify
    • Host on Render
  • Contribute
    • Overview
    • Development
    • Documentation
    • Themes
  • Maintenance
GETTING STARTED

Glossary of terms

Terms commonly used throughout the documentation.

A  B  C  D  E  F  G  I  K  L  M  N  O  P  R  S  T  U  V  W 

action

See template action.

archetype

A template for new content. See details.

argument

A scalar, array, slice, map, or object passed to a function, method, or shortcode.

array

A numbered sequence of elements. Unlike Go’s slice data type, an array has a fixed length. Elements within an array can be scalars, slices, maps, pages, or other arrays. See the Go documentation for details.

bool

See boolean.

boolean

A data type with two possible values, either true or false.

branch bundle

A page bundle with an _index.md file and zero or more resources. Analogous to a physical branch, a branch bundle may have descendants including regular pages, leaf bundles, and other branch bundles. See details.

build

To generate a static site that includes HTML files and assets such as images, CSS, and JavaScript. The build process includes rendering and resource transformations.

bundle

See page bundle.

cache

A software component that stores data so that future requests for the same data are faster.

chain

Within a template, to connect one or more identifiers with a dot. An identifier can represent a method, object, or field. For example, .Site.Params.author.name or .Date.UTC.Hour.

CJK

A collective term for the Chinese, Japanese, and Korean languages. See details.

collection

An array, slice, or map.

content format

A markup language for creating content. Typically Markdown, but may also be HTML, AsciiDoc, Org, Pandoc, or reStructuredText. See details.

content type

A classification of content inferred from the top-level directory name or the type set in front matter. Pages in the root of the content directory, including the home page, are of type “page”. Accessed via .Page.Type in templates. See details.

content view

A template called with the .Page.Render method. See details.

context

Represented by a dot “.” within a template action, context is the current location in a data structure. For example, while iterating over a collection of pages, the context within each iteration is the page’s data structure. The context received by each template depends on template type and/or how it was called. See details.

default sort order

The default sort order for page collections. Hugo sorts by weight, then by date (descending), then by link title, and then by file path.

element

A member of a slice or array.

environment

Typically one of development, staging, or production, each environment may exhibit different behavior depending on configuration and template logic. For example, in a production environment you might minify and fingerprint CSS, but that probably doesn’t make sense in a development environment.

When running the built-in development server with the hugo server command, the environment is set to development. When building your site with the hugo command, the environment is set to production. To override the environment value, use the --environment command line flag or the HUGO_ENVIRONMENT environment variable.

To determine the current environment within a template, use the hugo.Environment function.

field

A predefined key/value pair in front matter such as date or title. See also parameter.

flag

An option passed to a command-line program, beginning with one or two hyphens. See details.

float

See floating point.

floating point

A numeric data type with a fractional component. For example, 3.14159.

fragment

The final segment of a URL, beginning with a hash (#) mark, that references an id attribute of an HTML element on the page.

front matter

Metadata at the beginning of each content page, separated from the content by format-specific delimiters. See details.

function

Used within a template action, a function takes one or more arguments and returns a value. Unlike methods, functions are not associated with an object. See details.

global resource

A file within the assets directory, or within any directory mounted to the assets directory. Capture one or more global resources using the resources.Get, resources.GetMatch, resources.Match, or resources.ByType functions.

identifier

A string that represents a variable, method, object, or field. It must conform to Go’s language specification, beginning with a letter or underscore, followed by zero or more letters, digits, or underscores.

int

See integer.

integer

A numeric data type without a fractional component. For example, 42.

internationalization

Software design and development efforts that enable localization. See the W3C definition. Abbreviated i18n.

interval

An interval is a range of numbers between two endpoints: closed, open, or half-open.

  • A closed interval, denoted by brackets, includes its endpoints. For example, [0, 1] is the interval where 0 <= x <= 1.

  • An open interval, denoted by parentheses, excludes its endpoints. For example, (0, 1) is the interval where 0 < x < 1.

  • A half-open interval includes only one of its endpoints. For example, (0, 1] is the left-open interval where 0 < x <= 1, while [0, 1) is the right-open interval where 0 <= x < 1.

kind

See page kind.

layout

See template.

leaf bundle

A page bundle with an index.md file and zero or more resources. Analogous to a physical leaf, a leaf bundle is at the end of a branch. Hugo ignores content (but not resources) beneath the leaf bundle. See details.

list page

Any page kind that receives a page collection in context. This includes the home page, section pages, taxonomy pages, and term pages.

localization

Adaptation of a site to meet language and regional requirements. This includes translations, language-specific media, date and currency formats, etc. See details and the W3C definition. Abbreviated l10n.

logical path

A page or page resource identifier derived from the file path, excluding its extension and language identifier. This value is neither a file path nor a URL. See details.

map

An unordered group of elements, each indexed by a unique key. See the Go documentation for details.

Markdown attribute

A list of attributes, containing one or more key/value pairs, separated by spaces or commas, and wrapped by braces. Apply Markdown attributes to images and block-level elements including blockquotes, fenced code blocks, headings, horizontal rules, lists, paragraphs, and tables. See details.

marshal

To transform a data structure into a serialized object. For example, transforming a map into a JSON string. See unmarshal.

method

Used within a template action and associated with an object, a method takes zero or more arguments and either returns a value or performs an action. For example, .IsHome is a method on the .Page object which returns true if the current page is the home page. See also function.

module

Like a theme, a module is a packaged combination of archetypes, assets, content, data, templates, translation tables, static files, or configuration settings. A module may serve as the basis for a new site, or to augment an existing site. See details.

node

A class of page kinds including home, section, taxonomy, and term.

noop

An abbreviated form of “no operation”, a noop is a statement that does nothing.

object

A data structure with or without associated methods.

ordered taxonomy

Created by invoking the Alphabetical or ByCount method on a taxonomy object, which is a map, an ordered taxonomy is a slice, where each element is an object that contains the term and a slice of its weighted pages.

output format

Hugo generates one or more files per page when building a site. For example, when rendering home, section, taxonomy, and term pages, Hugo generates an HTML file and an RSS file. Both HTML and RSS are built-in output formats. Create multiple output formats, and control generation based on page kind, or by enabling one or more output formats for one or more pages. See details.

page bundle

A directory that encapsulates both content and associated resources. There are two types of page bundles: leaf bundles and branch bundles. See details.

page collection

A slice of page objects.

page kind

A classification of pages, one of home, page, section, taxonomy, or term. See details.

Note that there are also RSS, sitemap, robotsTXT, and 404 page kinds, but these are only available during the rendering of each of these respective page’s kind and therefore not available in any of the Pages collections.

page resource

A file within a page bundle. Capture one or more page resources using any of the Resources methods on a Page object.

pager

Created during pagination, a pager contains a subset of a section list, and navigation links to other pagers.

paginate

To split a section list into two or more pagers See details.

pagination

The process of paginating a section list.

parameter

Typically, a user-defined key/value pair at the site or page level, but may also refer to a configuration setting or an argument. See also field.

partial

A template called from any other template including shortcodes, render hooks, and other partials. A partial either renders something or returns something. A partial can also call itself, for example, to walk a data structure.

permalink

The absolute URL of a published resource or a rendered page, including scheme and host.

pipe

See pipeline.

pipeline

Within a template action, a pipeline is a possibly chained sequence of values, function calls, or method calls. Functions and methods in the pipeline may take multiple arguments.

A pipeline may be chained by separating a sequence of commands with pipeline characters “|”. In a chained pipeline, the result of each command is passed as the last argument to the following command. The output of the final command in the pipeline is the value of the pipeline. See the Go documentation for details.

publish

See build.

regular page

Content with the “page” page kind. See also section page.

relative permalink

The host-relative URL of a published resource or a rendered page.

render hook

A template that overrides standard Markdown rendering. See details.

remote resource

A file on a remote server, accessible via HTTP or HTTPS with the resources.GetRemote function.

resource

Any file consumed by the build process to augment or generate content, structure, behavior, or presentation. For example: images, videos, content snippets, CSS, Sass, JavaScript, and data.

Hugo supports three types of resources: global, page, and remote

scalar

A single value, one of string, integer, floating point, or boolean.

scratch pad

Conceptually, a map with methods to set, get, update, and delete values. Attach the data structure to a Page object using the Scratch or Store methods, or created a locally scoped scratch pad using the newScratch function.

section

A top-level content directory, or any content directory with an _index.md file. A content directory with an _index.md file is also known as a branch bundle. Section templates receive one or more page collections in context. See details.

section page

Content with the “section” page kind. Typically a listing of regular pages and/or section pages within the current section. See also regular page.

shortcode

A template called from within Markdown, taking zero or more arguments. See details.

slice

A numbered sequence of elements. Unlike Go’s array data type, slices are dynamically sized. Elements within a slice can be scalars, arrays, maps, pages, or other slices. See the Go documentation for details.

string

A sequence of bytes. For example, "What is 6 times 7?" .

taxonomic weight

Defined in front matter and unique to each taxonomy, this weight determines the sort order of page collections contained within a taxonomy object. See details.

taxonomy

A group of related terms used to classify content. For example, a “colors” taxonomy might include the terms “red”, “green”, and “blue”. See details.

taxonomy object

A map of terms and the weighted pages associated with each term.

taxonomy page

Content with the “taxonomy” page kind. Typically a listing of terms within a given taxonomy.

template

A file with template actions, located within the layouts directory of a project, theme, or module. See details.

template action

A data evaluation or control structure within a template, delimited by “{{" and ”}}". See the Go documentation for details.

term

A member of a taxonomy, used to classify content. See details.

term page

Content with the “term” page kind. Typically a listing of regular pages and section pages with a given term.

theme

A packaged combination of archetypes, assets, content, data, templates, translation tables, static files, or configuration settings. A theme may serve as the basis for a new site, or to augment an existing site. See also module.

token

An identifier within a format string, beginning with a colon and replaced with a value when rendered. For example, use tokens in format strings for both permalinks and dates.

type

See content type.

unmarshal

To transform a serialized object into a data structure. For example, transforming a JSON file into a map that you can access within a template. See marshal.

variable

A user-defined identifier prefaced with a $ symbol, representing a value of any data type, initialized or assigned within a template action. For example, $foo and $bar are variables.

walk

To recursively traverse a nested data structure. For example, rendering a multilevel menu.

weight

Used to position an element within a collection sorted by weight. Assign weights using non-zero integers. Lighter items float to the top, while heavier items sink to the bottom. Unweighted or zero-weighted elements are placed at the end of the collection. Weights are typically assigned to pages, menu entries, languages, and output formats.

weighted page

Contained within a taxonomy object, a weighted page is a map with two elements: a Page object, and its taxonomic weight as defined in front matter. Access the elements using the Page and Weight keys.

See also

  • Configure Hugo
  • Front matter
  • Image processing
  • Methods
  • Name
Last updated: February 17, 2024: Define and describe the concept of a logical path (e46793a2)
Improve this page
By the Hugo Authors
Hugo Logo
  • File an Issue
  • Get Help
  • @GoHugoIO
  • @spf13
  • @bepsays

Netlify badge

 

Hugo Sponsors

 

The Hugo logos are copyright © Steve Francia 2013–2024.

The Hugo Gopher is based on an original work by Renée French.

  • News
  • Docs
  • Themes
  • Showcase
  • Community
  • GitHub
  • About Hugo
  • Installation
  • Getting started
  • Quick reference
  • Content management
  • Templates
  • Functions
  • Methods
  • Render hooks
  • Hugo Modules
  • Hugo Pipes
  • CLI
  • Troubleshooting
  • Developer tools
  • Hosting and deployment
  • Contribute
  • Maintenance