Hugo PaperMod 主题中文章的标签信息会显示在文章的底部,但是文章的分类信息作为文章的一个重要特征,没有在文章中显示出来。下面我将说明怎么在文章的元数据中显示分类信息,并且对每个分类添加一个到该分类的超链接。

  1. 复制主题文件夹下的 single.html (路径:themes\PaperMod\layouts\_default)到网站文件夹下(如果没有,新建目录:layouts\_default)
  2. 在 layouts\_default\single.html 文件中,找到 <div class="post-meta"> 所在的位置,然后在原内容下追加添加分类信息的代码
<div class="post-meta">
  {{- partial "post_meta.html" . -}} {{- partial "translation_list.html" . -}}
  {{- partial "edit_post.html" . -}} {{- partial "post_canonical.html" . -}}

  <!-- 在元数据中显示分类信息 -->
  {{- $categories := .Language.Params.Taxonomies.category | default "categories"}} 
  <!-- 统计分类个数 -->
  {{- $cnt := 0 }} 
  {{- range ($.GetTerms $categories) }} 
    {{- $cnt = add $cnt 1 }} 
  {{- end }} 
  <!-- 只有文章有分类信息时才显示 -->
  {{- if gt $cnt 0 }} 
    {{- $i := 0 }}
    <div class="meta-item">&nbsp·&nbsp 
        {{- range ($.GetTerms $categories) }}
            <a href="{{ .Permalink }}">{{ .LinkTitle }}</a>
            {{ $i = add $i 1 }} 
            <!-- 不是最后一个类别时,添加逗号分割类别 -->
            {{- if lt $i $cnt}}
                <span>,</span>
            {{- end }} 
        {{- end }}
    </div>
  {{- end }}
</div>