3 个版本 (重大更新)

0.3.0 2023年3月14日
0.2.0 2022年12月2日
0.1.0 2022年11月10日

模板引擎 中排名 347

MIT 许可证

23KB
494

Sous

使用 Rust 处理烹饪食谱

注意: Sous 目前处于早期开发阶段,API 在此阶段应被视为不稳定。

Sous 提供了表示烹饪食谱的 Rust 结构体,以及用于在格式之间加载和转换它们的 API。此包还包括一个参考命令行工具,用于展示库的功能。

安装

Sous 可在 crates.io 上找到

$ cargo add sous

命令行使用

Sous CLI 可以接受 YAML 格式的食谱,并将它们输出为 Markdown

$ sous test.yml

如果将目录传递给 Sous 作为输入,它将在食谱手册模式下运行,将转换其中的任何 YAML 文件。如果没有设置 --output 目录,Sous 将在当前工作目录的 render 目录中输出。


lib.rs:

处理烹饪食谱的库。

此 crate 提供表示烹饪食谱各个组成部分的结构体,以及用于在各个格式之间转换它们的实用工具。

fn main() {
    let mut recipe = Recipe::new();

    recipe.metadata.name = "Test Recipe".to_string();
    recipe.metadata.author = "Cook Cookerson".to_string();
    recipe.metadata.servings = 2;
    recipe.metadata.cook_minutes = 10;

    recipe.ingredients.push(Ingredient {
        name: "Ingredient".to_string(),
        amount: Some(1.0),
        ..Default::default()
    });
    recipe.steps.push("First step".to_string());
    recipe.steps.push("Second step".to_string());

    let render = MarkdownRenderer::new();
    let md = render.render(&recipe);
}

依赖项

~9–20MB
~263K SLoC