4 个版本 (破坏性更新)
0.4.0 | 2021年11月8日 |
---|---|
0.3.0 | 2021年8月23日 |
0.2.0 | 2021年8月21日 |
0.1.0 | 2021年8月19日 |
#6 在 #man
62 每月下载量
在 mdbook-man 中使用
51KB
1K SLoC
roffman
用于生成 roff 手册页的 crate。
用法
将以下内容添加到 Cargo.toml
[dependencies]
roffman = "0.4"
示例
use roffman::{Roff, RoffNode, RoffNode, Roffable, SectionNumber, SynopsisOpt};
fn main() {
let roff = Roff::new("roffman", SectionNumber::Miscellaneous)
.date("August 2021")
.section(
"BASIC USAGE",
[
RoffNode::paragraph([
"This is how you create a basic paragraph using roffman.",
]),
RoffNode::indented_paragraph(
[
"This line should be slightly indented to the ".roff(),
"right.".roff().bold(),
],
Some(4),
Some("optional-title")
),
RoffNode::synopsis(
"roffman-command",
[
"This is the description of this command. It will be displayed right next to".roff(), " it".roff().italic()
] ,
[
SynopsisOpt::new("--opt").description(["some simple opt"]),
SynopsisOpt::new("--opt-with-arg").argument("ARG").description(["opt with an argument"]),
SynopsisOpt::new("--bold")
]),
RoffNode::paragraph(["Example:".roff().bold()]),
RoffNode::example([
r#"
impl Roffable for u8 {
fn roff(&self) -> RoffText {
self.to_string().roff()
}
}"#,
]),
RoffNode::url("GitHub", "https://github.com/vv9k/roffman"),
RoffNode::text("\nvv9k"),
RoffNode::trademark_sign(),
],
);
let rendered = roff.to_string().unwrap();
println!("{}", rendered);
}
输出
.TH roffman 7 "August 2021"
.SH "BASIC USAGE"
.P
This is how you create a basic paragraph using roffman.
.IP optional\-title 4
This line should be slightly indented to the \fBright.\fR
.SY roffman\-command
This is the description of this command. It will be displayed right next to\fI it\fR
.OP \-\-opt
some simple opt
.OP \-\-opt\-with\-arg ARG
opt with an argument
.OP \-\-bold
.YS
.P
\fBExample:\fR
.EX
impl Roffable for u8 {
fn roff(&self) \-> RoffText {
self.to_string().roff()
}
}
.EE
.UR https://github.com/vv9k/roffman
GitHub
.UE
vv9k\*(Tm
将看起来像这样
roffman(7) Miscellaneous Information Manual roffman(7)
BASIC USAGE
This is how you create a basic paragraph using roffman.
This line should be slightly indented to the right.
roffman-command This is the description of this command. It will be displayed right next to it
[--opt] some simple opt
[--opt-with-arg ARG] opt with an argument
[--bold]
Example:
impl Roffable for u8 {
fn roff(&self) -> RoffText {
self.to_string().roff()
}
}
GitHub ⟨https://github.com/vv9k/roffman⟩
vv9k™
August 2021 roffman(7)