shithub: hugo

Download patch

ref: 1f6e0de36152f919609518f954fa0c55caad03f4
parent: dbb0c1cfc92fbea81a1bdf00f428600e9123d07a
author: Bjørn Erik Pedersen <[email protected]>
date: Wed Nov 23 17:06:15 EST 2016

hugolib: Avoid repeated Viper loads of sectionPagesMenu

See #2728

--- a/hugolib/page.go
+++ b/hugolib/page.go
@@ -1092,7 +1092,7 @@
 
 func (p *Page) HasMenuCurrent(menuID string, me *MenuEntry) bool {
 
-	sectionPagesMenu := helpers.Config().GetString("SectionPagesMenu")
+	sectionPagesMenu := p.Site.sectionPagesMenu
 
 	// page is labeled as "shadow-member" of the menu with the same identifier as the section
 	if sectionPagesMenu != "" && p.Section() != "" && sectionPagesMenu == menuID && p.Section() == me.Identifier {
--- a/hugolib/site.go
+++ b/hugolib/site.go
@@ -191,6 +191,7 @@
 	LanguagePrefix                 string
 	Languages                      helpers.Languages
 	defaultContentLanguageInSubdir bool
+	sectionPagesMenu               string
 
 	pathSpec *helpers.PathSpec
 }
@@ -937,6 +938,7 @@
 		LanguagePrefix:                 languagePrefix,
 		Languages:                      languages,
 		defaultContentLanguageInSubdir: defaultContentInSubDir,
+		sectionPagesMenu:               lang.GetString("sectionPagesMenu"),
 		GoogleAnalytics:                lang.GetString("googleAnalytics"),
 		BuildDrafts:                    viper.GetBool("buildDrafts"),
 		canonifyURLs:                   viper.GetBool("canonifyURLs"),
@@ -1412,7 +1414,7 @@
 		}
 	}
 
-	sectionPagesMenu := s.Language.GetString("sectionPagesMenu")
+	sectionPagesMenu := s.Info.sectionPagesMenu
 	sectionPagesMenus := make(map[string]interface{})
 	//creating flat hash
 	pages := s.Pages