summaryrefslogtreecommitdiffstats
path: root/resources/resource
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2019-11-21 21:59:38 +0100
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2019-11-22 18:41:50 +0100
commita3fe5e5e35f311f22b6b4fc38abfcf64cd2c7d6f (patch)
tree06cf1f647ae026b4fb3053c85370c2b203c7a089 /resources/resource
parentcd07e6d57b158a76f812e8c4c9567dbc84f57939 (diff)
Fix Params case handling in the index, sort and where func
This means that you can now do: ``` {{ range where .Site.Pages "Params.MYPARAM" "foo" }} ```
Diffstat (limited to 'resources/resource')
-rw-r--r--resources/resource/params.go6
-rw-r--r--resources/resource/resourcetypes.go3
2 files changed, 7 insertions, 2 deletions
diff --git a/resources/resource/params.go b/resources/resource/params.go
index 4cb41715d..89da718ec 100644
--- a/resources/resource/params.go
+++ b/resources/resource/params.go
@@ -19,12 +19,16 @@ import (
"github.com/spf13/cast"
)
-func Param(r ResourceParamsProvider, fallback map[string]interface{}, key interface{}) (interface{}, error) {
+func Param(r ResourceParamsProvider, fallback maps.Params, key interface{}) (interface{}, error) {
keyStr, err := cast.ToStringE(key)
if err != nil {
return nil, err
}
+ if fallback == nil {
+ return maps.GetNestedParam(keyStr, ".", r.Params())
+ }
+
return maps.GetNestedParam(keyStr, ".", r.Params(), fallback)
}
diff --git a/resources/resource/resourcetypes.go b/resources/resource/resourcetypes.go
index 7a055b25d..b525d7d55 100644
--- a/resources/resource/resourcetypes.go
+++ b/resources/resource/resourcetypes.go
@@ -14,6 +14,7 @@
package resource
import (
+ "github.com/gohugoio/hugo/common/maps"
"github.com/gohugoio/hugo/langs"
"github.com/gohugoio/hugo/media"
"github.com/gohugoio/hugo/resources/images/exif"
@@ -85,7 +86,7 @@ type ResourceMetaProvider interface {
type ResourceParamsProvider interface {
// Params set in front matter for this resource.
- Params() map[string]interface{}
+ Params() maps.Params
}
type ResourceDataProvider interface {