布局与页面模板

layout.html 要求

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

页面模板写法

每个页面模板(如 home.html、pricing.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}})。