在 Hugo 里显示系列文章

实机演示:

Series partial in a post

参考:

主要改动点:

  • 做成 partial 而不是 shortcode,不需要手动添加;
  • 允许一篇文章属于多个 series;
  • 使用 <dl> 排版,内容与形式统一。

代码:(hugo-theme-diary/series.html

{{ range $index, $series := .Params.series }}
<dl class="post-series">
  <dt>
    This is a post in the
    <a href="{{ "/series/" | relLangURL }}{{ . | urlize }}">{{ $series }}</a>
    series:
  </dt>
  <dd>
  <ol>
    {{ range $ind, $post := $.Site.Pages.ByDate }}
      {{ if in $post.Params.series $series }}
        <li>
          {{ if eq $post.Permalink $.Page.Permalink }}
            {{ $post.Params.title }}&emsp;(current post)
          {{ else }}
            <a href="{{ $post.Permalink }}">{{ $post.Params.title }}</a>
          {{ end }}
        </li>
      {{ end }}
    {{ end }}
  </ol>
  </dd>
</dl>
{{ end }}
<hr />

站点设置需要更改:(config.yaml

taxonomies:
    tag: tags
    category: categories
    series: series