HUGO

  • News
  • Docs
  • Themes
  • Showcase
  • Community
  • GitHub
Star

What's on this Page

  • Get the Site object from a partial
  • Site Variables List
  • The .Site.Params Variable
  • The .Site.Pages Variable
VARIABLES AND PARAMS

Site Variables

Many, but not all, site-wide variables are defined in your site’s configuration. However, Hugo provides a number of built-in variables for convenient access to global values in your templates.

The following is a list of site-level (aka “global”) variables. Many of these variables are defined in your site’s configuration file, whereas others are built into Hugo’s core for convenient usage in your templates.

Get the Site object from a partial

All the methods below, e.g. .Site.RegularPages can also be reached via the global site function, e.g. site.RegularPages, which can be handy in partials where the Page object isn’t easily available. .

Site Variables List

.Site.AllPages
array of all pages, regardless of their translation.
.Site.Author
a map of the authors as defined in the site configuration.
.Site.BaseURL
the base URL for the site as defined in the site configuration.
.Site.BuildDrafts
a boolean (default: false) to indicate whether to build drafts as defined in the site configuration.
.Site.Copyright
a string representing the copyright of your website as defined in the site configuration.
.Site.Data
custom data, see Data Templates.
.Site.DisqusShortname
a string representing the shortname of the Disqus shortcode as defined in the site configuration.
.Site.GoogleAnalytics
a string representing your tracking code for Google Analytics as defined in the site configuration.
.Site.Home
reference to the homepage’s page object
.Site.IsMultiLingual
whether there are more than one language in this site. See Multilingual for more information.
.Site.IsServer
a boolean to indicate if the site is being served with Hugo’s built-in server. See hugo server for more information.
.Site.Language.Lang
the language code of the current locale (e.g., en).
.Site.Language.LanguageName
the full language name (e.g. English).
.Site.Language.Weight
the weight that defines the order in the .Site.Languages list.
.Site.Language
indicates the language currently being used to render the website. This object’s attributes are set in site configurations' language definition.
.Site.LanguageCode
a string representing the language as defined in the site configuration. This is mostly used to populate the RSS feeds with the right language code.
.Site.LanguagePrefix
this can be used to prefix URLs to point to the correct language. It will even work when only one defined language. See also the functions absLangURL and relLangURL.
.Site.Languages
an ordered list (ordered by defined weight) of languages.
.Site.LastChange
a string representing the date/time of the most recent change to your site. This string is based on the date variable in the front matter of your content pages.
.Site.Menus
all of the menus in the site.
.Site.Pages
array of all content ordered by Date with the newest first. This array contains only the pages in the current language. See .Site.Pages.
.Site.RegularPages
a shortcut to the regular page collection. .Site.RegularPages is equivalent to where .Site.Pages "Kind" "page". See .Site.Pages.
.Site.Sections
top-level directories of the site.
.Site.Taxonomies
the taxonomies for the entire site. Also see section Use .Site.Taxonomies Outside of Taxonomy Templates.
.Site.Title
a string representing the title of the site.

The .Site.Params Variable

.Site.Params is a container holding the values from the params section of your site configuration.

Example: .Site.Params

The following config.[yaml|toml|json] defines a site-wide param for description:

config.
     
baseURL: https://yoursite.example.com/
params:
  author: Nikola Tesla
  description: Tesla's Awesome Hugo Site
baseURL = 'https://yoursite.example.com/'
[params]
  author = 'Nikola Tesla'
  description = "Tesla's Awesome Hugo Site"

{
   "baseURL": "https://yoursite.example.com/",
   "params": {
      "author": "Nikola Tesla",
      "description": "Tesla's Awesome Hugo Site"
   }
}

You can use .Site.Params in a partial template to call the default site description:

layouts/partials/head.html
<meta name="description" content="{{if .IsHome}}{{ $.Site.Params.description }}{{else}}{{.Description}}{{end}}" />

The .Site.Pages Variable

