记一次更新 Hextra 主题引起的报错
记一次更新 Hextra 主题引起的报错
2026/8/9
Hextra v0.12.0 -> v0.12.3 后报错:
"[我的 Hugo 项目根目录]\themes\hextra\layouts_shortcodes\gallery-item.html:1:1": parse of template failed: template: _shortcodes/gallery-item.html:1: comment ends before closing delimiter问题分析
报错文件内容:
{{- /*
...注释内容...
*/
-}}
...根据报错信息定位到 Go 模板解析器源码 lex.go:
关键代码:
go
|
|
由此可知报错原因:
Go 模板解析器只允许以下 2 种注释右定界符格式:
*/}}
*/[一个空白字符]-}}Hextra 仓库原文件是 LF(\n)换行,*/ 换行后接 -}} 是合法的.
但如果 Git 配置了 core.autocrlf=true(Windows 安装 Git 时的默认选项),checkout 时文件会被转换成 CRLF(\r\n)换行,*/ 和 -}} 之间变成了两个空白字符,于是就会报 comment ends before closing delimiter .
解决方法
方法 1:单独修改主题
bash
|
|
方法 2:全局修改
bash
|
|
其实后来还是退回到 v0.12.0 了
感觉还是老版本的界面风格好看点