Crates.io | man |
lib.rs | man |
version | 0.3.0 |
source | src |
created_at | 2018-06-21 22:05:59.007829 |
updated_at | 2019-01-22 17:57:26.641957 |
description | Generate structured man pages |
homepage | |
repository | https://github.com/rust-clique/man |
max_upload_size | |
id | 71173 |
size | 56,109 |
Generate structured man pages using roff-rs.
use man::prelude::*;
fn main() {
let page = Manual::new("basic")
.about("A basic example")
.author(Author::new("Alice Person").email("alice@person.com"))
.author(Author::new("Bob Human").email("bob@human.com"))
.flag(
Flag::new()
.short("-d")
.long("--debug")
.help("Enable debug mode"),
)
.flag(
Flag::new()
.short("-v")
.long("--verbose")
.help("Enable verbose mode"),
)
.option(
Opt::new("output")
.short("-o")
.long("--output")
.help("The file path to write output to"),
)
.example(
Example::new()
.text("run basic in debug mode")
.command("basic -d")
.output("Debug Mode: basic will print errors to the console")
)
.custom(
Section::new("usage note")
.paragraph("This program will overwrite any file currently stored at the output path")
)
.render();
println!("{}", page);
}
Preview by running:
$ cargo run > /tmp/app.man; man /tmp/app.man
Which outputs:
BASIC(1) General Commands Manual BASIC(1)
NAME
basic - A basic example
SYNOPSIS
basic [FLAGS] [OPTIONS]
FLAGS
-d, --debug
Enable debug mode
-v, --verbose
Enable verbose mode
OPTIONS
-o, --output=output
The file path to write output to
USAGE NOTE
This file will overwrite any file currently stored at the output path.
EXIT STATUS
0 Successful program execution.
1 Unsuccessful program execution.
101 The program panicked.
EXAMPLES
run basic in debug mode
$ basic -d
Debug Mode: basic will print errors to the console
AUTHORS
Alice Person <alice@person.com>
Bob Human <bob@human.com>
If using cargo-edit, install with
$ cargo add man
Otherwise, install by adding to Cargo.toml file's dependency section.
MIT OR Apache-2.0