这几天每天邮箱都会收到Github Actions执行错误的邮件:

[BachWV/BachWV.github.io] Deploy Hugo workflow run Deploy Hugo: All jobs have failed

点开一看

1
2
3
4
Run hugo
Start building sites … 
hugo v0.112.0-0a95d6704a8ac8d41cc5ca8fffaad8c5c7a3754a linux/amd64 BuildDate=2023-05-23T08:14:20Z VendorInfo=gohugoio
ERROR 2023/05/23 23:17:26 render of "page" failed: "/home/runner/work/BachWV.github.io/BachWV.github.io/themes/hugo-theme-tokiwa/layouts/_default/single.html:19:4": execute of template failed: template: _default/single.html:19:4: executing "aside" at <partial "page-aside.html" .>: error calling partial: "/home/runner/work/BachWV.github.io/BachWV.github.io/themes/hugo-theme-tokiwa/layouts/partials/page-aside.html:3:4": execute of template failed: template: partials/page-aside.html:3:4: executing "partials/page-aside.html" at <partial "social-follow.html" .>: error calling partial: "/home/runner/work/BachWV.github.io/BachWV.github.io/themes/hugo-theme-tokiwa/layouts/partials/social-follow.html:10:6": execute of template failed: template: partials/social-follow.html:10:6: executing "partials/social-follow.html" at <partial (printf "%s%s%s" "svg/" $key "-line.svg") .>: error calling partial: partial "svg/_merge-line.svg" not found

新版本0.112.0不知道升级了什么东西,这是啥错?

把hugo下载到本地,发现同样的错误,可以定位是hugo升级带来的不兼容问题了。

定位bug文件

partials/social-follow.html

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
	{{ range $key,$value:=.Site.Social }}
	<a href='{{$value}}' target="_blank" class="{{- $key}} icon pl-1 text-eucalyptus-400 hover:text-java-400" title="{{- $key}} link" rel="noopener"
		aria-label="follow on {{$key}}——Opens in a new window">
		{{/*  <object type="image/svg+xml" data='{{ relURL (printf "%s%s%s" "svg/" $key ".svg") }}' class="w-12 h-12
		text-gray-200"></object> */}}
		<div class="fill-current h-8 w-8">
			{{ partial (printf "%s%s%s" "svg/" $key "-line.svg") . }}
		</div>
	</a>
	{{ end }}

看了仓库的issue,没人提。问题在哪?

找了半天,找到112的更新日志

https://gohugo.io/content-management/multilingual/#changes-in-hugo-01120

提到了配置文件config.toml映射的变化

所以把第一行的 {{ range $key,$value:=.Site.Social }}改成 {{ range $key,$value:=.Site.Params.Social }}就好啦

2024-11-26更新: 今天github actions又报错了,这次是同样是social-follow.html的问题。hugo版本是0.139,不支持原来的social写法,

ERROR deprecated: .Site.Social was deprecated in Hugo v0.124.0 and will be removed in Hugo 0.140.0. Implement taxonomy ‘social’ or use .Site.Params.Social instead.

使用.Site.Params.Social替换以后还是错,因为格式不对,盯着social-follow.html看了半天,搜到几个issue,不知道哪里的问题。 遂打开一个example项目:https://github.com/luizdepra/hugo-coder/,一下子就清晰明了。

[[params.social]] name = “Github” icon = “fa-brands fa-github fa-2x” weight = 1 url = “https://github.com/johndoe/"

又在copilot的帮助下完成了social-follow.html的修改。收工!