diff options
author | Daniel Compton <desk@danielcompton.net> | 2019-02-21 14:34:32 +1300 |
---|---|---|
committer | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2019-03-19 00:33:02 +0100 |
commit | 44f5c1c14cb1f42cc5f01739c289e9cfc83602af (patch) | |
tree | a40a1ee0e13626a1870616415c3b632545ca5c72 /commands | |
parent | 984a73af9e5b5145297723f26faa38f29ca2918d (diff) |
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 (limited to 'commands')
-rw-r--r-- | commands/list.go | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/commands/list.go b/commands/list.go index 9922e957d..f49726b62 100644 --- 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 |