shithub: hugo

Download patch

ref: af1acfbce7c7d780856ac5f11646394f9c294293
parent: ad34be9d77f8abf948d36de4498e8955a02bbec6
author: spf13 <[email protected]>
date: Mon Apr 7 19:29:35 EDT 2014

writing indexes under more configuration conditions

--- a/commands/hugo.go
+++ b/commands/hugo.go
@@ -146,6 +146,8 @@
 	if VerboseLog {
 		jww.SetLogThreshold(jww.LevelDebug)
 	}
+
+	jww.INFO.Println("Using config file:", viper.ConfigFileUsed())
 }
 
 func build(watches ...bool) {
--- a/hugolib/site.go
+++ b/hugolib/site.go
@@ -302,7 +302,10 @@
 	s.Indexes = make(IndexList)
 	s.Sections = make(Index)
 
-	for _, plural := range viper.GetStringMapString("Indexes") {
+	indexes := viper.GetStringMapString("Indexes")
+	jww.INFO.Printf("found indexes: %#v\n", indexes)
+
+	for _, plural := range indexes {
 		s.Indexes[plural] = make(Index)
 		for _, p := range s.Pages {
 			vals := p.GetParam(plural)
@@ -421,37 +424,35 @@
 func (s *Site) RenderIndexes() (err error) {
 	var wg sync.WaitGroup
 
-	indexes, ok := viper.Get("Indexes").(map[string]string)
-	if ok {
-		for sing, pl := range indexes {
-			for key, oo := range s.Indexes[pl] {
-				wg.Add(1)
-				go func(k string, o WeightedPages, singular string, plural string) (err error) {
-					defer wg.Done()
-					base := plural + "/" + k
-					n := s.NewNode()
-					n.Title = strings.Title(k)
-					s.setUrls(n, base)
-					n.Date = o[0].Page.Date
-					n.Data[singular] = o
-					n.Data["Pages"] = o.Pages()
-					layout := "indexes/" + singular + ".html"
-					err = s.render(n, base+".html", layout)
+	indexes := viper.GetStringMapString("Indexes")
+	for sing, pl := range indexes {
+		for key, oo := range s.Indexes[pl] {
+			wg.Add(1)
+			go func(k string, o WeightedPages, singular string, plural string) (err error) {
+				defer wg.Done()
+				base := plural + "/" + k
+				n := s.NewNode()
+				n.Title = strings.Title(k)
+				s.setUrls(n, base)
+				n.Date = o[0].Page.Date
+				n.Data[singular] = o
+				n.Data["Pages"] = o.Pages()
+				layout := "indexes/" + singular + ".html"
+				err = s.render(n, base+".html", layout)
+				if err != nil {
+					return err
+				}
+
+				if a := s.Tmpl.Lookup("rss.xml"); a != nil {
+					// XML Feed
+					s.setUrls(n, base+".xml")
+					err := s.render(n, base+".xml", "rss.xml")
 					if err != nil {
 						return err
 					}
-
-					if a := s.Tmpl.Lookup("rss.xml"); a != nil {
-						// XML Feed
-						s.setUrls(n, base+".xml")
-						err := s.render(n, base+".xml", "rss.xml")
-						if err != nil {
-							return err
-						}
-					}
-					return
-				}(key, oo, sing, pl)
-			}
+				}
+				return
+			}(key, oo, sing, pl)
 		}
 	}
 	wg.Wait()
@@ -462,22 +463,20 @@
 	layout := "indexes/indexes.html"
 	if s.Tmpl.Lookup(layout) != nil {
 
-		indexes, ok := viper.Get("Indexes").(map[string]string)
-		if ok {
-			for singular, plural := range indexes {
-				n := s.NewNode()
-				n.Title = strings.Title(plural)
-				s.setUrls(n, plural)
-				n.Data["Singular"] = singular
-				n.Data["Plural"] = plural
-				n.Data["Index"] = s.Indexes[plural]
-				// keep the following just for legacy reasons
-				n.Data["OrderedIndex"] = s.Indexes[plural]
+		indexes := viper.GetStringMapString("Indexes")
+		for singular, plural := range indexes {
+			n := s.NewNode()
+			n.Title = strings.Title(plural)
+			s.setUrls(n, plural)
+			n.Data["Singular"] = singular
+			n.Data["Plural"] = plural
+			n.Data["Index"] = s.Indexes[plural]
+			// keep the following just for legacy reasons
+			n.Data["OrderedIndex"] = s.Indexes[plural]
 
-				err := s.render(n, plural+"/index.html", layout)
-				if err != nil {
-					return err
-				}
+			err := s.render(n, plural+"/index.html", layout)
+			if err != nil {
+				return err
 			}
 		}
 	}