.Site.Pages compared to .Pages

  • A regular page is a “post” page or a “content” page.
    • A leaf bundle is a regular page.
  • A list page can list regular pages and other list pages. Some examples are: homepage, section pages, taxonomy (/tags/) and term (/tags/foo/) pages.
    • A branch bundle is a list page.
.Site.Pages
Collection of all pages of the site: regular pages, sections, taxonomies, etc. – Superset of everything!
.Site.RegularPages
Collection of only regular pages.

The above .Site. .. page collections can be accessed from any scope in the templates.

Below variables return a collection of pages only from the scope of the current list page:

.Pages
Collection of regular pages and only first-level section pages under the current list page.
.RegularPages
Collection of only regular pages under the current list page. This excludes regular pages in nested sections/list pages (those are subdirectories with an _index.md file.
.RegularPagesRecursive
Collection of all regular pages under a list page. This includes regular pages in nested sections/list pages.
Note
From the scope of regular pages, .Pages and .RegularPages return an empty slice.
  • About Hugo
    • Overview
    • Hugo's Security Model
    • Hugo and GDPR
    • What is Hugo
    • Hugo Features
    • The Benefits of Static
    • License
  • Getting Started
    • Get Started Overview
    • Quick Start
    • Install Hugo
    • Basic Usage
    • Directory Structure
    • Configuration
    • External Learning Resources
  • Hugo Modules
    • Hugo Modules Overview
    • Configure Modules
    • Use Hugo Modules
    • Theme Components
  • 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
    • 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
    • lang.Merge
    • 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
    • print
    • 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
    • time.Format
    • title
    • transform.Unmarshal
    • trim
    • truncate
    • union
    • uniq
    • upper
    • urlize
    • urls.Parse
    • where
    • with
  • Variables
    • Variables Overview
    • Site Variables
    • Page Variables
    • Shortcode Variables
    • Pages Methods
    • Taxonomy Variables
    • File Variables
    • Menu Entry Properties
    • Hugo Variables
    • Git Variables
    • Sitemap Variables
  • Hugo Pipes
    • Hugo Pipes Overview
    • Hugo Pipes Introduction
    • SASS / SCSS
    • PostProcess
    • PostCSS
    • JavaScript Building
    • Babel
    • Asset minification
    • Asset bundling
    • Fingerprinting and SRI
    • Resource from Template
    • Resource from String
  • CLI
  • Troubleshooting
    • Troubleshoot
    • FAQ
    • Build Performance
  • Tools
    • Developer Tools Overview
    • Migrations
    • Starter Kits
    • Frontends
    • Editor Plug-ins
    • Search
    • Other Projects
  • Hosting & Deployment
    • Hosting & Deployment Overview
    • Hugo Deploy
    • Host-Agnostic Deploys with Nanobox
    • Host on AWS Amplify
    • Host on Netlify
    • Host on Render
    • Host on Firebase
    • Host on GitHub
    • Host on GitLab
    • Hosting on KeyCDN
    • Host on Bitbucket
    • Deployment with Rsync
  • Contribute
    • Contribute to Hugo
    • Development
    • Documentation
    • Themes
  • Maintenance
“Site Variables” was last updated: June 27, 2021: 初始提交 (9b77574)
Improve this page
By the Hugo Authors
Hugo Logo
  • File an Issue
  • Get Help
  • Discuss Source Code
  • @GoHugoIO
  • @spf13
  • @bepsays

Netlify badge

 
 

Hugo Sponsors

Logo for Linode
Logo for eSolia
Logo for Brave
 

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

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

  • News
  • Docs
  • Themes
  • Showcase
  • Community
  • GitHub
  • About Hugo
  • Getting Started
  • Hugo Modules
  • Content Management
  • Templates
  • Functions
  • Variables
  • Hugo Pipes
  • CLI
  • Troubleshooting
  • Tools
  • Hosting & Deployment
  • Contribute
  • Maintenance