block
區塊是一種定義範本的簡寫方式:
{{ 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 }}">{{ .LinkTitle }}</a></h2>
{{ end }}
{{ end }}
查看 Go 的 text/template 文件以獲得更多資訊。