1o0 Project

Hugo V0.109.0がリリースされていた

2022-12-24

Hugoがマイナーヴァージョンアップしていた。

Release v0.109.0 · gohugoio/hugo

主な機能追加としてはこんな感じ。

SASS/SCSSやPostCSS周りの変更はextend版を使わないと恩恵なさそうだし(もう、そちらの方が一般的なのだろうか)、Go言語のWorkspace機能はユーズケースがわからない。ただ、.Ancestorsは地味に便利そうで、公式ではパン屑リストの実装方法を紹介している。

<ol>
  <ul>
    {{- range .Ancestors.Reverse }}
      <li><a href="{{ .Permalink }}">{{ .Title }}</a></li>
    {{- end }}
    <li class="active" aria-current="page">
      <a href="{{ .Permalink }}">{{ .Title }}</a>
    </li>
  </ul>
</ol>

これは従来の公式だと、このように紹介されていた。

<ol  class="nav navbar-nav">
  {{ template "breadcrumbnav" (dict "p1" . "p2" .) }}
</ol>

{{ define "breadcrumbnav" }}
{{ if .p1.Parent }}
{{ template "breadcrumbnav" (dict "p1" .p1.Parent "p2" .p2 )  }}
{{ else if not .p1.IsHome }}
{{ template "breadcrumbnav" (dict "p1" .p1.Site.Home "p2" .p2 )  }}
{{ end }}
<li{{ if eq .p1 .p2 }} class="active" aria-current="page" {{ end }}>
  <a href="{{ .p1.Permalink }}">{{ .p1.Title }}</a>
</li>
{{ end }}

{{ define "breadcrumbnav" }}で定義されている部分を.Ancestors.Reverseで定義できてしまう。セクションの階層構造を作るときに利用できそうな機能だ。