hugo

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

git clone git://git.shimmy1996.com/hugo.git
commit 5461a5e03d1d7c2e3179abea88aef48e62f413e5
parent 51f7cd9bdeb5cec48c1ad24786120ae7fce0c404
Author: Hanchen Wang <hanchen.wang@mail.utoronto.ca>
Date:   Wed, 11 May 2016 10:11:23 -0400

commands: Add listExpiredCmd for expired pages

Diffstat:
Mcommands/list.go | 32++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+), 0 deletions(-)
diff --git a/commands/list.go b/commands/list.go
@@ -25,6 +25,7 @@ import (
 func init() {
 	listCmd.AddCommand(listDraftsCmd)
 	listCmd.AddCommand(listFutureCmd)
+	listCmd.AddCommand(listExpiredCmd)
 	listCmd.PersistentFlags().StringVarP(&source, "source", "s", "", "filesystem path to read files relative from")
 	listCmd.PersistentFlags().SetAnnotation("source", cobra.BashCompSubdirsInDir, []string{})
 }
@@ -98,3 +99,34 @@ posted in the future.`,
 
 	},
 }
+
+var listExpiredCmd = &cobra.Command{
+	Use:   "expired",
+	Short: "List all posts already expired",
+	Long: `List all of the posts in your content directory which has already
+expired.`,
+	RunE: func(cmd *cobra.Command, args []string) error {
+
+		if err := InitializeConfig(); err != nil {
+			return err
+		}
+
+		viper.Set("BuildExpired", true)
+
+		site := &hugolib.Site{}
+
+		if err := site.Process(); err != nil {
+			return newSystemError("Error Processing Source Content", err)
+		}
+
+		for _, p := range site.Pages {
+			if p.IsExpired() {
+				fmt.Println(filepath.Join(p.File.Dir(), p.File.LogicalName()))
+			}
+
+		}
+
+		return nil
+
+	},
+}