ref: c750a95e22e4342ffd181c742bb61a3ff53aaa28
parent: 946ad9c2c33a0906e4ed77a1abd7786017db9f05
author: Joel Scoble <[email protected]>
date: Wed Aug 20 06:09:35 EDT 2014
support for futre/draft summary info output
--- a/hugolib/page.go
+++ b/hugolib/page.go
@@ -304,6 +304,17 @@
return false
}
+func (page *Page) IsDraft() bool {
+ return page.Draft
+}
+
+func (page *Page) IsFuture() bool {
+ if page.PublishDate.Before(time.Now()) {
+ return false
+ }
+ return true
+}
+
func (p *Page) Permalink() (string, error) {
link, err := p.permalink()
if err != nil {
--- a/hugolib/site.go
+++ b/hugolib/site.go
@@ -70,6 +70,8 @@
Completed chan bool
RunMode runmode
params map[string]interface{}
+ draftCount int
+ futureCount int
}
type SiteInfo struct {
@@ -348,6 +350,14 @@
s.Pages = append(s.Pages, page)
}
+ if page.IsDraft() {
+ s.draftCount += 1
+ }
+
+ if page.IsFuture() {
+ s.futureCount += 1
+ }
+
return
}(fi)
}
@@ -806,7 +816,9 @@
}
func (s *Site) Stats() {
- jww.FEEDBACK.Printf("%d pages created \n", len(s.Pages))
+ jww.FEEDBACK.Println(s.draftStats())
+ jww.FEEDBACK.Println(s.futureStats())
+ jww.FEEDBACK.Printf("%d pages created \n", len(s.Pages))
taxonomies := viper.GetStringMapString("Taxonomies")
@@ -950,4 +962,42 @@
jww.DEBUG.Println("alias created at", path)
return s.Alias.Publish(path, permalink)
+}
+
+func (s *Site) draftStats() string {
+ var msg string
+
+ switch s.draftCount {
+ case 0:
+ return "0 draft content "
+ case 1:
+ msg = "1 draft rendered "
+ default:
+ msg = fmt.Sprintf("%d drafts rendered", s.draftCount)
+ }
+
+ if viper.GetBool("BuildDrafts") {
+ return fmt.Sprintf("%d of ", s.draftCount) + msg
+ }
+
+ return "0 of " + msg
+}
+
+func (s *Site) futureStats() string {
+ var msg string
+
+ switch s.futureCount {
+ case 0:
+ return "0 future content "
+ case 1:
+ msg = "1 future rendered "
+ default:
+ msg = fmt.Sprintf("%d future rendered", s.draftCount)
+ }
+
+ if viper.GetBool("BuildFuture") {
+ return fmt.Sprintf("%d of ", s.futureCount) + msg
+ }
+
+ return "0 of " + msg
}