resources.ExecuteAsTemplate
返回由 Go 模板创建的资源,它用给定上下文解析并执行。
resources.ExecuteAsTemplate 函数返回由 Go 模板创建的资源,它用给定上下文解析并执行,并以目标路径作为缓存键缓存结果。
调用资源的 Publish、Permalink 或 RelPermalink 方法时,Hugo 会把该资源发布到目标路径。
假设你有一个 CSS 文件,希望用项目配置中的值填充它:
body {
background-color: {{ site.Params.style.bg_color }};
color: {{ site.Params.style.text_color }};
}而项目配置中包含:
[params.style]
bg_color = '#fefefe'
text_color = '#222'把下面的代码放进 baseof.html 模板:
{{ with resources.Get "css/template.css" }}
{{ with resources.ExecuteAsTemplate "css/main.css" $ . }}
<link rel="stylesheet" href="{{ .RelPermalink }}">
{{ end }}
{{ end }}上面的示例:
- 把该模板捕获为资源
- 以当前页面作为上下文,把该资源作为模板执行
- 把该资源发布到 css/main.css
结果是:
body {
background-color: #fefefe;
color: #222;
}