基础模板页的文件名字为baseof.html<TYPE>-baseof.html
在基础模板页中使用block定义了一个占位符, 当模板页使用了一个基础模板页时, 模板页的解析后的内容会嵌入到基础模板页面中block的位置

基础模板页语法:

1
{{block "name" pipeline}} T1 {{end}}

模板页语法

1
{{ define "main" }} T1 {{ end }}

示例:
baseof.html的内容如下

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>baseof基础模板页</title>
</head>
<body>
    <div id="content">
        {{- block "main" . }}{{- end }}
        <!-- . 点表示从基础模板页面传递到模板页面的变量 -->
    </div>
</body>
</html>

网站首页引用基础模板页

1
2
3
4
5
6
<!-- block定义的占位符是 'main', 所以这里需要定义名为 'main'的模板 -->
{{- define "main" -}}
  <section id="posts" class="posts">
    被define 和 end 包裹的内容会插入到baseof.html文件的{{- block "main" . }}{{- end }}位置.
  </section>
{{- end -}}

除了要在基础模板页使用block外, 基础模板页的 命名 和 存放位置 也要征询一定的规制

基础模板页的存放位置及命名

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
/layouts/section/<TYPE>-baseof.html
/themes/<THEME>/layouts/section/<TYPE>-baseof.html

/layouts/<TYPE>/baseof.html
/themes/<THEME>/layouts/<TYPE>/baseof.html

/layouts/section/baseof.html
/themes/<THEME>/layouts/section/baseof.html

/layouts/_default/<TYPE>-baseof.html
/themes/<THEME>/layouts/_default/<TYPE>-baseof.html

/layouts/_default/baseof.html
/themes/<THEME>/layouts/_default/baseof.html
  • <THEME>表示自定义模板的名称.
  • <TYPE>表示页面的type值.

注意: 模板页和基础模板页总是在同一个目录下面, 如果当前目录下面没有, 会到_default目录下面去找. 如果在本地调试, 可以加上 –debug 参数, 能查看每个模板页的基础模板页路径

1
2
DEBUG 2019/11/14 04:46:32 Add template file: name "index.html", baseTemplatePath "", path "index.html"
DEBUG 2019/11/14 04:46:32 Add template file: name "section/single.html", baseTemplatePath "section\\baseof.html", path "section\\single.html"