hugo/docs/content/en/variables/site.md

136 lines
4.8 KiB
Markdown
Raw Normal View History

---
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
Squashed 'docs/' changes from 9cece6640..fb551cc75 fb551cc75 Update index.md 7af894857 Update index.md d235753ea Hugo 0.82.1 e03e72deb Merge branch 'temp0821' e62648961 Merge branch 'release-0.82.1' e1ab0f6eb releaser: Add release notes to /docs for release of 0.82.1 5d354c38d Replaced ``` code blocks with Code Toggler c9d065c20 Remove duplicate YAML keys (#1420) 8ae31e701 Add webp image encoding support 848f2af26 Update internal.md (#1407) c103a86a4 Fix `ref` shortcode example output (#1409) 9f8ba56dc Remove leading dot from where function KEY (#1419) 363251a51 Improve presentation of template lookup order (#1382) b73da986d Improve description of Page Resources (#1381) 4e0bb96d5 Rework robots.txt page (#1405) edf893e6f Update migrations.md (#1412) 450f1580b Add link to `site` function doc (#1417) cfffa6e6f Added one extension to the list (#1414) 05f1665a0 Update theme 5de0b1c6a Update theme 250e20552 Add hugo.IsExtended dea5e1fd7 Fix typo on merge function page (#1408) 1bbed2cf3 Update configuration.md be0b64a46 Omit ISO cbb5b8367 Fix `dateFormat` documentation 698f15466 Regenerate the docshelper f9a8a7cb6 Update multilingual.md a22dc6267 Fix grammar (#1398) eb98b0997 Fix pretty URL example (#1397) f4c4153dc Mention date var complementation in post scheduling (#1396) 17fae284c Fix resources.ExecuteAsTemplate argument order (#1394) 97e2c2abb Use code-toggle shortcode in `multilingual.md` (#1388) 3a84929bb Harmonize capitalization (#1393) 17f15daa6 fix file naming used in example (#1392) 5d97b6a18 Add slice syntax to sections permalinks config 00665b97b Improve description of `site.md` edcf5e3fc Fix example in `merge.md` f275ab778 Update postprocess.md 9593e3991 Fix file name 59bd9656f Update postprocess.md 1172fb6d0 Update to theNewDynamic repository (#1263) f5b5c1d2c Update Hugo container image 4f2e92f2a Adapt anchorize.md to Goldmark 98aa19073 Directly link to `highlight` shortcode (#1384) 4c75c2422 Fix header level f15c06f23 markdownify: add note about render-hooks and .RenderString (#1281) 69c82eb68 Remove Blackfriday reference from shortcode desc (#1380) 36de478df Update description of ignoreFiles config setting (#1377) 6337699d8 Remove "Authors" page from documentation (#1371) 35e73ca90 fix indent in example (#1372) d3f01f19a Remove opening body tag from header example (#1376) 341a5a7d8 Update index.md c9bfdbee6 Release 0.82.0 119644949 releaser: Add release notes to /docs for release of 0.82.0 32efaed78 docs: Regenerate docs helper dea5449a2 docs: Regen CLI docs eeab18fce Merge commit '81689af79901f0cdaff765cda6322dd4a9a7ccb3' d508a1259 Attributes for code fences should be placed after the lang indicator only c80905cef deps: Update to esbuild v0.9.0 95350eb79 Add support for Google Analytics v4 02d36f9bc Allow markdown attribute lists to be used in title render hooks 7df220a64 Merge commit '9d31f650da964a52f05fc27b7fb99cf3e09778cf' d80bf61b7 Fixes #7698. git-subtree-dir: docs git-subtree-split: fb551cc750faa83a1493b0e0d0898cd98ab74465
2021-04-20 18:21:45 +00:00
All the methods below, e.g. `.Site.RegularPages` can also be reached via the global [`site`](/functions/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
Squashed 'docs/' changes from 39a7fac34..316cec249 316cec249 Update future events template example (#1595) 3bde7d489 Install mage outside module (#1592) 762e27eff Clarify ignoreFiles regex matching 4d0032051 Add id attribute to h2 elements (#1590) 8262b077c Improve inline resource examples (#1587) 2eae7c7ec fix disqus example name (#1588) a772f4804 Added install instructions for openSUSE Tumbleweed (#1459) 7ad1c301b Remove screen capture from Hosting on GitHub page (#1586) a58541f49 add more details on about gh-pages and baseURL on hosting-on-github.md (#1346) 3bd0b46dc Update configuration page (#1585) 4cf1f013e Update OS functions 2c45a95c2 Remove getting-started/code-toggle/ 40fdff598 Describe artificial language private use subtags (#1577) 91011d210 Remove google_news from list of internal templates (#1576) 36c7879e4 Update the .Unix function 731063488 Remove a showcase 818c371a0 Update index.md 3136d39d9 netlify: Hugo 0.89.4 092bc9278 Merge branch 'tempv0.89.4' 18e01f105 releaser: Add release notes to /docs for release of 0.89.4 79135281f Correct and sort list of target image formats (#1574) af4170c7e netlify: Hugo 0.89.3 7f5444251 Merge branch 'tempv0.89.3' a32e4a6c2 releaser: Add release notes to /docs for release of 0.89.3 6dd3dc3f9 Update configuration.md 5fbe741d7 Update index.md (#1570) 37a69496f netlify: Bump to Hugo 0.89.2 3b293f1f4 Merge branch 'tempv0.89.2' 64c934e7a releaser: Add release notes to /docs for release of 0.89.2 919c51c7d Update index.md 13dd463b1 netlify: Hugo 0.89.1 d8cda1474 releaser: Add release notes to /docs for release of 0.89.1 a2adf7742 releaser: Add release notes to /docs for release of 0.89.1 c3088c4fc Add code toggle to menus page (#1568) 2d0f38978 Remove blank lines from code-toggle output (#1564) 7cf058bfd Add localization examples (#1563) cf8627c2e Fixing typos, fixing incomplete link (#1561) c78cc014b Document the removePathAccents setting 70beddaf4 Make corrections to 0.89.0 release notes (#1560) 1917195f0 Update index.md 7fb8e070c Run hugo --gc 1772d45fb Release 0.89.0 d9006179b Merge branch 'tempv0.89.0' 8db86b61e releaser: Add release notes to /docs for release of 0.89.0 abf268571 docs: Regen CLI docs fbbdb0ab1 Update the timeout default 9cbd1c15a Fix description of lang.FormatNumberCustom 6043b54cc Remove "render" keyword from Host on Render page f8ea8e84f Clarify description of front matter url (#1557) 91a0c9954 Update Twitter shortcode oEmbed endpoint 79a7405b8 Merge commit 'aa5ac36a3eb68b86c803caec703869efefc8447e' 57667bae6 hugofs: Add includeFiles and excludeFiles to mount configuration 0c9ee0a04 Allow multiple plugins in the PostCSS options map 155799e6b docs: Create path.Clean documentation git-subtree-dir: docs git-subtree-split: 316cec2494dc5f908283289371d74f36a73d3d8d
2021-12-08 07:42:31 +00:00
: a string representing the language tag as defined in the site configuration.
.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
Squashed 'docs/' changes from bcc4f9324..4c81c6c2a 4c81c6c2a live reload: add section about `--navigateToChanged` 271014257 Update netify hugo version to 0.83.1 14199cff1 Add pull_request event 0c33b05de Hosting on GitHub: Little wording fixes and update Ubuntu runner in example workflow to 20.04 (#1457) e47b6c33a Hugo Modules plural typo (#1266) 0f2bbacdd Add node_modules to .gitignore 1d645d79f Overhaul scratch.md (#1451) 572766889 Add link to golang regex syntax, change modified date 21b0c7459 Add info about contentType config de7d96fa2 Document Go template's multiline support 0c8f2dcb1 Avoid scratch usage 696fa92e1 Rename scratch var 44193f267 Update usage instructions 4230f8fa5 Rename and refactor shortcode e9953751e Strip leading whitespaces d61a58010 Add `insertpages` shortcode 04d30677d Mention WebP under 'Target Format' (#1431) 946784508 Update lookup-order.md (#1443) a7b587988 Update index.md 27907f7ea netlify: Hugo 0.83.1 044d37e57 Merge branch 'tempv0.83.1' b81aedb03 Fix page `.Kind` fcf7775ad releaser: Add release notes to /docs for release of 0.83.1 9b39c77c8 fix typo in 0.83 release notes 1c38993ce Update index.md 45b8aefa6 Update index.md 43902dfaa Update index.md 3d959c7ae Merge branch 'tempv0.83.0' 6c22dc327 Fix URL 497ea3224 Use Hugo version badge shortcode a182d10dd releaser: Add release notes to /docs for release of 0.83.0 287fd9ac0 docs: Fix shortcode e789c879a docs: Regenerate docs helper 1666c7f31 docs: Regenerate CLI docs 117de1d12 Merge commit 'c239c643fee10bfa217cb108755b798f8f5f3b10' a6bf3f7d9 docs: Regen docs helper git-subtree-dir: docs git-subtree-split: 4c81c6c2ace6c23d0d5d24ee37e6a2f30acba01e
2021-06-08 16:46:58 +00:00
: the [taxonomies](/taxonomies/usage/) for the entire site. Also see section [Use `.Site.Taxonomies` Outside of Taxonomy Templates](/variables/taxonomy/#use-sitetaxonomies-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`:
{{< 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`
Squashed 'docs/' changes from bcc4f9324..4c81c6c2a 4c81c6c2a live reload: add section about `--navigateToChanged` 271014257 Update netify hugo version to 0.83.1 14199cff1 Add pull_request event 0c33b05de Hosting on GitHub: Little wording fixes and update Ubuntu runner in example workflow to 20.04 (#1457) e47b6c33a Hugo Modules plural typo (#1266) 0f2bbacdd Add node_modules to .gitignore 1d645d79f Overhaul scratch.md (#1451) 572766889 Add link to golang regex syntax, change modified date 21b0c7459 Add info about contentType config de7d96fa2 Document Go template's multiline support 0c8f2dcb1 Avoid scratch usage 696fa92e1 Rename scratch var 44193f267 Update usage instructions 4230f8fa5 Rename and refactor shortcode e9953751e Strip leading whitespaces d61a58010 Add `insertpages` shortcode 04d30677d Mention WebP under 'Target Format' (#1431) 946784508 Update lookup-order.md (#1443) a7b587988 Update index.md 27907f7ea netlify: Hugo 0.83.1 044d37e57 Merge branch 'tempv0.83.1' b81aedb03 Fix page `.Kind` fcf7775ad releaser: Add release notes to /docs for release of 0.83.1 9b39c77c8 fix typo in 0.83 release notes 1c38993ce Update index.md 45b8aefa6 Update index.md 43902dfaa Update index.md 3d959c7ae Merge branch 'tempv0.83.0' 6c22dc327 Fix URL 497ea3224 Use Hugo version badge shortcode a182d10dd releaser: Add release notes to /docs for release of 0.83.0 287fd9ac0 docs: Fix shortcode e789c879a docs: Regenerate docs helper 1666c7f31 docs: Regenerate CLI docs 117de1d12 Merge commit 'c239c643fee10bfa217cb108755b798f8f5f3b10' a6bf3f7d9 docs: Regen docs helper git-subtree-dir: docs git-subtree-split: 4c81c6c2ace6c23d0d5d24ee37e6a2f30acba01e
2021-06-08 16:46:58 +00:00
{{< getcontent path="readfiles/pages-vs-site-pages.md" >}}
[config]: /getting-started/configuration/