1
0
Fork 0
mirror of https://github.com/gohugoio/hugo.git synced 2025-03-28 03:04:28 +00:00
hugo/docs/content/templates/variables.md
Anthony Fok 5d6dfe81b8 [Docs] Use <dl> for definition lists of variables
Hopefully making them more semantic and easier to read,
though it is raw HTML so it is slightly more work to maintain.

Also made minor revisions to some of the variable descriptions
to be more informative, e.g. `:monthname` in permalinks use
full English names ("January" etc.)
2015-01-19 01:30:38 -07:00

7.6 KiB
Raw Blame History

aliases date linktitle menu next prev title weight
/doc/variables/
/layout/variables/
2013-07-01 Variables
main
parent
layout
/templates/content /templates/functions Template Variables 20

Hugo makes a set of values available to the templates. Go templates are context based. The following are available in the context for the templates.

Page Variables

The following is a list of most of the accessible variables which can be defined for a piece of content. Many of these will be defined in the front matter, content or derived from file location.

.Title
The title for the content.
.Content
The content itself, defined below the front matter.
.Summary
A generated summary of the content for easily showing a snippet in a summary view. Note that the breakpoint can be set manually by inserting <!--more--> at the appropriate place in the content page.
.Description
The description for the content.
.Keywords
The meta keywords for this content.
.Date
The date the content is associated with.
.PublishDate
The date the content is published on.
.Type
The content type (e.g. post).
.Section
The section this content belongs to.
.Permalink
The Permanent link for this page.
.RelPermalink
The Relative permanent link for this page.
.LinkTitle
Access when creating links to this content. Will use linktitle if set in front-matter, else title.
.Taxonomies
These will use the field name of the plural form of the index (see tags and categories above).
.RSSLink
Link to the indexes RSS link.
.TableOfContents
The rendered table of contents for this content.
.Prev
Pointer to the previous content (based on pub date).
.Next
Pointer to the following content (based on pub date).
.PrevInSection
Pointer to the previous content within the same section (based on pub date)
.NextInSection
Pointer to the following content within the same section (based on pub date)
.FuzzyWordCount
The approximate number of words in the content.
.WordCount
The number of words in the content.
.ReadingTime
The estimated time it takes to read the content in minutes.
.Weight
Assigned weight (in the front matter) to this content, used in sorting.
.IsNode
Always false for pages.
.IsPage
Always true for page.
.Site
See Site Variables below.
.Hugo
See Hugo Variables below

Page Params

Any other value defined in the front matter, including indexes will be made available under .Params. Take for example I'm using tags and categories as my indexes. The following would be how I would access them:

  • .Params.tags
  • .Params.categories

All Params are only accessible using all lowercase characters

Node Variables

In Hugo, a node is any page not rendered directly by a content file. This includes indexes, lists and the homepage.

.Title
The title for the content.
.Date
The date the content is published on.
.Permalink
The Permanent link for this node
.Url
The relative URL for this node.
.Ref(ref)
Returns the permalink for ref. See cross-references. Does not handle in-page fragments correctly.
.RelRef(ref)
Returns the relative permalink for ref. See cross-references. Does not handle in-page fragments correctly.
.RSSLink
Link to the indexes RSS link
.Data
The data specific to this type of node.
.IsNode
Always true for nodes.
.IsPage
Always false for nodes.
.Site
See Site Variables below
.Hugo
See Hugo Variables below

Site Variables

Also available is .Site which has the following:

.Site.BaseUrl
The base URL for the site as defined in the site configuration file.
.Site.Taxonomies
The indexes for the entire site.
.Site.LastChange
The date of the last change of the most recent content.
.Site.Recent
Array of all content ordered by Date, newest first.
.Site.Params
A container holding the values from the params section of your site configuration file. For example, a TOML config file might look like this:
baseurl = "http://yoursite.example.com/"

[params] description = "Tesla's Awesome Hugo Site" author = "Nikola Tesla"

.Site.Sections
Top level directories of the site.
.Site.Pages
All of the content pages of the site.
.Site.Files
All of the source files of the site.
.Site.Menus
All of the menus in the site.
.Site.Title
A string representing the title of the site.
.Site.Author
A map of the authors as defined in the site configuration.
.Site.LanguageCode
A string representing the language as defined in the site configuration.
.Site.DisqusShortname
A string representing the shortname of the Disqus shortcode as defined in the site configuration.
.Site.Copyright
A string representing the copyright of your web site as defined in the site configuration.
.Site.LastChange
A string representing the last time content has been updated.
.Site.Permalinks
A string to override the default permalink format. Defined in the site configuration.
.Site.BuildDrafts
A boolean (Default: false) to indicate whether to build drafts. Defined in the site configuration.

Hugo Variables

Also available is .Hugo which has the following:

.Hugo.Generator
Meta tag for the version of Hugo that generated the site. Highly recommended to be included by default in all theme headers so we can start to track Hugo usage and popularity, e.g. <meta name="generator" content="Hugo 0.13" />
.Hugo.Version
The current version of the Hugo binary you are using, e.g. 0.13-DEV
.Hugo.CommitHash
The git commit hash of the current Hugo binary, e.g. 0e8bed9ccffba0df554728b46c5bbf6d78ae5247
.Hugo.BuildDate
The compile date of the current Hugo binary formatted with RFC 3339, e.g. 2002-10-02T10:00:00-05:00