mirror of
https://github.com/gohugoio/hugo.git
synced 2024-11-21 20:46:30 -05:00
135 lines
4.8 KiB
Markdown
135 lines
4.8 KiB
Markdown
---
|
|
title: Site Variables
|
|
linktitle: Site Variables
|
|
description: 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.
|
|
date: 2017-02-01
|
|
publishdate: 2017-02-01
|
|
lastmod: 2017-02-01
|
|
categories: [variables and params]
|
|
keywords: [global,site]
|
|
draft: false
|
|
menu:
|
|
docs:
|
|
parent: "variables"
|
|
weight: 10
|
|
weight: 10
|
|
sections_weight: 10
|
|
aliases: [/variables/site-variables/]
|
|
toc: true
|
|
---
|
|
|
|
The following is a list of site-level (aka "global") variables. Many of these variables are defined in your site's [configuration file][config], 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. {{< new-in "0.53" >}}.
|
|
|
|
## 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](/templates/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](https://gohugo.io/variables/page/)
|
|
|
|
.Site.IsMultiLingual
|
|
: whether there are more than one language in this site. See [Multilingual](/content-management/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`](/commands/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](/functions/abslangurl/) and [relLangURL](/functions/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](/content-management/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-pages).
|
|
|
|
.Site.RegularPages
|
|
: a shortcut to the *regular* page collection. `.Site.RegularPages` is equivalent to `where .Site.Pages "Kind" "page"`. See [`.Site.Pages`](#site-pages).
|
|
|
|
.Site.Sections
|
|
: top-level directories of the site.
|
|
|
|
.Site.Taxonomies
|
|
: the [taxonomies](/taxonomies/usage/) for the entire site. Also see section [Taxonomies elsewhere](#taxonomies-elsewhere).
|
|
|
|
.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`:
|
|
|
|
{{< code-toggle file="config" >}}
|
|
baseURL = "https://yoursite.example.com/"
|
|
|
|
[params]
|
|
description = "Tesla's Awesome Hugo Site"
|
|
author = "Nikola Tesla"
|
|
{{</ code-toggle >}}
|
|
|
|
You can use `.Site.Params` in a [partial template](/templates/partials/) to call the default site description:
|
|
|
|
{{< code file="layouts/partials/head.html" >}}
|
|
<meta name="description" content="{{if .IsHome}}{{ $.Site.Params.description }}{{else}}{{.Description}}{{end}}" />
|
|
{{< /code >}}
|
|
|
|
## The `.Site.Pages` Variable {#site-pages}
|
|
|
|
### `.Site.Pages` compared to `.Pages`
|
|
|
|
{{< readfile file="/content/en/readfiles/pages-vs-site-pages.md" markdown="true" >}}
|
|
|
|
|
|
|
|
|
|
[config]: /getting-started/configuration/
|