11 个版本 (6 个重大更新)

0.21.1 2023年6月9日
0.20.0 2022年11月7日
0.12.0 2022年7月31日
0.11.0 2021年12月15日
0.9.0 2021年7月22日

#156 in Rust 模式

Download history 1104/week @ 2024-03-13 771/week @ 2024-03-20 638/week @ 2024-03-27 995/week @ 2024-04-03 534/week @ 2024-04-10 840/week @ 2024-04-17 746/week @ 2024-04-24 1048/week @ 2024-05-01 781/week @ 2024-05-08 885/week @ 2024-05-15 991/week @ 2024-05-22 1353/week @ 2024-05-29 1122/week @ 2024-06-05 830/week @ 2024-06-12 918/week @ 2024-06-19 958/week @ 2024-06-26

每月下载量 4,072
14 个crate中使用 (直接使用 3 个)

MIT 许可证

220KB
5K SLoC

Doku — crates-badge docs-badge

Doku 是一个用于记录 Rust 数据结构的框架 — 它允许生成美观、易于理解的对配置类型、请求/响应等的描述。

告别过时的人工编写文档 — 使用 Doku,代码 即是文档!

示例

[dependencies]
doku = "0.21"
use doku::Document;
use serde::Deserialize;

#[derive(Deserialize, Document)]
struct Config {
    /// Database's engine
    db_engine: DbEngine,

    /// Database's host
    #[doku(example = "localhost")]
    db_host: String,

    /// Database's port
    #[doku(example = "5432")]
    db_port: usize,
}

#[derive(Deserialize, Document)]
enum DbEngine {
    #[serde(rename = "pgsql")]
    PostgreSQL,

    #[serde(rename = "mysql")]
    MySQL,
}

fn main() {
    println!("```json");
    println!("{}", doku::to_json::<Config>());
    println!("```");
    println!();
    println!("```toml");
    println!("{}", doku::to_toml::<Config>());
    println!("```");
}
{
  // Database's engine
  "db_engine": "pgsql" | "mysql",
  // Database's host
  "db_host": "localhost",
  // Database's port
  "db_port": 5432
}
# Database's engine
db_engine = "pgsql" | "mysql"

# Database's host
db_host = "localhost"

# Database's port
db_port = 5432

您可以在 ./doku/examples 中找到更多示例;有关文档,请访问 https://docs.rs/doku/

贡献

发现了错误,有想法吗?请在 GitHub 上告诉我们 — 我们也欢迎补丁!

如果您想尝试修改 Doku,入口点包括

./doku/tests 中也有集成测试。

许可证

MIT 许可证。

依赖项

~1.9–3MB
~68K SLoC