13 个版本

0.7.7 2024年6月5日
0.7.6 2024年6月5日
0.7.5 2022年5月21日
0.7.2 2022年3月31日
0.4.3 2022年3月16日

#455 in 命令行工具

每月25 次下载

自定义许可证

315KB
3K SLoC

Rust 2.5K SLoC // 0.0% comments JavaScript 358 SLoC // 0.0% comments

包含 (WOFF 字体, 27KB) latin.woff2, (WOFF 字体, 21KB) cyrillic-ext.woff2, (WOFF 字体, 21KB) latin-ext.woff2, (WOFF 字体, 21KB) cyrillic-ext.woff2, (WOFF 字体, 21KB) latin-ext.woff2, (WOFF 字体, 27KB) latin.woff2 和更多.

甜菜根

Latest Version Documentation

甜菜根是一个静态食谱网站生成器。

通过命令行在平面文件中创建、编辑和组织您的烹饪食谱。将它们发布到 Web 服务器、生成 markdown 文件或创建您自己的模板以生成所需的任何格式。

查看 演示页面

目录

功能

  • 简单的平面文件 食谱格式
  • 标记
  • 动态调整份量(HTML 模板)
  • 支持多语言模板

安装

要安装此应用程序,您需要一个 Rust 的安装并运行

cargo install sweet-potator

配置

显示配置目录位置
sweet-potator info

在 *nix 系统上应该是
~/.config/sweet-potator

该文件夹将在首次使用时创建。它包括以下数据

  • config.toml: 主要配置文件
  • default.recipe: 用于新食谱的默认食谱文件
  • recipes: 食谱目录(包括所有食谱文件和图像)
  • templates: 模板目录(包括内容生成模板)

您最喜欢的编辑器用于编辑食谱文件可能是您想要配置的第一件事。

CLI 使用

创建新的食谱

sweet-potator new

构建食谱 HTML 页面

sweet-potator build <output-directory>

有关更多信息,请查看 CLI 帮助

# Show help
sweet-potator help

# Show help of a subcommand (`new`, `list`, etc.)
sweet-potator help <subcommand> 

注意: sweet-potator 遵循环境变量 FORCE_COLORNO_COLOR

食谱格式

一个食谱文件看起来像这样

title

Yield: 1
Time: 30m
Author: name
Tags: tag1, tag2

Ingredients
  - name, kind: 1 unit (note)

Instructions
  - instruction

Notes
  - note

规范(简化版)

  1. 第一行:食谱标题

  2. 第二部分:元数据

    • 产量:例如 41 个蛋糕
    • 时间:例如 30m1h1h 30m
    • 作者 | 书籍 | 链接(食谱来源)
      • 作者:食谱作者的姓名
      • 书籍:一本书的名称
      • 链接:例如 链接名称 > https://example.com
    • 标签:用 ", "(逗号加空格)分隔的标签列表
  3. 第三部分:成分清单。 种类单位备注 是可选的。数量可以是数字(例如 20.5)或分数(例如 1/4

  4. 第四部分:纯文本食谱指令列表

  5. 第四部分:纯文本附加备注列表

未包含搜索功能,但仍有一些方法可以搜索您的食谱。

网络浏览器(HTML)

通过浏览器搜索选项搜索生成的HTML页面非常简单。

命令行界面(CLI)

通过CLI搜索您的食谱稍微有些复杂,但我发现这非常令人满意。我使用skim,因为我喜欢Rust工具,但至少还有fzf,它有一些非常类似的功能。这些工具在许多方面都非常有帮助!

使用skim时,您可以使用以下命令搜索您的食谱

# Search and edit:
FORCE_COLOR=1 sweet-potator list | sk --ansi | xargs -I{} sweet-potator edit {}

# Search and delete:
FORCE_COLOR=1 sweet-potator list | sk --ansi | xargs -I{} sweet-potator delete {}

您可能想为这些命令创建别名(例如 edit-recipedelete-recipe)。

使用skim的CLI搜索示例

asciicast

多语言支持

包含的模板(htmlmarkdown)支持多语言。包含的语言是英语(en)和德语(de)。您可以在配置文件的模板部分配置要使用哪种语言。

创建新的翻译

在包含的模板(见配置)中有一个名为lang的文件夹。它包括TOML格式的语言文件。只需复制一个并将其翻译成您的语言即可。如果您这样做,请不要忘记分享。

库使用(开发者)

这主要是为了未来的我,但如果其他人感兴趣,可以查看最小化的markdown示例

cargo run --example markdown

依赖关系

~10–19MB
~262K SLoC