ref: 3ccb3979028aafb3e6cc16d47daa77a1fdea11fa
parent: e6541c45ab1a3d15acd1beea73df5d17d08c7769
author: bep <bjorn.erik.pedersen@gmail.com>
date: Wed Dec 10 14:37:49 EST 2014
Make Urls in menus respect CanonifyUrls Fixes #519
--- a/hugolib/menu_test.go
+++ b/hugolib/menu_test.go
@@ -182,7 +182,7 @@
defer resetMenuTestState(ts)
home := ts.site.newHomeNode()
- homeMenuEntry := &MenuEntry{Name: home.Title, Url: string(home.Permalink)}+ homeMenuEntry := &MenuEntry{Name: home.Title, Url: home.Url} for i, this := range []struct {menu string
--- a/hugolib/node.go
+++ b/hugolib/node.go
@@ -38,7 +38,7 @@
func (n *Node) HasMenuCurrent(menuId string, inme *MenuEntry) bool { if inme.HasChildren() {- me := MenuEntry{Name: n.Title, Url: string(n.Permalink)}+ me := MenuEntry{Name: n.Title, Url: n.Url} for _, child := range inme.Children { if me.IsSameResource(child) {@@ -52,8 +52,7 @@
func (n *Node) IsMenuCurrent(menuId string, inme *MenuEntry) bool {- me := MenuEntry{Name: n.Title, Url: string(n.Permalink)}-
+ me := MenuEntry{Name: n.Title, Url: n.Url} if !me.IsSameResource(inme) {return false
}
--- a/hugolib/page.go
+++ b/hugolib/page.go
@@ -473,7 +473,7 @@
ret := PageMenus{} if ms, ok := page.Params["menu"]; ok {- link, _ := page.Permalink()
+ link, _ := page.RelPermalink()
me := MenuEntry{Name: page.LinkTitle(), Weight: page.Weight, Url: link}--- a/hugolib/site.go
+++ b/hugolib/site.go
@@ -532,10 +532,12 @@
}
menuEntry.MarshallMap(ime)
+
if strings.HasPrefix(menuEntry.Url, "/") {- // make it absolute so it matches the nodes
- menuEntry.Url = s.permalinkStr(menuEntry.Url)
+ // make it match the nodes
+ menuEntry.Url = s.prepUrl(menuEntry.Url)
}
+
if ret[name] == nil { ret[name] = &Menu{}}
--
⑨