Skip to content

布局与页面模板

layout.html 要求

  • 必须定义 {{define "layout"}} ... {{end}}
  • 内部必须包含 {{block "content" .}}{{end}},供各页面注入主体内容。
  • 建议包含 {{block "extra_css" .}}{{end}},供各页面按需引入 CSS。
  • 使用 {{.PageTitle}}{{.PageDesc}}{{.Site.Title}}{{.Site.Description}}{{.Site.Copyright}} 等输出站点与页面信息。

页面模板写法

每个页面模板(如 home.htmlpricing.html)通过覆盖 content 和可选的 extra_css 注入内容。示例:

html
{{ "{{" }}define "extra_css"{{ "}}" }}
<link rel="stylesheet" href="/home/static/css/home.css">
{{ "{{" }}end{{ "}}" }}

{{ "{{" }}define "content"{{ "}}" }}
<section>
  <h1>{{ "{{" }}.PageTitle{{ "}}" }}</h1>
  <p>{{ "{{" }}.PageDesc{{ "}}" }}</p>
  <p>站点名:{{ "{{" }}.Site.Title{{ "}}" }}</p>
</section>
{{ "{{" }}end{{ "}}" }}
  • 静态资源通过 /home/static/ 前缀访问,对应模板目录下的 static/ 目录,例如 static/css/home.css 的访问路径为 /home/static/css/home.css。详见 静态资源与文档中心
  • 当前请求路径可通过 {{.Path}} 获取,便于做导航高亮(如 {{if eq .Path "/"}}class="active"{{end}})。