hugo/docs/content/en/methods/pages/GroupByParamDate.md
Bjørn Erik Pedersen 5fd1e74903
Merge commit '9b0050e9aabe4be65c78ccf292a348f309d50ccd' as 'docs'
```
git subtree add --prefix=docs/ https://github.com/gohugoio/hugoDocs.git master --squash
```

Closes #11925
2024-01-27 10:48:57 +01:00

1.9 KiB

title description categories keywords action
GroupByParamDate Returns the given page collection grouped by the given date parameter in descending order.
related returnType signatures
methods/pages/GroupByDate
methods/pages/GroupByExpiryDate
methods/pages/GroupByLastMod
methods/pages/GroupByPublishDate
page.PagesGroup
PAGES.GroupByParamDate PARAM LAYOUT [SORT]

The layout string has the same format as the layout string for the time.Format function. The resulting group key is localized for language and region.

{{% include "methods/pages/_common/group-sort-order.md" %}}

To group content by year and month:

{{ range .Pages.GroupByParamDate "eventDate" "January 2006" }}
  <p>{{ .Key }}</p>
  <ul>
    {{ range .Pages }}
      <li><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></li>
    {{ end }}
  </ul>
{{ end }}

To sort the groups in ascending order:

{{ range .Pages.GroupByParamDate "eventDate" "January 2006" "asc" }}
  <p>{{ .Key }}</p>
  <ul>
    {{ range .Pages }}
      <li><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></li>
    {{ end }}
  </ul>
{{ end }}

The pages within each group will also be sorted by the parameter date, either ascending or descending depending on your grouping option. To sort the pages within each group, use one of the sorting methods. For example, to sort the pages within each group by title:

{{ range .Pages.GroupByParamDate "eventDate" "January 2006" }}
  <p>{{ .Key }}</p>
  <ul>
    {{ range .Pages.ByTitle }}
      <li><a href="{{ .RelPermalink }}">{{ .Title }}</a></li>
    {{ end }}
  </ul>
{{ end }}

Layout string

{{% include "functions/_common/time-layout-string.md" %}}