mdman - Converts markdown to a man page
mdman
[options] -t
type -o
outdir sources...
Converts a markdown file to a man page.
The source file is first processed as a handlebars template. Then, it is processed as markdown into the target format. This supports different output formats, such as troff or plain text.
Every man page should start with a level-1 header with the man name and section, such as # mdman(1)
.
The handlebars template has several special tags to assist with generating the man page:
Every block of command-line options must be wrapped between {{#options}}
and {{/options}}
tags. This tells the processor where the options start and end.
Each option must be expressed with a {{#option}}
block. The parameters to the block are a sequence of strings indicating the option. For example, {{#option "`-p` _spec_..." "`--package` _spec_..."}}
is an option that has two different forms. The text within the string is processed as markdown. It is recommended to use formatting similar to this example.
The content of the {{#option}}
block should contain a detailed description of the option.
Use the {{/option}}
tag to end the option block.
References to other man pages should use the {{man name section}}
expression. For example, {{man "mdman" 1}}
will generate a reference to the mdman(1)
man page. For non-troff output, the --man
option will tell mdman
how to create links to the man page. If there is no matching --man
option, then it links to a file named name.md
in the same directory.
Variables can be set with {{*set name="value"}}
. These variables can then be referenced with {{name}}
expressions.
Partial templates should be placed in a directory named includes
next to the source file. Templates can be included with an expression like {{> template-name}}
.
Other helpers include:
{{lower value}}
Converts the given value to lowercase.Convert the given documents to man pages:
mdman -t man -o doc doc/mdman.md