Improve docs generation for cli.Authors

This allows specifying multiple authors, whereas no available authors
will be formatted correctly now.

Signed-off-by: Sascha Grunert <sgrunert@suse.com>
This commit is contained in:
Sascha Grunert 2019-09-19 14:29:06 +02:00
parent 05874240ed
commit 2cb62f5091
No known key found for this signature in database
GPG Key ID: 8CE029DD1A866E52
8 changed files with 97 additions and 14 deletions

3
.gitignore vendored
View File

@ -1,3 +1,4 @@
*.coverprofile
*.orig
node_modules/
vendor
vendor

View File

@ -64,7 +64,10 @@ func testApp() *App {
}}
app.UsageText = "app [first_arg] [second_arg]"
app.Usage = "Some app"
app.Authors = []*Author{{Name: "Harrison", Email: "harrison@lolwut.com"}}
app.Authors = []*Author{
{Name: "Harrison", Email: "harrison@lolwut.com"},
{Name: "Oliver Allen", Email: "oliver@toyshop.com"},
}
return app
}
@ -112,6 +115,19 @@ func TestToMarkdownNoCommands(t *testing.T) {
expectFileContent(t, "testdata/expected-doc-no-commands.md", res)
}
func TestToMarkdownNoAuthors(t *testing.T) {
// Given
app := testApp()
app.Authors = []*Author{}
// When
res, err := app.ToMarkdown()
// Then
expect(t, err, nil)
expectFileContent(t, "testdata/expected-doc-no-authors.md", res)
}
func TestToMan(t *testing.T) {
// Given
app := testApp()

View File

@ -71,10 +71,9 @@ OPTIONS:
{{end}}{{end}}
`
var MarkdownDocTemplate = `% {{ .App.Name }}(8) {{ .App.Description }}
{{ range $Author := .App.Authors}}
% {{ $Author.Name }}
{{- end}}
var MarkdownDocTemplate = `% {{ .App.Name }}(8){{ if .App.Description }} {{ .App.Description }}{{ end }}
{{ range $a := .App.Authors }}
% {{ $a }}{{ end }}
# NAME

View File

@ -1,7 +1,10 @@
.nh
.TH greet(8)
.TH greet(8)
.SH Harrison
.SH Harrison harrison@lolwut.com
\[la]mailto:harrison@lolwut.com\[ra]
Oliver Allen oliver@toyshop.com
\[la]mailto:oliver@toyshop.com\[ra]
.SH NAME
.PP

View File

@ -1,6 +1,7 @@
% greet(8)
% greet(8)
% Harrison
% Harrison <harrison@lolwut.com>
% Oliver Allen <oliver@toyshop.com>
# NAME

61
testdata/expected-doc-no-authors.md vendored Normal file
View File

@ -0,0 +1,61 @@
% greet(8)
# NAME
greet - Some app
# SYNOPSIS
greet
```
[--another-flag|-b]
[--flag|--fl|-f]=[value]
[--socket|-s]=[value]
```
# DESCRIPTION
app [first_arg] [second_arg]
**Usage**:
```
greet [GLOBAL OPTIONS] command [COMMAND OPTIONS] [ARGUMENTS...]
```
# GLOBAL OPTIONS
**--another-flag, -b**: another usage text
**--flag, --fl, -f**="":
**--socket, -s**="": some 'usage' text (default: value)
# COMMANDS
## config, c
another usage test
**--another-flag, -b**: another usage text
**--flag, --fl, -f**="":
### sub-config, s, ss
another usage test
**--sub-command-flag, -s**: some usage text
**--sub-flag, --sub-fl, -s**="":
## info, i, in
retrieve generic information
## some-command

View File

@ -1,6 +1,7 @@
% greet(8)
% greet(8)
% Harrison
% Harrison <harrison@lolwut.com>
% Oliver Allen <oliver@toyshop.com>
# NAME

View File

@ -1,6 +1,7 @@
% greet(8)
% greet(8)
% Harrison
% Harrison <harrison@lolwut.com>
% Oliver Allen <oliver@toyshop.com>
# NAME