collections.After
Syntax
collections.After INDEX COLLECTION
Returns
any
Alias
after
The following shows after
being used in conjunction with the slice
function:
{{ $data := slice "one" "two" "three" "four" }}
<ul>
{{ range after 2 $data }}
<li>{{ . }}</li>
{{ end }}
</ul>
The template above is rendered to:
<ul>
<li>three</li>
<li>four</li>
</ul>
Example of after
with first
: 2nd–4th most recent articles
You can use after
in combination with the first
function and Hugo’s powerful sorting methods. Let’s assume you have a section
page at example.com/articles
. You have 10 articles, but you want your template to show only two rows:
- The top row is titled “Featured” and shows only the most recently published article (i.e. by
publishdate
in the content files’ front matter). - The second row is titled “Recent Articles” and shows only the 2nd- to 4th-most recently published articles.
layouts/section/articles.html
{{ define "main" }}
<section class="row featured-article">
<h2>Featured Article</h2>
{{ range first 1 .Pages.ByPublishDate.Reverse }}
<header>
<h3><a href="{{ .RelPermalink }}">{{ .Title }}</a></h3>
</header>
<p>{{ .Description }}</p>
{{ end }}
</section>
<div class="row recent-articles">
<h2>Recent Articles</h2>
{{ range first 3 (after 1 .Pages.ByPublishDate.Reverse) }}
<section class="recent-article">
<header>
<h3><a href="{{ .RelPermalink }}">{{ .Title }}</a></h3>
</header>
<p>{{ .Description }}</p>
</section>
{{ end }}
</div>
{{ end }}