下記コミットの内容についての記事です。
tags画面の修正
Tags ページを見ていたらテーマを確認したところページネーションがうまくいっていないことを確認。
下記の記述になっていました。
- layouts/_default/single.html
{{ range .Pages }}
<div class="index-posts__list">
<div class="l-time"><a href="{{.Permalink}}">{{ .Date.Format "2006.01.02 15:04" }}</a></div>
<div class="l-title"><a href="{{.Permalink}}">{{ .Title }}</a></div>
</div>
{{ end }}
<div class="index-paginate">
{{ partial "pagination.html" . }}
</div>
単純に Pagination が使われていないのを確認、使うように修正。
- {{ range .Pages }}
+ {{ range .Paginator.Pages }}
ページネーションの修正
他におかしいところないかと大量に記事を追加して確認するとエラーが。。
pagination.html:106:28": execute of template failed at <$pag.Last.Permalink>: can’t evaluate field Permalink in type *page.Pager
Pagination のドキュメントを眺めると .Last
はあるけど .Last.Permalink
については書かれていない。
よく見るとドキュメントに正しい書き方があるのでそれに修正する。
- layouts/partials/pagination.html
<!-- Last page. -->
- {{ if ne $pag.PageNumber $pag.TotalPages }}
- <li><a href="{{ $pag.Last.Permalink }}">>></a></li>
+ {{ with $pag.Last }}
+ <li><a href="{{ .URL }}">>></a></li>
{{ end }}
あとはドキュメントを見ながら同様に .First
、.Prev
、.Next
を修正する。
最後に
使用しているテーマ hugo-theme-yuki は2020年にリポジトリはアーカイブされています。
フォークして使っていますが、やっぱりメンテは大変 (数年放置してましたが) ですが勉強になりますね。