From 098a0c819af2575628690517f4bd40253d7436d7 Mon Sep 17 00:00:00 2001 From: Anthony Fok Date: Sun, 22 Nov 2015 09:19:54 -0700 Subject: [PATCH] Add commands/genman.go to autogenerate man pages Fixes #1369 --- commands/genman.go | 30 ++++++++++++++++++++++++++++++ commands/hugo.go | 1 + 2 files changed, 31 insertions(+) create mode 100644 commands/genman.go diff --git a/commands/genman.go b/commands/genman.go new file mode 100644 index 000000000..1c8ec45a0 --- /dev/null +++ b/commands/genman.go @@ -0,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.") + }, +} diff --git a/commands/hugo.go b/commands/hugo.go index f579d4b84..28a6d43b8 100644 --- a/commands/hugo.go +++ b/commands/hugo.go @@ -88,6 +88,7 @@ func AddCommands() { HugoCmd.AddCommand(undraftCmd) HugoCmd.AddCommand(genautocompleteCmd) HugoCmd.AddCommand(gendocCmd) + HugoCmd.AddCommand(genmanCmd) HugoCmd.AddCommand(importCmd) }