Add flags for man vs website to cmd/gen-docs

This commit is contained in:
Mark Furland 2020-05-12 09:51:25 -04:00
parent 92130d91ba
commit e33706fbf4
2 changed files with 39 additions and 13 deletions

View file

@ -28,7 +28,7 @@ site:
site-docs: site
git -C site pull
git -C site rm 'manual/gh*.md' 2>/dev/null || true
go run ./cmd/gen-docs site/manual
go run ./cmd/gen-docs --website --doc-path site/manual
for f in site/manual/gh*.md; do sed -i.bak -e '/^### SEE ALSO/,$$d' "$$f"; done
rm -f site/manual/*.bak
git -C site add 'manual/gh*.md'
@ -51,4 +51,4 @@ manpage:
.PHONY: manpages
manpages: manpage
go run ./cmd/gen-docs ./manpage
go run ./cmd/gen-docs --man-page --doc-path ./manpage

View file

@ -7,27 +7,53 @@ import (
"github.com/cli/cli/command"
"github.com/spf13/cobra/doc"
"github.com/spf13/pflag"
)
func main() {
if len(os.Args) < 2 {
fatal("Usage: gen-docs <destination-dir>")
}
dir := os.Args[1]
err := os.MkdirAll(dir, 0755)
var flagError pflag.ErrorHandling
docCmd := pflag.NewFlagSet("", flagError)
var manPage = docCmd.BoolP("man-page", "", false, "Generate manual pages")
var website = docCmd.BoolP("website", "", false, "Generate website pages")
var dir = docCmd.StringP("doc-path", "", "", "Path directory where you want generate doc files")
var help = docCmd.BoolP("help", "h", false, "Help about any command")
if err := docCmd.Parse(os.Args); err != nil {
os.Exit(1)
}
if *help {
_, err := fmt.Fprintf(os.Stderr, "Usage of %s:\n\n%s", os.Args[0], docCmd.FlagUsages())
if err != nil {
fatal(err)
}
os.Exit(1)
}
if(*dir == "") {
fatal("no dir set")
}
err := os.MkdirAll(*dir, 0755)
if err != nil {
fatal(err)
}
err = doc.GenMarkdownTreeCustom(command.RootCmd, dir, filePrepender, linkHandler)
if err != nil {
fatal(err)
if *website {
err = doc.GenMarkdownTreeCustom(command.RootCmd, *dir, filePrepender, linkHandler)
if err != nil {
fatal(err)
}
}
err = doc.GenManTree(command.RootCmd, nil, dir)
if err != nil {
fatal(err)
if *manPage {
err = doc.GenManTree(command.RootCmd, nil, *dir)
if err != nil {
fatal(err)
}
}
}