@@ -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
1213func 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
3460func filePrepender (filename string ) string {
0 commit comments