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;
}