20 个版本 (8 个重大更新)

0.9.1 2024 年 4 月 18 日
0.8.5 2024 年 2 月 27 日
0.7.0 2023 年 9 月 27 日
0.4.2 2023 年 7 月 23 日

#248解析实现

Download history 142/week @ 2024-04-17 4/week @ 2024-04-24 2/week @ 2024-05-01 3/week @ 2024-05-08 1/week @ 2024-05-22 2/week @ 2024-05-29 6/week @ 2024-06-05 2/week @ 2024-07-17 83/week @ 2024-07-24

85 每月下载量

MIT 许可协议

420KB
6.5K SLoC

Rust 5.5K SLoC // 0.0% comments JavaScript 746 SLoC // 0.0% comments Python 84 SLoC // 0.0% comments

包含 (WOFF 字体, 38KB) ui/assets/fonts/Typey_Italic.woff2, (WOFF 字体, 34KB) ui/assets/fonts/Typey.woff2

cooklang-chef

用于管理扩展的 cooklang 菜谱的 CLI 工具。

解析器已移动到 cooklang/cooklang-rs

什么是 cooklang

Cooklang 是一种用于烹饪菜谱的标记语言。更详细的解释可以在 cooklang.org 找到。

一个 cooklang 菜谱示例

In a large #bowl mix @flour{450%g}, @yeast{2%tsp}, @salt{2%tsp} and
@warm water{375%ml}.

Cover the dough and leave on counter for ~{2-3%hour}.

Sprinkle work surface with @&flour{10%g} and shape the dough. Sprinkle the top
with some more @&flour{5%g}.

Bake with a preheated #oven at 230ºC for ~{30%min}.

什么是 cooklang-chef

chef 是一个 CLI 工具,用于管理、读取和转换 cooklang 菜谱。

我希望获得一些 cooklang 没有的功能,因此我对 cooklang 的语法和语义进行了一些扩展。

所有常规 cooklang 文件都解析为相同的菜谱,扩展是原始 cooklang 格式的超集。此外,可以 关闭扩展,这样解析器就可以用于常规 cooklang,如果你不喜欢扩展。除了多行步骤之外的所有扩展默认启用[^1]。

[^1]: 这是为了最大限度地与其他 cooklang 解析器兼容。

你可以在 解析器仓库 中看到所有扩展的详细说明。

完整用户文档 在此处

你可以使用以下命令安装 chef

cargo install cooklang-chef

你还可以从 github 发布中获得预构建的二进制文件。

安装后,运行

chef config --setup

主要功能

  • Web UI。此 CLI 附带嵌入式 Web UI。

    • 缩放和转换数量。
    • 菜谱的热重载。只需编辑 .cook 文件并保存。
    • 在代码编辑器中打开 .cook 文件。

  • 成分引用。现在您可以引用之前使用过的成分。我认为这是对原始cooklang最重要的扩展。您可以在这份文档中了解如何使用引用。

  • 良好的错误报告。错误报告是首要任务。

    这个小小的食谱包含错误

    >> servings: 3|6|8
    
    Add @water{1%kg}, mix, and ~{5 min} later add more @&water{1|2%L}.
    

  • 单位。没有单位的成分数量毫无意义。这就是为什么我们需要解析和检查单位。随着单位的出现

    • 单位转换。您可以用您偏好的单位系统阅读您的食谱。
    • 可配置的单位。您可以添加、删除和重命名单位。

存储箱

依赖项

~17–31MB
~547K SLoC