本文档规定了HowToCook仓库中食谱文件的必需格式和风格指南。这些标准确保食谱精确、一致且易于程序员理解。格式要求在拉取请求过程中由代码审查系统自动验证。
有关仓库中食谱组织方式的信息,请参阅 食谱组织。
所有食谱文件都必须遵循具有特定章节的一致结构。这种标准化允许自动处理和质量控制。
食谱文件必须放置在 dishes/ 文件夹内的相应类别目录中。文件名不得包含空格。
来源: .github/readme-generate.js12-63 .github/manual_lint.js14-17
每个食谱必须包含严格按照特定顺序排列的四个主要章节。此结构由代码审查系统严格执行。
来源: .github/manual_lint.js61-86
食谱的主标题必须遵循格式: # [文件名]的做法。例如,如果文件名是 红烧肉.md,则标题必须是 # 红烧肉的做法。
来源: .github/manual_lint.js61-64
精确的计量是本食谱集的关键要求。代码审查系统严格执行计量精度,以确保食谱能够准确遵循。
所有配料的用量都必须以精确的计量单位指定。
| ✅ 可接受 | ❌ 不可接受 |
|---|---|
| 100g 糖 | 适量糖 |
| 250ml 水 | 一杯水 |
| 5g 盐 | 少许盐 |
| 鸡腿 (约200g) | 一个鸡腿左右 |
| 15分钟 | 15min |
来源: .github/manual_lint.js23-57
食谱必须按单份或每份的基准编写,而不是按特定人数编写。如果食谱旨在制作多份,则必须说明:
来源: .github/manual_lint.js37-48
本仓库强制执行特定的语言和风格指南,以保持所有食谱的一致性和清晰性。
食谱中不允许使用以下语言元素:
来源: .github/manual_lint.js58-60 .github/workflows/ci.yml
每个食谱都必须以以下声明结束:
如果您遵循本指南的制作流程而发现有问题或可以改进的流程,请提出 Issue 或 Pull request 。
这鼓励社区贡献和改进食谱。
来源: .github/manual_lint.js82-86
本仓库实施自动化验证,以确保所有食谱都符合格式标准。
.github/manual_lint.js 脚本会对所有食谱文件执行验证检查。此脚本在提交拉取请求时的持续集成过程中运行。
来源: .github/manual_lint.js .github/readme-generate.js65-123 starsystem/1Star.md starsystem/5Star.md
每个食谱都包含一个1到5星的难度评级,用文本中的“★”字符表示。 .github/readme-generate.js 脚本会计算这些星级并将食谱按难度分类。
| 星级评定 | 难度级别 | 示例食谱 |
|---|---|---|
| 1 ★ | 非常简单 | 吐司果酱, 微波炉荷包蛋 |
| 2 ★★ | 容易 | 白灼虾, 蒜蓉虾 |
| 3 ★★★ | 中等 | 口水鸡, 麻婆豆腐 |
| 4 ★★★★ | 困难 | 糖醋排骨, 红烧肉 |
| 5 ★★★★★ | 非常困难 | 水煮肉片, 猪皮冻 |
来源: .github/readme-generate.js65-73 starsystem/1Star.md starsystem/5Star.md
在创建新食谱时,请使用模板食谱文件作为起点。这将确保您的食谱遵循所有必需的标准。
基本模板结构包括:
# 菜名的做法以下是各章节应如何格式化的示例:
# 菜名的做法
## 必备原料和工具
- 原料
- 主料 100g
- 调料 20g
- 工具
- 炒锅
- 铲子
## 计算
每份制作量:1份。
总量:1份。
每次制作前需要确定计划做几份。一份正好够1人食用。
## 操作
1. 准备工作(5分钟)
2. 烹饪步骤(10分钟)
3. 成品摆盘
## 附加内容
如果您遵循本指南的制作流程而发现有问题或可以改进的流程,请提出 Issue 或 Pull request 。
来源: README.md29-32
食谱格式标准已与仓库的其他系统集成,以确保一致性和质量。
来源: .github/readme-generate.js .github/manual_lint.js
提交食谱时,请注意这些常见的验证错误:
未通过验证的食谱将在合并到仓库前被退回修改。
来源: .github/manual_lint.js88-95
食谱格式标准的目的是使食谱清晰、精确并易于程序员访问。通过遵循这些标准,贡献者可以确保他们的食谱易于遵循,并以一致的结果进行复现。