shithub: hugo

Download patch

ref: 098a0c819af2575628690517f4bd40253d7436d7
parent: 8727475596bc873e1cab203f5c006927671936e0
author: Anthony Fok <[email protected]>
date: Sun Nov 22 04:19:54 EST 2015

Add commands/genman.go to autogenerate man pages

Fixes #1369

--- /dev/null
+++ b/commands/genman.go
@@ -1,0 +1,30 @@
+package commands
+
+import (
+	"fmt"
+
+	"github.com/spf13/cobra"
+	"github.com/spf13/hugo/helpers"
+	jww "github.com/spf13/jwalterweatherman"
+)
+
+var genmanCmd = &cobra.Command{
+	Use:   "genman",
+	Short: "Generate man pages for the Hugo CLI",
+	Long: `This command automatically generates up-to-date man pages of Hugo's
+command-line interface.  By default, it creates the man page files
+in the "man" directory under the current directory.`,
+
+	Run: func(cmd *cobra.Command, args []string) {
+		genmandir := "man/"
+		cmd.Root().DisableAutoGenTag = true
+		header := &cobra.GenManHeader{
+			Section: "1",
+			Manual:  "Hugo Manual",
+			Source:  fmt.Sprintf("Hugo %s", helpers.HugoVersion()),
+		}
+		jww.FEEDBACK.Println("Generating Hugo man pages in", genmandir, "...")
+		cmd.Root().GenManTree(header, genmandir)
+		jww.FEEDBACK.Println("Done.")
+	},
+}
--- a/commands/hugo.go
+++ b/commands/hugo.go
@@ -88,6 +88,7 @@
 	HugoCmd.AddCommand(undraftCmd)
 	HugoCmd.AddCommand(genautocompleteCmd)
 	HugoCmd.AddCommand(gendocCmd)
+	HugoCmd.AddCommand(genmanCmd)
 	HugoCmd.AddCommand(importCmd)
 }