mirror of
https://github.com/gohugoio/hugo.git
synced 2024-11-29 19:02:07 -05:00
e27fd4c1b8
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 |
||
---|---|---|
.. | ||
bundler | ||
create | ||
integrity | ||
minifier | ||
postcss | ||
templates | ||
testdata | ||
tocss/scss | ||
image.go | ||
image_cache.go | ||
image_test.go | ||
resource.go | ||
resource_cache.go | ||
resource_metadata.go | ||
resource_metadata_test.go | ||
resource_test.go | ||
smartcrop.go | ||
testhelpers_test.go | ||
transform.go | ||
transform_test.go |