Hugoでブログなどを作成するときにブログ一覧だけではなく、aboutページなどの固定ページも作成すると思います。僕の場合は、postフォルダ
とabout.md
があるので、このaboutページをブログの一覧から外します。
シンプルにFUNCTIONSのrangeを使うとcontentディレクトリ配下の記事は全て一覧に表示されます。
<ul>
{{ range .Pages }}
<div class="article-box">
<div class="article-list-img">
<img src="/images/ubuntu-logo.jpg">
</div>
<div class="article-list-title">
<a href="{{ .RelPermalink}}">{{.Title}}</a>
</div>
</div>
{{ end }}
</ul>
なので、FUNCTIONSのwhereを使います。ここでは、単純にpostフォルダ配下の記事だけ一覧に表示したいので、以下のようにします。
<ul>
{{ range (where .Pages "Type" "post")}}
<div class="article-box">
<div class="article-list-img">
<img src="/images/ubuntu-logo.jpg">
</div>
<div class="article-list-title">
<a href="{{ .RelPermalink}}">{{.Title}}</a>
</div>
</div>
{{ end }}
</ul>
これだけで、一覧に固定ページを含まずに表示できます。