https://github.com/gavv/cobradoc
Alternative documentation generator for Cobra.
https://github.com/gavv/cobradoc
cobra-cli documentation golang markdown troff
Last synced: about 1 year ago
JSON representation
Alternative documentation generator for Cobra.
- Host: GitHub
- URL: https://github.com/gavv/cobradoc
- Owner: gavv
- License: mit
- Created: 2022-11-11T11:03:28.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2025-03-05T13:19:49.000Z (about 1 year ago)
- Last Synced: 2025-03-20T00:41:05.037Z (about 1 year ago)
- Topics: cobra-cli, documentation, golang, markdown, troff
- Language: Go
- Homepage:
- Size: 21.5 KB
- Stars: 13
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# cobradoc [](https://pkg.go.dev/github.com/gavv/cobradoc) [](https://github.com/gavv/cobradoc/actions) [](https://github.com/gavv/cobradoc/releases)
Alternative documentation generator for golang [Cobra](https://github.com/spf13/cobra).
Highlights
----------
* Supports markdown and manpage (troff) formats
* Supports command groups
* Generates single page for the whole command tree
Reference
---------
API reference is available on [pkg.go.dev](https://pkg.go.dev/github.com/gavv/cobradoc#section-documentation).
Example
-------
[_example](_example) directory demonstrates usage of this package.
It contains:
* [example cobra tool](_example/example.go)
* [generated manual page](_example/_manpage.md)
* [generated markdown](_example/_markdown.md)
Usage
-----
Generate markdown page:
```go
import "github.com/gavv/cobradoc"
err := cobradoc.WriteDocument(os.Stdout, rootCmd, cobradoc.Markdown, cobradoc.Options{
Name: "my-tool",
Header: "My page header",
ShortDescription: "My tool description",
})
if err != nil {
panic(err)
}
```
Generate manual page:
```go
import "github.com/gavv/cobradoc"
err := cobradoc.WriteDocument(os.Stdout, rootCmd, cobradoc.Troff, cobradoc.Options{
Name: "my-tool",
Header: "My page header",
ShortDescription: "My tool description",
ExtraSections: []cobradoc.ExtraSection{
{
Title: cobradoc.BUGS,
Text: "Please report bugs via GitHub",
},
},
})
if err != nil {
panic(err)
}
```
Credits
-------
This package is inspired by [cobraman](https://github.com/rayjohnson/cobraman) by Ray Johnson, but uses single-page approach and adds support for command groups.
Authors
-------
See [here](AUTHORS.md).
License
-------
[MIT](LICENSE)