aboutsummaryrefslogtreecommitdiffhomepage
path: root/content/en/functions/collections/Group.md
blob: 29220f1f78076c83a17e66abaf28d7ca63481651 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
---
title: collections.Group
linkTitle: group
description: Groups a list of pages.
categories: [functions]
keywords: []
menu:
  docs:
    parent: functions
function:
  aliases: [group]
  returnType: any
  signatures: [PAGES | collections.Group KEY]
relatedFunctions:
  - collections.Dictionary
  - collections.Group
  - collections.Index
  - collections.IsSet
  - collections.Where
aliases: [/functions/group]
---

{{< code file="layouts/partials/groups.html" >}}
{{ $new := .Site.RegularPages | first 10 | group "New" }}
{{ $old := .Site.RegularPages | last 10 | group "Old" }}
{{ $groups := slice $new $old }}
{{ range $groups }}
  <h3>{{ .Key }}{{/* Prints "New", "Old" */}}</h3>
  <ul>
    {{ range .Pages }}
      <li>
        <a href="{{ .Permalink }}">{{ .Title }}</a>
        <div class="meta">{{ .Date.Format "Mon, Jan 2, 2006" }}</div>
      </li>
    {{ end }}
  </ul>
{{ end }}
{{< /code >}}

The page group you get from `group` is of the same type you get from the built-in [group methods](/templates/lists#group-content) in Hugo. The above example can be [paginated](/templates/pagination/#list-paginator-pages).