block
文法
block NAME CONTEXT
ブロックとは、テンプレートを定義する簡略な形です。
{{ define "name" }} T1 {{ end }}
それを所定位置において実行します。
{{ template "name" pipeline }}
よく利用する方法としては、基本となるテンプレートを定義しておき、内部のブロックテンプレートを再定義することによって、テンプレートをカスタマイズするようなやり方です。
layouts/_default/baseof.html
<body>
<main>
{{ block "main" . }}
{{ print "default value if 'main' template is empty" }}
{{ 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 ドキュメントを参照してください。