2022-02-28 17:51:33 +00:00
|
|
|
|
# 如何贡献
|
2022-02-19 10:58:16 +00:00
|
|
|
|
|
2022-02-28 17:51:33 +00:00
|
|
|
|
## 简介
|
2022-02-20 08:56:42 +00:00
|
|
|
|
|
|
|
|
|
直接修改/添加做菜指南并提交 Pull request 即可。
|
2022-02-19 16:28:37 +00:00
|
|
|
|
|
|
|
|
|
在写新菜谱时,请复制并修改已有的模板: [示例菜](./dishes/template/示例菜/示例菜.md)。
|
|
|
|
|
|
2022-03-02 19:25:58 +00:00
|
|
|
|
我们建议在贡献之前,阅读仓库的[行为守则](./CODE_OF_CONDUCT.md)。
|
2022-02-20 08:56:42 +00:00
|
|
|
|
|
|
|
|
|
## 内容规范
|
2022-02-19 10:58:16 +00:00
|
|
|
|
|
2022-03-03 16:36:57 +00:00
|
|
|
|
菜谱提交者**无需**阅读此内容规范。以下内容已经以简明易懂的方式包含在示例模板中。项目的维护者会在你的 PR 中提出建议, 并协助修改。
|
2022-02-20 09:07:54 +00:00
|
|
|
|
|
2022-02-20 09:25:58 +00:00
|
|
|
|
本项目的 Motivation 要求菜谱满足以下规范,不符合规范的菜谱将不会被合并到代码库中。项目的维护者维护此文档, 作为正式的标准与共识。
|
2022-02-19 10:58:16 +00:00
|
|
|
|
|
2022-03-03 16:36:07 +00:00
|
|
|
|
- 每一道菜谱至少应包含`原材料与工具`, `计算`, `操作`三部分内容。
|
2022-02-19 10:58:16 +00:00
|
|
|
|
|
2022-02-22 08:07:33 +00:00
|
|
|
|
`原材料与工具`应列出本菜品需要的除`假想已准备好的物品`外的所有原材料与厨具。
|
|
|
|
|
`计算`应定量列出本菜品所需的原材料的量。(无论与人数是否相关)
|
2022-02-19 10:58:16 +00:00
|
|
|
|
`操作`应说明菜品的制作步骤。
|
|
|
|
|
|
2022-03-03 16:36:07 +00:00
|
|
|
|
- 菜品的制作步骤应当明确(无歧义,non-ambiguous),并尽可能准确(accurate)。有歧义(ambiguous)的描述是不可接受的,而不准确(inaccurate)或不精确(imprecise)的描述是可以接受的。
|
2022-02-19 10:58:16 +00:00
|
|
|
|
|
|
|
|
|
> 不准确的菜谱会导致菜品口味有少许偏差,不明确的菜谱会导致做菜人的心态有明显不安。
|
|
|
|
|
|
|
|
|
|
举例:有歧义的描述
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
# 解释:此处对于盐量的描述是有歧义的。
|
|
|
|
|
# 因为对于某个数量的盐,用户无法得出确定的客观结论:此数量是否属于"少量"。
|
|
|
|
|
加入少量盐
|
|
|
|
|
|
2022-02-22 08:07:33 +00:00
|
|
|
|
加入几滴蚝油
|
2022-02-19 10:58:16 +00:00
|
|
|
|
将锅加热至八分热
|
|
|
|
|
撒上少许葱花
|
|
|
|
|
煮至鸡肉断生
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
举例:无歧义的描述
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
# 解释:此处对于锅的温度的描述是不准确的(可能是200摄氏度左右的任何温度),但这个描述是无歧义的。
|
|
|
|
|
# 因为对于锅的某个状态,用户可以进行水滴测试,并得出确定的客观结论:此状态要么符合要求,要么不符合要求。
|
|
|
|
|
加热锅,直至"滴入几滴水时,水珠能够在锅上迅速滚动而不吸附"
|
|
|
|
|
加热锅,直至观察到莱顿弗罗斯特现象
|
|
|
|
|
|
|
|
|
|
加入5ml酱油
|
|
|
|
|
等到水沸腾后
|
|
|
|
|
继续煮,直到汤汁剩下二分之一
|
|
|
|
|
煎至表面呈金黄色
|
|
|
|
|
继续翻炒两分钟
|
|
|
|
|
|
|
|
|
|
# 食材所可能粘附的蛋液的量是确定的
|
|
|
|
|
裹上蛋液
|
|
|
|
|
|
|
|
|
|
# 在'计算'中已提及将用到葱花的量
|
|
|
|
|
撒上葱花
|
|
|
|
|
```
|
|
|
|
|
|
2022-02-20 08:39:09 +00:00
|
|
|
|
考虑到现实因素,对于某些在家庭厨房中确实难以明确描述的因素,可以作为特例排除。例如
|
2022-02-19 10:58:16 +00:00
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
# 在描述燃气灶火焰强度时
|
|
|
|
|
文火, 小火, 中火, 大火 等
|
|
|
|
|
# 在描述颜色时
|
|
|
|
|
金黄色 等
|
2022-02-20 08:39:09 +00:00
|
|
|
|
# 在描述硬度时
|
|
|
|
|
变软 变硬
|
2022-02-19 10:58:16 +00:00
|
|
|
|
```
|
|
|
|
|
|
2022-03-03 16:36:07 +00:00
|
|
|
|
- 菜品的`制作步骤`应当完整(complete)。这意味着, 在执行完所有操作步骤后, 菜品已经被完成。
|
2022-02-20 08:56:42 +00:00
|
|
|
|
|
2022-03-03 16:36:07 +00:00
|
|
|
|
- 菜品的`原材料与工具`应当完整(complete)。这意味着, 在执行操作步骤时, 没有用到`原材料与工具`中未提到的物品。
|
2022-02-20 08:56:42 +00:00
|
|
|
|
|
2022-02-22 05:30:21 +00:00
|
|
|
|
## 审核员须知
|
|
|
|
|
|
|
|
|
|
下面的内容仅供参与菜谱审批的人员参考。
|
|
|
|
|
|
|
|
|
|
审批时,最重要的是避免歧义:保证按照他的菜谱尽可能没有灵活发挥空间。所有歧义都要指出。就是,无论是个大厨还是个萌新,只要按照菜谱,做出来的效果应该完全一样。
|
|
|
|
|
|
|
|
|
|
- 绝对不允许菜谱中出现灵活发挥的空间。不允许让厨师自己斟酌加入的量。不允许出现 `适量` `少量`
|
2022-02-23 07:13:22 +00:00
|
|
|
|
- 绝对不允许出现允许厨师自己决策的步骤。例如:`可以根据自己的喜好调整煮的时间`这里语句
|
2022-02-22 05:30:21 +00:00
|
|
|
|
- 针对单个大小体积重量差距极大的物体,不允许用个来约束,要额外标注重量 g
|
|
|
|
|
- 勺 不是一个可靠的单位。建议换成毫升 ml
|
2022-02-23 07:12:24 +00:00
|
|
|
|
- 确保文件路径合理,文件引用正确,没有签入无意义的文件
|
2022-02-22 05:30:21 +00:00
|
|
|
|
- 对蒜的描述,指的是三头还是三瓣可能产生歧义
|
|
|
|
|
- 允许出现 `大火` `中火` `小火`
|
|
|
|
|
- 任何标点符号,例如顿号,都需要额外确认是否是`可以替代的或`,还是`必须同时添加的和`
|
|
|
|
|
- 如果一个原材料仅仅计算了一次,而引用了多次,必须额外确认每次引用时指的量的多少
|
2022-02-22 06:02:56 +00:00
|
|
|
|
- 确保他在合并前更新了 Readme 对他的菜谱的引用,如果他是在新加菜谱的话
|
2022-02-22 05:30:21 +00:00
|
|
|
|
- 确保他没有破坏模板的一二级标题格式
|
|
|
|
|
- 确保他没有删除模板中必需的内容
|
|
|
|
|
- 确保他删除干净了模板里的注释
|
2022-02-22 08:37:48 +00:00
|
|
|
|
- 确保分类正确,不和已有的菜名重复
|
2022-02-23 12:04:10 +00:00
|
|
|
|
- 确保签入的内容都符合 CC0 协议。尤其注意图片是否有水印!
|
|
|
|
|
- 确保他没有签入任何个人身份信息、EUII、Email 地址、GitHub 用户名
|
2022-02-28 16:45:05 +00:00
|
|
|
|
|
2022-02-28 16:59:17 +00:00
|
|
|
|
## 文档网站构建
|
2022-02-28 16:45:05 +00:00
|
|
|
|
|
2022-02-28 17:51:33 +00:00
|
|
|
|
除了直接部署 `README.md` 的 HTML,还可以利用`mkdocs-material`来渲染 markdown 文件。这会得到更加漂亮的页面。
|
2022-02-28 16:45:05 +00:00
|
|
|
|
|
|
|
|
|
需求: Python > 3.6
|
|
|
|
|
|
2022-02-28 16:59:17 +00:00
|
|
|
|
### 调试
|
|
|
|
|
|
|
|
|
|
```bash
|
2022-02-28 17:08:09 +00:00
|
|
|
|
pip install -r requirements.txt
|
|
|
|
|
mkdocs serve
|
2022-02-28 16:45:05 +00:00
|
|
|
|
```
|
|
|
|
|
|
2022-02-28 17:10:17 +00:00
|
|
|
|
可以在本地 <http://localhost:8000/> 打开。
|
2022-02-28 16:45:05 +00:00
|
|
|
|
|
2022-02-28 16:59:17 +00:00
|
|
|
|
### 编译
|
|
|
|
|
|
|
|
|
|
```bash
|
2022-03-04 17:17:47 +00:00
|
|
|
|
mkdocs build --strict
|
2022-02-28 16:59:17 +00:00
|
|
|
|
```
|
2022-02-28 16:45:05 +00:00
|
|
|
|
|
2022-02-28 17:01:40 +00:00
|
|
|
|
生成静态 HTML 网页, 存在于在`site/`文件夹下。Hosting 的时候指向到`site/index.html`即可。
|
2022-02-28 17:51:33 +00:00
|
|
|
|
|
2022-03-03 16:36:07 +00:00
|
|
|
|
> **_Note:_**
|
2022-02-28 17:51:33 +00:00
|
|
|
|
> 由于`mkdocs`不原生支持`*.md`存在于根目录下,只能添加了`mkdocs-same-dir`这个插件来做workaround。
|
2022-02-28 17:52:11 +00:00
|
|
|
|
> 通常来说mkdoc会自动检查文件夹里的各种文件 (eg *.jpg)然后生成相对应的链接。由于这个
|
2022-02-28 17:51:33 +00:00
|
|
|
|
> workaround,根目录下现在只能检测到`.md`文件。这个限制并不影响剩下的文件夹(比方说`tips`和`dishes`)。
|
2022-03-04 17:17:47 +00:00
|
|
|
|
|
|
|
|
|
## 手工 lint
|
|
|
|
|
|
|
|
|
|
如果需要检查文档中的不规范,可以手工运行 lint 操作。
|
|
|
|
|
|
|
|
|
|
需求:Ruby
|
|
|
|
|
|
|
|
|
|
### 安装 markdownlint
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
sudo gem install mdl # Linux
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
```powershell
|
|
|
|
|
gem install mdl # Windows, with administrators permission.
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### 运行 lint
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
mdl . -r ~MD036,~MD024,~MD004,~MD029
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## 生成 Readme 和 mkdocs
|
|
|
|
|
|
|
|
|
|
一般的,每次 master 分支发生变更后,会自动生成 Readme 和 mkdocs 文件。但是,在某些情况下可能需要开发者手工生成这些文件。
|
|
|
|
|
|
|
|
|
|
需求:node,npm
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
node ./.github/readme-generate.js
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## 自动 markdown 修复
|
|
|
|
|
|
|
|
|
|
框架支持一些自动 markdown 错误修正功能。一般的,每次 master 分支发生变更后,会自动修正。但是,在某些情况下可能需要开发者手工修正。
|
|
|
|
|
|
|
|
|
|
需求:node,npm
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
npm install
|
|
|
|
|
./node_modules/.bin/textlint . --fix
|
|
|
|
|
```
|