术语模板
下面的 术语 模板继承了站点的外壳 基础模板,并呈现与当前术语关联的页面列表。
layouts/_default/term.html
{{ define "main" }}
<h1>{{ .Title }}</h1>
{{ .Content }}
{{ range .Pages }}
<h2><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></h2>
{{ end }}
{{ end }}
查看 模板查找顺序 以选择提供所需特定级别的模板路径。
在上面的示例中,如果相应的页面没有由文件支持,则术语将大写。您可以在站点配置中禁用此功能
hugo。
capitalizeListTitles: false
capitalizeListTitles = false
{
"capitalizeListTitles": false
}
数据对象
在术语模板中,对 Data
对象使用这些方法。
- 单数
- (
string
) 返回分类法的单数名称。
{{ .Data.Singular }} → tag
- 复数
- (
string
) 返回分类法的复数名称。
{{ .Data.Plural }} → tags
- 术语
- (
string
) 返回术语的名称。
{{ .Data.Term }} → fiction
显示元数据
通过在内容目录中创建相应的分支捆绑包来显示每个术语的元数据。
例如,创建一个“作者”分类法
hugo。
taxonomies:
author: authors
[taxonomies]
author = 'authors'
{
"taxonomies": {
"author": "authors"
}
}
然后创建内容,每个术语一个 分支捆绑包
content/
└── authors/
├── jsmith/
│ ├── _index.md
│ └── portrait.jpg
└── rjones/
├── _index.md
└── portrait.jpg
然后将前置 matter 添加到每个术语页面
content/authors/jsmith/_index.md
---
affiliation: University of Chicago
title: John Smith
---
+++
affiliation = 'University of Chicago'
title = 'John Smith'
+++
{
"affiliation": "University of Chicago",
"title": "John Smith"
}
然后创建一个特定于“作者”分类法的术语模板
layouts/authors/term.html
{{ define "main" }}
<h1>{{ .Title }}</h1>
<p>Affiliation: {{ .Params.affiliation }}</p>
{{ with .Resources.Get "portrait.jpg" }}
{{ with .Fill "100x100" }}
<img src="{{ .RelPermalink }}" width="{{ .Width }}" height="{{ .Height }}" alt="portrait">
{{ end }}
{{ end }}
{{ .Content }}
{{ range .Pages }}
<h2><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></h2>
{{ end }}
{{ end }}
在上面的示例中,我们显示了作者及其隶属关系和肖像,然后是关联内容的列表。