shou2017.com
JP / EN

Hugo,一覧ページに固定ページを含めない方法

Tue Sep 24, 2019
Sat Aug 10, 2024

Hugoでブログなどを作成するときにブログ一覧だけではなく、aboutページなどの固定ページも作成すると思います。僕の場合は、postフォルダabout.mdがあるので、このaboutページをブログの一覧から外します。

Hugo,一覧ページに固定ページを含めない方法

シンプルに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>

これだけで、一覧に固定ページを含まずに表示できます。

See Also