Ronn generates Man pages. See ronn(1), ronn-format(7). Also see it on GitHub: rtomayko/ronn.
gem install ronn
ronn foo.1.md # creates foo.1.html
ronn -r foo.1.md # creates foo.1 (--roff)
ronn -r -h foo.1.md # builds --roff and --html
ronn -m foo.1.md # view as manpage
Basic template
name(1) -- short, single-sentence description
=============================================
## SYNOPSIS
`name` [<optional>...] <flags>
## DESCRIPTION
A normal paragraph. This can span multiple lines and is terminated with two
or more line endings just like Markdown.
## OPTIONS
* `-h`, `--help` :
Displays the help screen.
* `--version` :
Displays version information.
## EXAMPLES
Indent examples with 4 spaces.
$ ls
$ ls -la
## COPYRIGHT
**PROJECTNAME** is copyright (c) 2015, Rico Sta. Cruz. Released under the MIT
license.
## SEE ALSO
ronn-format(7), ronn(1)
Formatting tags
Bold: `code` **strong**
Underline: <variable> _emphasis_ *emphasis*
Linking
Manual references: sh(1) markdown(7)
Sections: [STANDARDS][], [SEE ALSO][], [DIFFERENT TEXT][#SEE-ALSO]
URL: [URL link](http://github.com/rstacruz)
URL: <http://github.com>
Frequently-used sections
## SYNOPSIS
## DESCRIPTION
## OPTIONS
## SYNTAX
## ENVIRONMENT
## RETURN VALUES
## STANDARDS
## SECURITY CONSIDERATIONS
## BUGS
## HISTORY
## AUTHOR
## COPYRIGHT
## SEE ALSO
Other CLI options
--pipe # write to stdout
--server, -S # serve in http://localhost:1207
--html, -5 # default
--fragment, -f # html without header/title/footer
--style=toc,80c # toc (table of contents)
# 80c (use 80c instead of 100c)
# print (include print stylesheet)
# dark
--manual="MY MANUAL" # shown on top-center
--organization="RONN 0.7.0" # shown on bottom-left
--date="YYYY-MM-DD" # shown on bottom-center
Sections
See Man page sections (december.com).
Section | Description |
---|---|
1 |
General commands |
2 |
System calls |
3 |
C standard lib |
4 |
Special files (/dev) and drivers |
5 |
File formats |
6 |
Games |
7 |
Misc |
8 |
System administration commands and procedures |
Using ronn with npm
Place manual files in man/xxx.1.md
, then in package.json:
"scripts": {
"prepublish": "npm run build-man",
"build-man": "if which ronn; then ronn man/*.md --html --roff --style=toc,80c --organization=\"@rstacruz\"; fi"
},
"directories": {
"man": "man"
}
JavaScript version
See marked-man.
npm install -g marked-man
marked-man foo.1.md > foo.1
Differences
- No definition lists
- Can’t use
<br>
Mantastic
mantastic is a hosted service.
curl -F page=@mymanpage.md http://mantastic.herokuapp.com