resources.ExecuteAsTemplate
Syntax
resources.ExecuteAsTemplate 目标路径 上下文 资源
Returns
resource.Resource
当调用.Publish
、.Permalink
或.RelPermalink
方法时,Hugo将资源发布到目标路径。资源会被缓存,以目标路径作为缓存键。
假设您有一个CSS文件,希望使用站点配置中的值进行填充:
assets/css/template.css
body {
background-color: {{ site.Params.style.bg_color }};
color: {{ site.Params.style.text_color }};
}
而您的站点配置中包含:
hugo.
params:
style:
bg_color: '#fefefe'
text_color: '#222'
[params]
[params.style]
bg_color = '#fefefe'
text_color = '#222'
{
"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
结果为:
public/css/main.css
body {
background-color: #fefefe;
color: #222;
}