Skip to main content

Module man

Module man 

Source
Expand description

Per-subcommand documentation extras (man pages + mdbook).

The clap derive in crate::args is the source of truth for the NAME, SYNOPSIS, and OPTIONS surface; xtask renders that automatically into both groff (man pages) and markdown (mdbook). This module owns everything richer: DESCRIPTION prose, EXAMPLES, NOTES, FILES, SEE ALSO.

Bodies are authored in markdown. xtask passes them through verbatim for the markdown output and converts them to groff for the man pages, so a single source feeds both formats. The supported markdown vocabulary is intentionally small: paragraphs, bold and italic, code spans and fenced code blocks, bulleted and numbered lists. Stick to that and the groff conversion stays predictable.

Each subcommand exposes its extras here as a ManContent entry in extras_for. Bodies live under cli/man/<sub>/*.md and are pulled in via include_str!, keeping prose out of man.rs.

Onboarding a new section is two-step:

  1. Drop one or more .md files into cli/man/<subcommand>/.
  2. Add a match arm in extras_for referencing them.

Subcommands without an entry get the auto-generated page with no extras: still useful, just shorter.

Structs§

ManContent
Hand-authored extras for a single command’s documentation.

Constants§

REPORTING_BUGS
Markdown body for the REPORTING BUGS section.

Functions§

extras_for
Look up the doc extras for subcommand.