块
Syntax
block NAME CONTEXT
块是定义模板的简写形式:
{{ define "name" }} T1 {{ end }}
然后在原地执行它:
{{ template "name" pipeline }}
典型用法是定义一组根模板,然后通过重新定义块模板来自定义它们。
layouts/_default/baseof.html
<body>
<main>
{{ block "main" . }}
{{ print "如果 'main' 模板为空,则使用默认值" }}
{{ end }}
</main>
</body>
layouts/_default/single.html
{{ define "main" }}
<h1>{{ .Title }}</h1>
{{ .Content }}
{{ end }}
layouts/_default/list.html
{{ define "main" }}
<h1>{{ .Title }}</h1>
{{ .Content }}
{{ range .Pages }}
<h2><a href="{{ .RelPermalink }}">{{ .Title }}</a></h2>
{{ end }}
{{ end }}
详见 Go 的 text/template 文档获取更多信息。