7 releases (3 stable)
Uses new Rust 2024
| 1.1.1 | Mar 28, 2026 |
|---|---|
| 1.1.0 | Mar 12, 2026 |
| 1.0.0 | Feb 11, 2026 |
| 0.2.2 | Jul 25, 2024 |
| 0.1.0 | May 28, 2018 |
#43 in Text processing
797,970 downloads per month
Used in 607 crates
(23 directly)
26KB
263 lines
roff-rs
Roff generation library.
Examples
use roff::{bold, italic, roman, Roff};
fn main() {
let page = Roff::new()
.control("TH", ["CORRUPT", "1"])
.control("SH", ["NAME"])
.text([roman("corrupt - modify files by randomly changing bits")])
.control("SH", ["SYNOPSIS"])
.text([bold("corrupt"), roman(" ["), bold("-n"), roman(" "), italic("BITS"), roman("] ["),
bold("--bits"), roman(" "), italic("BITS"), roman("] "), italic("FILE"), roman("..."),
])
.control("SH", ["DESCRIPTION"])
.text([bold("corrupt"), roman(" modifies files by toggling a randomly chosen bit.")])
.control("SH", ["OPTIONS"])
.control("TP", [])
.text([bold("-n"), roman(", "), bold("--bits"), roman("="), italic("BITS")])
.text([roman("Set the number of bits to modify. Default is one bit.")])
.render();
print!("{}", page);
}
Which outputs:
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.TH CORRUPT 1
.SH NAME
corrupt \- modify files by randomly changing bits
.SH SYNOPSIS
\fBcorrupt\fR [\fB\-n\fR \fIBITS\fR] [\fB\-\-bits\fR \fIBITS\fR] \fIFILE\fR...
.SH DESCRIPTION
\fBcorrupt\fR modifies files by toggling a randomly chosen bit.
.SH OPTIONS
.TP
\fB\-n\fR, \fB\-\-bits\fR=\fIBITS\fR
Set the number of bits to modify. Default is one bit.
Which will be shown by the man(1) command as:
CORRUPT(1) General Commands Manual CORRUPT(1)
NAME
corrupt - modify files by randomly changing bits
SYNOPSIS
corrupt [-n BITS] [--bits BITS] FILE...
DESCRIPTION
corrupt modifies files by toggling a randomly chosen bit.
OPTIONS
-n, --bits=BITS
Set the number of bits to modify. Default is one bit.
CORRUPT(1)
License
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or https://opensource.org/license/mit)
at your option.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual-licensed as above, without any additional terms or conditions.