Рецепты в машинном виде
JSON-файлы рецептов: нужны для пересчёта пропорций и для проверок CI. Сами
рецепты с пояснениями и диагностикой — в ../docs/, формат полей —
в ../tools/README.md.
recipes/
├── chocolate/ dark-70.json milk.json white.json ruby.json
├── twix/ wafer-short-dough.json wafer-meringue.json
│ wafer-coconut.json caramel.json caramel-salted.json
└── cookies/ milk-cookies.json honey.json potato-crisp.json
snacks/ potato-chips.jsonИспользование
python tools/recalc.py --list recipes/ # список с выходом
python tools/recalc.py recipes/chocolate/dark-70.json # один рецепт
python tools/recalc.py recipes/chocolate/dark-70.json --scale 2 # пересчитать
python tools/recalc.py recipes/twix/caramel.json --yield 500 # на нужный выход
python tools/recalc.py recipes/twix/wafer-short-dough.json --table md --share
python tools/recalc.py --validate recipes/ # проверить всеИмена файлов
<изделие>[-<вариант>].json, латиницей, без транслита:
chocolate/dark-70.json, twix/wafer-meringue.json, twix/caramel-salted.json,
cookies/milk-cookies.json.
| Неправильно | Правильно |
|---|---|
docs/shokolad/ | docs/chocolate/ |
docs/baza/ | docs/base/ |
recipes/tvix/ | recipes/twix/ |
chocolate/molochny.json | chocolate/milk.json |
twix/01-korzh.md | twix/01-wafer.md |
Транслит не используется нигде: ни в папках, ни в именах файлов, ни в именах
веток. Причина практическая — кириллица в путях ломает вывод в консоли, а пути
к рецептам фигурируют в CI.
Содержимое файлов — русский. Бренды и термины без русского аналога пишутся как
в оригинале: twix, melanger, ruby, meringue. Термины, у которых русский
аналог есть, — по-русски: конширование, темперирование, карамель.
Добавить рецепт
- Создай JSON в нужной папке.
- Проверь:
python tools/recalc.py --validate recipes/ - Свяжи его из markdown-рецепта в
../docs/.
allow_loss
Карамель и сиропы увариваются: сырья 422 г, на выходе ~300 г. Это физика, а
не ошибка, и для таких рецептов ставится флаг:
"yield": 300,
"allow_loss": trueБез него --validate ругается на расхождение суммы с выходом.