diff --git a/hugolib/node.go b/hugolib/node.go index 566fd4799..eefb78bec 100644 --- a/hugolib/node.go +++ b/hugolib/node.go @@ -24,8 +24,6 @@ import ( jww "github.com/spf13/jwalterweatherman" "github.com/spf13/hugo/helpers" - - "github.com/spf13/cast" ) type Node struct { @@ -124,13 +122,9 @@ func (n *Node) IsMenuCurrent(menuID string, inme *MenuEntry) bool { // Param is a convenience method to do lookups in Site's Params map. // -// This method is also implemented on Page. +// This method is also implemented on Page and SiteInfo. 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 + return n.Site.Param(key) } func (n *Node) Hugo() *HugoInfo { diff --git a/hugolib/page.go b/hugolib/page.go index 99ef6e413..508bf252a 100644 --- a/hugolib/page.go +++ b/hugolib/page.go @@ -194,12 +194,13 @@ func (p *Page) IsPage() bool { // 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. +// This method is also implemented on Node and SiteInfo. func (p *Page) Param(key interface{}) (interface{}, error) { keyStr, err := cast.ToStringE(key) if err != nil { return nil, err } + keyStr = strings.ToLower(keyStr) if val, ok := p.Params[keyStr]; ok { return val, nil } diff --git a/hugolib/site.go b/hugolib/site.go index 7b74aa02f..f6a787298 100644 --- a/hugolib/site.go +++ b/hugolib/site.go @@ -223,8 +223,21 @@ func newSiteInfoDefaultLanguage(baseURL string, pages ...*Page) *SiteInfo { // linkedin type SiteSocial map[string]string +// Param is a convenience method to do lookups in Site's Params map. +// +// This method is also implemented on Page and Node. +func (s *SiteInfo) Param(key interface{}) (interface{}, error) { + keyStr, err := cast.ToStringE(key) + if err != nil { + return nil, err + } + keyStr = strings.ToLower(keyStr) + return s.Params[keyStr], nil +} + // GetParam gets a site parameter value if found, nil if not. func (s *SiteInfo) GetParam(key string) interface{} { + helpers.Deprecated("SiteInfo", ".GetParam", ".Param") v := s.Params[strings.ToLower(key)] if v == nil {