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
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
index_test.go
init.go tpl/collections: Add collections.Append 2018-09-14 10:12:08 +02:00
init_test.go
reflect_helpers.go tpl/collections: Improve type handling in collections.Slice 2018-09-10 09:19:01 +02:00
sort.go
sort_test.go
where.go
where_test.go