hugo/docs/content/variables/site.md
2017-07-18 10:33:58 +02:00

4.4 KiB

title linktitle description date publishdate lastmod categories draft menu weight sections_weight aliases toc
Site Variables 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. 2017-02-01 2017-02-01 2017-02-01
variables and params
false
docs
parent weight
variables 10
10 10
/variables/site-variables/
true

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.

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.Files
all source files for the Hugo website.
.Site.GoogleAnalytics
a string representing your tracking code for Google Analytics as defined in the site configuration.
.Site.IsMultiLingual
whether there are more than one language in this site. See Multilingual 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.
.Site.Permalinks
a string to override the default permalink format as defined in the site configuration.
.Site.RegularPages
a shortcut to the regular page collection. .Site.RegularPages is equivalent to where .Site.Pages "Kind" "page".
.Site.RSSLink
the URL for the site RSS.
.Site.Sections
top-level directories of the site.
.Site.Taxonomies
the taxonomies for the entire site. Replaces the now-obsolete .Site.Indexes since v0.11. Also see section 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.toml defines a site-wide param for description:

baseURL = "http://yoursite.example.com/"

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

You can use .Site.Params in a partial template 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 %}}