4 分钟阅读
https://gohugo.io/variables/site/
许多站点范围的变量在站点配置中定义,但是,Hugo提供了许多内置变量,以方便在模板中访问全局值。
以下是站点级别(也称为"全局")变量列表。其中许多变量在站点配置文件中定义,而其他变量则内置于Hugo的核心中,以便在模板中方便使用。
下面的所有方法,例如.Site.RegularPages
也可以通过全局site
函数(例如site.RegularPages
)访问,这在局部文件中 Page
对象不容易获取时可能会很方便。
所有页面的数组,不考虑它们的翻译。
站点配置中定义的站点基本URL。
一个布尔值(默认值为false
),用于指示是否按照站点配置构建草稿。
表示您的站点版权的字符串,即在站点配置中所定义的。
自定义数据,请参阅数据模板。
表示Disqus简码的字符串,即在站点配置文件中所定义的。
表示Google Analytics追踪代码的字符串,即在站点配置文件中所定义的。
指向主页页面对象的引用。
是否在该站点中存在多种语言。有关更多信息,请参见多语言。
一个布尔值,指示是否使用Hugo的内置服务器提供站点。有关更多信息,请参见hugo server。
当前区域设置的语言代码(例如,en
)。
完整的语言名称(例如,English
)。
定义.Site.Languages
列表顺序的权重。
指示当前用于渲染站点的语言。该对象的属性在站点配置语言定义中设置。
表示在站点配置中定义的语言tag的字符串。
可以用于为URL添加前缀以指向正确的语言。即使只定义了一种语言,它也会起作用。另请参见absLangURL和relLangURL函数。
一个按照定义的权重排序的语言列表。
一个表示站点最近更改的日期/时间的字符串。此字符串基于内容页面前置元数据中的date
变量。
站点中的所有菜单。
按日期排序的所有内容的数组,最新的在前面。此数组仅包含当前语言的页面。请参阅.Site.Pages。
一个常规页面集合的快捷方式。.Site.RegularPages
等效于where .Site.Pages "Kind" "page"
。请参阅.Site.Pages。
站点的顶级目录。
整个站点的分类法。另请参阅从任何模板访问分类法数据的章节。
一个表示站点标题的字符串。
.Site.Params
变量 .Site.Params
是一个容器,它保存了来自站点配置params
部分的值。
.Site.Params
以下config.[yaml|toml|json]
定义了一个站点范围的description
参数:
config.
=== “yaml”
``` yaml
baseURL: https://yoursite.example.com/
params:
author: Nikola Tesla
description: Tesla's Awesome Hugo Site
```
=== “toml”
``` toml
baseURL = 'https://yoursite.example.com/'
[params]
author = 'Nikola Tesla'
description = "Tesla's Awesome Hugo Site"
```
=== “json”
``` json
{
"baseURL": "https://yoursite.example.com/",
"params": {
"author": "Nikola Tesla",
"description": "Tesla's Awesome Hugo Site"
}
}
```
您可以在局部模板中使用.Site.Params
调用默认站点描述:
layouts/partials/head.html
|
|
.Site.Pages
与.Pages
比较常规页面是"post"页面或"content"页面。
列表页面可以列出常规页面和其他列表页面。一些示例是:主页、章节页面、分类法(/tags/
)和条目(/tags/foo/)
页面。
.Site.Pages
站点所有页面的集合:常规页面、章节页面、分类法页面等——Superset of everything!
.Site.RegularPages
仅包含常规页面的集合。
上述.Site. ..
页面集合可以从模板的任何作用域中访问。
以下变量仅从当前列表页的作用域返回页面集合:
.Pages
Collection of regular pages and only first-level section pages under the current list page.
在当前列表页面下,包含所有常规页面和只有一级章节页面的集合。
.RegularPages
仅包含当前列表页面下的普通页面的集合。这排除嵌套章节/列表页面中的常规页面(那些是带有 _index.md
文件的子目录)。
.RegularPagesRecursive
包含一个列表页面下的所有普通页面的集合。这包括嵌套章节/列表页面中的常规页面。
注意
从常规页面的作用域来看,
.Pages
和.RegularPages
返回一个空的 slice。