Skip to content
Permalink
Browse files

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>
  • Loading branch information
saschagrunert committed Sep 19, 2019
1 parent 0587424 commit 2cb62f5091a7a7e304003b4a9134c66bb016fc08
@@ -1,3 +1,4 @@
*.coverprofile
*.orig
node_modules/
vendor
vendor
@@ -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()
@@ -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
@@ -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
@@ -1,6 +1,7 @@
% greet(8)
% greet(8)

% Harrison
% Harrison <harrison@lolwut.com>
% Oliver Allen <oliver@toyshop.com>

# NAME

@@ -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


@@ -1,6 +1,7 @@
% greet(8)
% greet(8)

% Harrison
% Harrison <harrison@lolwut.com>
% Oliver Allen <oliver@toyshop.com>

# NAME

@@ -1,6 +1,7 @@
% greet(8)
% greet(8)

% Harrison
% Harrison <harrison@lolwut.com>
% Oliver Allen <oliver@toyshop.com>

# NAME

0 comments on commit 2cb62f5

Please sign in to comment.
You can’t perform that action at this time.