hugo/tpl/collections
Bjørn Erik Pedersen e27fd4c1b8 tpl/collections: Add collections.Append
Before this commit you would typically use `.Scratch.Add` to manually create slices in a loop.

With variable overwrite in Go 1.11, we can do better. This commit adds the `append` template func.

A made-up example:

```bash
{{ $p1 := index .Site.RegularPages 0 }}{{ $p2 := index .Site.RegularPages 1 }}
{{ $pages := slice }}
{{ if true }}
  {{ $pages = $pages | append $p2 $p1 }}
{{ end }}
```

Note that with 2 slices as arguments, the two examples below will give the same result:

```bash
{{ $s1 := slice "a" "b" | append (slice "c" "d") }}
{{ $s2 := slice "a" "b" | append "c" "d" }}
```

Both of the above will give `[]string{a, b, c, d}`.

This commit also improves the type handling in the `slice` template function. Now `slice "a" "b"` will give a `[]string` slice. The old behaviour was to return a `[]interface{}`.

Fixes #5190
2018-09-14 10:12:08 +02:00
..
append.go tpl/collections: Add collections.Append 2018-09-14 10:12:08 +02:00
append_test.go tpl/collections: Add collections.Append 2018-09-14 10:12:08 +02:00
apply.go tpl/collections: Add Pages support to Intersect and Union 2017-07-03 21:48:03 +02:00
apply_test.go Add Hugo Piper with SCSS support and much more 2018-07-06 11:46:12 +02:00
collections.go tpl/collections: Add collections.Append 2018-09-14 10:12:08 +02:00
collections_test.go tpl/collections: Add collections.Append 2018-09-14 10:12:08 +02:00
index.go tpl: Add template function namespaces 2017-04-30 10:56:38 +02:00
index_test.go all: gofmt -s 2017-08-07 20:03:15 +02:00
init.go tpl/collections: Add collections.Append 2018-09-14 10:12:08 +02:00
init_test.go all: Update import paths to gohugoio/hugo 2017-06-13 18:42:45 +02:00
reflect_helpers.go tpl/collections: Improve type handling in collections.Slice 2018-09-10 09:19:01 +02:00
sort.go Run gofmt to get imports in line vs gohugoio/hugo 2017-06-13 19:12:10 +02:00
sort_test.go all: Update import paths to gohugoio/hugo 2017-06-13 18:42:45 +02:00
where.go tpl/collections: Fix intersect on []interface{} handling 2017-07-28 07:21:21 +02:00
where_test.go tpl/collections: Fix intersect on []interface{} handling 2017-07-28 07:21:21 +02:00