meals/README.md

119 lines
2.5 KiB
Markdown

# MEALS
This is my own personal recipe database and meal planner
STATUS: janky, proof of concept, unsafe, used in production
## ABOUT
recipes.rec contains two types: meals and recipes
a meal may contain many recipe components.
```
%rec: meal
%doc: a meal can consist of several recipes
%key: name
%type: recipe rec recipe
%type: name line
%mandatory: name recipe
%allowed: name recipe
```
Example:
```
name: Lemon Couscous w Salmon and roast broccoli
recipe: lemon couscous
recipe: frozen salmon patties
recipe: roast brocolli
```
and a recipe comprises several ingredients and steps.
```
%rec: recipe
%doc: a recipe for one thing
%key: name
%type: name,ingredient,step line
%mandatory: name ingredient step
%allowed: name ingredient step
```
Example:
```
name: lemon couscous
ingredient: couscous
ingredient: veggie stock
ingredient: lemon juice
ingredient: garlic
step: cook the couscous in the stock
step: drain
step: add lemon and garlic
```
menu.rec
contains meals for breakfast, lunch, and dinner for each day.
```
%rec: menu
%doc: a menu of meals
%type: breakfast rec meal
%type: lunch rec meal
%type: dinner rec meal
%type: day line
%type: date date
%allowed: day date breakfast lunch dinner
%mandatory: day date breakfast lunch dinner
```
Example:
```
day: Wednesday
date: 2024-02-07
breakfast: eggs n peanutbutter
lunch: chipotle bowl
dinner: Lemon Couscous w Salmon and roast broccoli
```
Scrips:
- the justfile contains scrips for creating a `.rem` file for remind(1).
(from there you can use the `rem2ics` utility to create a calendar file,
or `rem2ps` to create a pdf.)
- `/bin/pdf.sh`
will create a simple pdf menu via groff and tbl.
- `/bin/indredients.sh`
will print a list of ingredients based on the week's menu
so you can plan your shoping.
## YOU WILL NEED
- recutils
- groff
## GETTING STARTED
- add recipes and meals to db/recipes.rec
- plan your weekly menu in db/menu.rec
- `just menu` to create `.rem` and `.pdf` menus for the week
- `just shopping` to print a shopping list
## TODO
This might eventually become part of the backend for supervegan.neocities.org
- [x] remove zx dep (i thought it would make dates easier in the beginning)
- [x] parameterize the date for which the week should be calculated.
- [x] quantity for recipe ingredient?
- [x] yield for recipe?
- [ ] link recipes? e.g., Egg Replacement in Black Bean Patties
- [ ] total quantities per ingredient in ingredient list
- [ ] review/confirm shopping list
- [ ] add 'snack' meal? e.g. elevenses, tea