单页模板

Single Page Templates - 单页模板

​ 在 Hugo 中,内容的主要视图是单个视图。Hugo 会为每个 Markdown 文件提供相应的单个模板进行渲染。

单页模板查找顺序

​ 请参阅模板查找

单页模板示例

​ 内容页面的类型是 page,因此可以在它们的模板中使用所有 页面变量站点变量

posts/single.html

​ 这个单页模板使用了 Hugo 的 基础模板.Format 函数 来处理日期、.WordCount 页面变量 以及遍历单一内容的特定分类法with 也用来检查是否在前置元数据中设置了分类法。

layouts/posts/single.html

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
{{ define "main" }}

<section id="main">
  <h1 id="title">{{ .Title }}</h1>
  <div>
    <article id="content">
      {{ .Content }}
    </article>
  </div>
</section>
<aside id="meta">
  <div>
  <section>
    <h4 id="date"> {{ .Date.Format "Mon Jan 2, 2006" }} </h4>
    <h5 id="wordcount"> {{ .WordCount }} Words </h5>
  </section>
    {{ with .GetTerms "topics" }}
      <ul id="topics">
        {{ range . }}
          <li><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></li>
        {{ end }}
      </ul>
    {{ end }}
    {{ with .GetTerms "tags" }}
      <ul id="tags">
        {{ range . }}
          <li><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></li>
        {{ end }}
      </ul>
    {{ end }}
  </div>
  <div>
    {{ with .PrevInSection }}
      <a class="previous" href="{{ .Permalink }}"> {{ .Title }}</a>
    {{ end }}
    {{ with .NextInSection }}
      <a class="next" href="{{ .Permalink }}"> {{ .Title }}</a>
    {{ end }}
  </div>
</aside>
{{ end }}

​ 要轻松生成一个内容类型的新实例(例如,在像 project/ 这样的章节中生成新的 .md 文件),并预先配置好前置元数据,请使用内容原型

另请参阅

最后修改 May 22, 2023: 第一次提交 (9f24e27)