定制翻译与子版块列表
发布于 - 修改于 - 大约需要 2 分钟 - 740 字前情提要
我有两处需要修改:一处是语言设置,另一处是目录。
语言即全中文展示,目录解释起来比较复杂。我希望讲这个博客分为几大板块:生活/工作,然后各自分几个板块:服务器/开发,然后开发下再根据项目进行区分。因此产生两个需求:
- 需要每级目录主页面可以展示子目录的概要及图像(大概)
- 需要导航目录有多级选择
修改语言
设置语言是通过在config.toml
中加入DefaultContentLanguage = "zh"
,之后便会读取zh
对应的翻译。
修改语言花了我点时间找到了themes/ananke/i18n
下的各种翻译。
在模板中的使用方法是
{{i18n "taxonomyPageList" .}}
,
而在翻译文件中则是:
[taxonomyPageList]
other = "Below you will find pages that utilize the taxonomy term “{{ .Title }}”"
其中最后一个点用于传递环境参数,来使用{{.Title}}
。
需要注意的是Hugo对于字符串,如果对应语言没有翻译,那么会默认空白。目前我的解决方案是把默认语言(英语)到处复制黏贴,只是不知道开发者怎么想。
这里只是初步涉及Hugo设置,但是对于我的需求已然足够。
修改目录
这一个需求涉及的内容就多多了。对此我查阅了大量文档,但我并没有看完整所有的文档,也依然不能保证我理解的是正确的。
首先根据对于内容列表的解释,我所寻找的正是一个List Page
。它对应模板中的list.html
文件。
其次,为了能够避免出现需要对主题进行涉及上游的修改,根据查找顺序,我只需要新建layouts/_default/list.html
文件即可覆盖主题所带来的文件。之后我便可以进行自由的修改。
然后,为了得到此版块对应的子版块的信息,即子文件夹中_index.md
所定义的内容,我应当遍历.Section
来获得。由于版块也是页面,接下来只需要根据和其他页面进行同样的操作即可。