Hugo新手教程创建了content/posts
目录存放页面,罗列这个目录下多个页面的汇总页面路径为baseURL/posts
。但这个页面H1
标题Posts
并没有因为设置默认语言defaultContentLanguage = zh
自动变成中文,如果打开了面包屑(ShowBreadCrumbs = true
),还会显示成不伦不类的首页 » Posts
。
首先想到通过模板去改。比如到layouts/_default/list.html
中,把H1
标题从{{ .Title }}
改为{{ i18n .Title | default .Title }}
;再去处理一下layouts/partials/breadcrumbs.html
,把{{ $bc_pg.Name }}
改为{{ i18n $bc_pg.Name | default $bc_pg.Name }}
;然后创建i18n/zh.yaml
,利用i18n
把Posts
翻译成中文。
- id: Posts
translation: "文章"
感觉这么干应该能成(官方文档说是list.html
,没试过,只是想了想),但肉眼可见比较费事。改list.html
这种内容很多的模板应该不是个好办法,万一哪天官方主题更新了呢?其他可能会出现Posts
的地方也都还得一一找出来处理。
有个简单的办法:创建一个content/posts/_index.md
,内容为:
+++
title = "文章"
+++
搞定。这还顺带把面包屑也改掉了,现在变成了预期的首页 » 文章
。可以想象其他可能会出现Posts
的地方都变成文章
了。
顺手把标签页也这么改了,创建一个content/tags/_index.md
,内容形式同上。一开始尝试仿照时间轴(Archives)创建content/tags.md
,但发现只有标题没有内容,把PaperMod列出来的几个模板用来设置layout
都没有用。所以还是要吃透官方文档才行的。