tpl/collections: Add group template func

This extends the page grouping in Hugo with a template function that allows for ad-hoc grouping.

A made-up example:

```
{{ $cool := where .Site.RegularPages "Params.cool" true | group "cool" }}
{{ $blue := where .Site.RegularPages "Params.blue" true | group "blue" }}
{{ $paginator := .Paginate (slice $cool $blue) }}
```

Closes #4865
This commit is contained in:
Bjørn Erik Pedersen
2018-09-08 13:00:36 +02:00
parent cfda13b363
commit 6667c6d743
8 changed files with 130 additions and 5 deletions

View File

@@ -23,6 +23,7 @@ import (
"github.com/gohugoio/hugo/media"
"github.com/gohugoio/hugo/common/collections"
"github.com/gohugoio/hugo/common/maps"
"github.com/gohugoio/hugo/langs"
@@ -70,6 +71,8 @@ var (
// Assert that it implements the interface needed for related searches.
_ related.Document = (*Page)(nil)
_ collections.Grouper = Page{}
)
const (