ref: af1acfbce7c7d780856ac5f11646394f9c294293
parent: ad34be9d77f8abf948d36de4498e8955a02bbec6
author: spf13 <steve.francia@gmail.com>
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
}
}
}
--
⑨