如何在Hugo中创建类似分类标签的语言菜单?
问题解决步骤
1. 配置语言分类(Taxonomy)
首先在站点配置文件(如config.toml)中添加语言分类定义,和Categories、Tags保持一致:
[taxonomies] category = "categories" tag = "tags" language = "languages" # 新增语言分类
2. 修正菜单配置
无需手动指定菜单URL,Hugo会自动为taxonomy生成列表页,菜单配置改为:
- identifier: Languages name: Languages url: /languages/ weight: 3
3. 删除手动创建的content/language.md
taxonomy列表页由Hugo自动生成,手动创建的markdown文件会干扰渲染,直接删除即可。
4. 配置语言分类的布局文件
如果主题没有自带语言分类布局,在layouts/taxonomy/目录下创建language.html,参考Categories布局编写,示例代码:
{{ define "main" }} <h1>{{ .Title }}</h1> <div class="taxonomy-list"> {{ range .Pages }} <article class="taxonomy-item"> <h2><a href="{{ .Permalink }}">{{ .Title }}</a></h2> <p>{{ .Summary | plainify }}</p> </article> {{ end }} </div> {{ end }}
5. 给文章添加语言分类标签
在文章的Front Matter中加入语言标签,示例:
--- title: "示例文章" date: 2024-05-20T10:00:00+08:00 language: ["中文", "English"] ---
完成以上步骤后,重新运行hugo server刷新页面,语言菜单即可正常显示类似Categories的列表效果。
内容的提问来源于stack exchange,提问作者GhostShadow
相关产品推荐
相关产品推荐

