bokunonikki.net

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

Tue Sep 24, 2019
Sun Jan 19, 2020

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

シンプルにFUNCTIONSのrangeを使うとcontentディレクトリ配下の記事は全て一覧に表示されます。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
<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フォルダ配下の記事だけ一覧に表示したいので、以下のようにします。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
<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