hugolib: Update site stats to take output formats into account
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Fri, 24 Mar 2017 08:19:51 +0000 (09:19 +0100)
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Mon, 27 Mar 2017 13:43:56 +0000 (15:43 +0200)
hugolib/hugo_sites_build.go
hugolib/site.go

index 970948bb32fe4bfbaf4ed7067a8349e7e2c63433..e694ab52f2e190eb54cc6f438a732a8222b52432 100644 (file)
@@ -174,11 +174,19 @@ func (h *HugoSites) assemble(config *BuildCfg) error {
        }
 
        for _, s := range h.Sites {
+               s.siteStats = &siteStats{}
                for _, p := range s.Pages {
                        // May have been set in front matter
                        if len(p.outputFormats) == 0 {
                                p.outputFormats = s.outputFormats[p.Kind]
                        }
+
+                       cnt := len(p.outputFormats)
+                       if p.Kind == KindPage {
+                               s.siteStats.pageCountRegular += cnt
+                       }
+                       s.siteStats.pageCount += cnt
+
                        if err := p.initTargetPathDescriptor(); err != nil {
                                return err
                        }
index e3a89614827eb4f40ee362c4c40c6099a0b2ff12..536bf738b93a96ce122d5198ad0fb352e3c016f6 100644 (file)
@@ -115,6 +115,13 @@ type Site struct {
 
        // Logger etc.
        *deps.Deps `json:"-"`
+
+       siteStats *siteStats
+}
+
+type siteStats struct {
+       pageCount        int
+       pageCountRegular int
 }
 
 func (s *Site) isEnabled(kind string) bool {
@@ -1734,12 +1741,13 @@ func (s *Site) appendThemeTemplates(in []string) []string {
 // Stats prints Hugo builds stats to the console.
 // This is what you see after a successful hugo build.
 func (s *Site) Stats() {
+
        s.Log.FEEDBACK.Printf("Built site for language %s:\n", s.Language.Lang)
        s.Log.FEEDBACK.Println(s.draftStats())
        s.Log.FEEDBACK.Println(s.futureStats())
        s.Log.FEEDBACK.Println(s.expiredStats())
-       s.Log.FEEDBACK.Printf("%d regular pages created\n", len(s.RegularPages))
-       s.Log.FEEDBACK.Printf("%d other pages created\n", (len(s.Pages) - len(s.RegularPages)))
+       s.Log.FEEDBACK.Printf("%d regular pages created\n", s.siteStats.pageCountRegular)
+       s.Log.FEEDBACK.Printf("%d other pages created\n", (s.siteStats.pageCount - s.siteStats.pageCountRegular))
        s.Log.FEEDBACK.Printf("%d non-page files copied\n", len(s.Files))
        s.Log.FEEDBACK.Printf("%d paginator pages created\n", s.Info.paginationPageCount)