You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Golang静态站点生成器:排除「about」文章的列表语法问题

问题分析与修复

错误点1:模板语法嵌套错误

你写的条件判断{{ if ne {{ .Title }} "about" }}犯了模板语法基础错误——模板指令内部的变量不需要再用双大括号包裹。在{{ }}里调用判断函数(比如ne代表不等于)时,参数直接写变量名即可,不能额外嵌套{{ }}。

错误点2:循环结构不完整

修改代码时你删掉了{{ range .Posts }}对应的结束标签{{ end }},导致模板的循环结构未闭合,这也会触发语法解析错误。

正确的修改后代码

{{ define "body" }}
{{ if .IsFiltered }}
    </br><h2>Topics: {{ .FilteredTag.Name }}</h2>  
{{ else }}
   </br><h2>All posts</h2>
{{ end }}
<div class ="list">
    {{ range .Posts }}
        {{ if ne .Title "about" }}
            <a href="{{ .ID }}.html">{{ .Title }} </a>  {{ .Time.Format "2006-1-2" }}<br/>
        {{ end }}
    {{ end }}
</div>
{{ end }}

修改后的逻辑:

  • 遍历文章列表时,先判断当前文章标题是否不等于"about"
  • 只有符合条件的文章才会被渲染到列表中
  • 保留了range对应的结束标签,保证循环结构完整

内容的提问来源于stack exchange,提问作者tyee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 05:22:35