X Tutup
Skip to content

Commit e33706f

Browse files
committed
Add flags for man vs website to cmd/gen-docs
1 parent 92130d9 commit e33706f

File tree

2 files changed

+38
-12
lines changed

2 files changed

+38
-12
lines changed

Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ site:
2828
site-docs: site
2929
git -C site pull
3030
git -C site rm 'manual/gh*.md' 2>/dev/null || true
31-
go run ./cmd/gen-docs site/manual
31+
go run ./cmd/gen-docs --website --doc-path site/manual
3232
for f in site/manual/gh*.md; do sed -i.bak -e '/^### SEE ALSO/,$$d' "$$f"; done
3333
rm -f site/manual/*.bak
3434
git -C site add 'manual/gh*.md'
@@ -51,4 +51,4 @@ manpage:
5151

5252
.PHONY: manpages
5353
manpages: manpage
54-
go run ./cmd/gen-docs ./manpage
54+
go run ./cmd/gen-docs --man-page --doc-path ./manpage

cmd/gen-docs/main.go

Lines changed: 36 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,28 +7,54 @@ import (
77

88
"github.com/cli/cli/command"
99
"github.com/spf13/cobra/doc"
10+
"github.com/spf13/pflag"
1011
)
1112

1213
func main() {
13-
if len(os.Args) < 2 {
14-
fatal("Usage: gen-docs <destination-dir>")
14+
15+
var flagError pflag.ErrorHandling
16+
docCmd := pflag.NewFlagSet("", flagError)
17+
var manPage = docCmd.BoolP("man-page", "", false, "Generate manual pages")
18+
var website = docCmd.BoolP("website", "", false, "Generate website pages")
19+
var dir = docCmd.StringP("doc-path", "", "", "Path directory where you want generate doc files")
20+
var help = docCmd.BoolP("help", "h", false, "Help about any command")
21+
22+
if err := docCmd.Parse(os.Args); err != nil {
23+
os.Exit(1)
1524
}
16-
dir := os.Args[1]
1725

18-
err := os.MkdirAll(dir, 0755)
19-
if err != nil {
20-
fatal(err)
26+
if *help {
27+
_, err := fmt.Fprintf(os.Stderr, "Usage of %s:\n\n%s", os.Args[0], docCmd.FlagUsages())
28+
if err != nil {
29+
fatal(err)
30+
}
31+
os.Exit(1)
2132
}
2233

23-
err = doc.GenMarkdownTreeCustom(command.RootCmd, dir, filePrepender, linkHandler)
24-
if err != nil {
25-
fatal(err)
34+
if(*dir == "") {
35+
fatal("no dir set")
2636
}
2737

28-
err = doc.GenManTree(command.RootCmd, nil, dir)
38+
39+
err := os.MkdirAll(*dir, 0755)
2940
if err != nil {
3041
fatal(err)
3142
}
43+
44+
if *website {
45+
err = doc.GenMarkdownTreeCustom(command.RootCmd, *dir, filePrepender, linkHandler)
46+
if err != nil {
47+
fatal(err)
48+
}
49+
}
50+
51+
52+
if *manPage {
53+
err = doc.GenManTree(command.RootCmd, nil, *dir)
54+
if err != nil {
55+
fatal(err)
56+
}
57+
}
3258
}
3359

3460
func filePrepender(filename string) string {

0 commit comments

Comments
 (0)
X Tutup