This is a convenience method to do lookups in Page's (Page only) and Site's Params map (Page and Node), in that order.
Fixes #1462
package hugolib
import (
+ "github.com/spf13/cast"
"html/template"
"sync"
"time"
return false
}
+// Param is a convenience method to do lookups in Site's Params map.
+//
+// This method is also implemented on Page.
+func (n *Node) Param(key interface{}) (interface{}, error) {
+ keyStr, err := cast.ToStringE(key)
+ if err != nil {
+ return nil, err
+ }
+ return n.Site.Params[keyStr], err
+}
+
func (n *Node) Hugo() *HugoInfo {
return hugoInfo
}
return true
}
+// Param is a convenience method to do lookups in Page's and Site's Params map,
+// in that order.
+//
+// This method is also implemented on Node.
+func (p *Page) Param(key interface{}) (interface{}, error) {
+ keyStr, err := cast.ToStringE(key)
+ if err != nil {
+ return nil, err
+ }
+ if val, ok := p.Params[keyStr]; ok {
+ return val, nil
+ }
+ return p.Site.Params[keyStr], nil
+}
+
func (p *Page) Author() Author {
authors := p.Authors()