diff --git a/hugolib/node.go b/hugolib/node.go index e71055947..d98cfcb8b 100644 --- a/hugolib/node.go +++ b/hugolib/node.go @@ -18,6 +18,7 @@ import ( "html/template" "sync" "time" + "strings" ) type Node struct { @@ -56,8 +57,20 @@ func (n *Node) HasMenuCurrent(menuID string, inme *MenuEntry) bool { } func (n *Node) IsMenuCurrent(menuID string, inme *MenuEntry) bool { + s := n.Site me := MenuEntry{Name: n.Title, URL: n.URL} + + if strings.HasPrefix(me.URL, "/") { + // make it match the nodes + menuEntryURL := me.URL + menuEntryURL = helpers.URLizeAndPrep(menuEntryURL) + if !s.canonifyURLs { + menuEntryURL = helpers.AddContextRoot(string(s.BaseURL), menuEntryURL) + } + me.URL = menuEntryURL + } + if !me.IsSameResource(inme) { return false }