Skip to main content

after は、配列を N 番目のアイテムの後のアイテムのみにスライスします。

以下は、slice 関数 と組み合わせて使用する after を示しています。

{{ $data := slice "one" "two" "three" "four" }}
{{ range after 2 $data }}
    {{ . }}
{{ end }}
→ ["three", "four"]

firstafter の組み合わせの例: 2 ~ 4 番目の最近の記事

after は、first 関数 と Hugo の 強力なソートメソッド と組み合わせて使用できます。 たとえば、example.com/articles にリストページがあるとします。 10 個の記事がありますが、 リスト/セクション ページ のテンプレートでは 2 行しか表示させないようにしたいと思います。

  1. 一番上の行は「注目」というタイトルで、最近公開された記事のみを表示します(つまり、コンテンツファイルのフロントマターの publishdate によるものです)。
  2. 2 行目は「最新の記事」というタイトルで、最近公開された 2 ~ 4 番目の記事のみが表示されます。
layouts/section/articles.html
{{ define "main" }}
<section class="row featured-article">
  <h2>注目の記事</h2>
  {{ range first 1 .Pages.ByPublishDate.Reverse }}
  <header>
    <h3><a href="{{ .Permalink }}">{{ .Title }}</a></h3>
  </header>
  <p>{{.Description}}</p>
{{ end }}
</section>
<div class="row recent-articles">
  <h2>最新の記事</h2>
  {{ range first 3 (after 1 .Pages.ByPublishDate.Reverse) }}
    <section class="recent-article">
      <header>
        <h3><a href="{{ .Permalink }}">{{ .Title }}</a></h3>
      </header>
      <p>{{ .Description }}</p>
    </section>
  {{ end }}
</div>
{{ end }}