在学Hugo CMS,其中有一段模板是这样的
<article class="6u 12u$(xsmall) work-item {{ $.Site.Params.Use_out_img }} {{ $.Site.Params.OutImgLink }}">
{{ if .Site.Params.Use_out_img }}
<a href="{{ $.Site.BaseURL }}images/{{ .image }}?33" class="image fit thumb"><img src="{{ $.Site.BaseURL }}images/{{ .thumb }}" alt="" /></a>
{{ end }}
{{ if not .Site.Params.Use_out_img }}
<a href="{{ $.Site.Params.OutImgLink }}{{ .image }}" class="image fit thumb"><img src="{{ $.Site.Params.OutImgLink }}{{ .thumb }}" alt="" /></a>
{{ end }}
<h3>{{ .title | markdownify }}</h3>
<p>{{ .description | markdownify }}</p>
</article>
页面逻辑很简单:
判断 .Site.Params.Use_out_img 是否被设置为true,如果是true则走第一个分支,否则走第二的分支。
页面上用 {{ $.Site.Params.Use_out_img }} 打出的字符是 true, 但代码却走的是后一段。 {{ if not .Site.Params.Use_out_img }}
这个值是在配置文件中设定的:
[params]
# To provide some metadata for search engines feel free to add a few
# information about you and your website.
# Add read time estimates in the format "X min read"
show_read_time = true
# use image server
use_out_img = true
之前没用学过go,目前只是照猫画虎改模板。 求高人指点。 谢过先~
更多评论
<a href="/user/channel" title="@channel">@channel</a> 模板文件: https://github.com/angilent/victor_hugo/blob/master/site/themes/hugo-strata-theme/layouts/partials/portfolio.html
配置文件:
https://github.com/angilent/victor_hugo/blob/master/site/config.toml
工程可以拿下来本地跑:
npm install
npm start
#2
`{{ if .Site.Params.Use_out_img }}` 不应该是 `{{ if $.Site.Params.Use_out_img }}` 吗?
#3