hugo

Unnamed repository; edit this file 'description' to name the repository.

git clone git://git.shimmy1996.com/hugo.git
commit 44f5c1c14cb1f42cc5f01739c289e9cfc83602af
parent 984a73af9e5b5145297723f26faa38f29ca2918d
Author: Daniel Compton <desk@danielcompton.net>
Date:   Thu, 21 Feb 2019 14:34:32 +1300

List future and expired dates in CSV format

It is useful to see the date that a post will be published, or the date
that it has expired, to build tooling around it. This commit writes
posts and their publish/expired date as CSV.

Fixes #5610

Diffstat:
Mcommands/list.go | 21+++++++++++++++++----
1 file changed, 17 insertions(+), 4 deletions(-)
diff --git a/commands/list.go b/commands/list.go
@@ -14,7 +14,10 @@
 package commands
 
 import (
+	"encoding/csv"
+	"os"
 	"path/filepath"
+	"time"
 
 	"github.com/gohugoio/hugo/hugolib"
 	"github.com/spf13/cobra"
@@ -101,11 +104,16 @@ posted in the future.`,
 					return newSystemError("Error Processing Source Content", err)
 				}
 
+				writer := csv.NewWriter(os.Stdout)
+				defer writer.Flush()
+
 				for _, p := range sites.Pages() {
 					if p.IsFuture() {
-						jww.FEEDBACK.Println(filepath.Join(p.File.Dir(), p.File.LogicalName()))
+						err := writer.Write([]string{filepath.Join(p.File.Dir(), p.File.LogicalName()), p.PublishDate.Format(time.RFC3339)})
+						if err != nil {
+							return newSystemError("Error writing future posts to stdout", err)
+						}
 					}
-
 				}
 
 				return nil
@@ -137,11 +145,16 @@ expired.`,
 					return newSystemError("Error Processing Source Content", err)
 				}
 
+				writer := csv.NewWriter(os.Stdout)
+				defer writer.Flush()
+
 				for _, p := range sites.Pages() {
 					if p.IsExpired() {
-						jww.FEEDBACK.Println(filepath.Join(p.File.Dir(), p.File.LogicalName()))
+						err := writer.Write([]string{filepath.Join(p.File.Dir(), p.File.LogicalName()), p.ExpiryDate.Format(time.RFC3339)})
+						if err != nil {
+							return newSystemError("Error writing expired posts to stdout", err)
+						}
 					}
-
 				}
 
 				return nil