# Recipes for Engineers Store recipes in a nerdy JSON tree format and use that to generate [Cooking for Engineers](https://www.cookingforengineers.com)-style tabular recipe cards in HTML. Right now this project is just a set of scripts. ## Requirements These scripts require the `anytree` Python library. ## `create_recipe_json.py` This is a fairly naive script that walks you through the process of turning a recipe into a tree structure. It has you list out ingredients, and then add tasks to perform on those ingredients. You end up with a tree that is something like this: ``` shake and grill for 20 more mins +-- grill for 20 mins +-- wrap in foil +-- season to taste |-- salt and pepper |-- dice | |-- rosemary | |-- thyme | +-- basil +-- lightly coat |-- olive oil +-- chop into quarters +-- red potatoes ``` Leaves are raw ingredients, other nodes are tasks. The tree is output to a JSON file. ## `recipe_json_to_html.py` This script takes that JSON file and does a recursive depth-first search to render a webpage with an HTML-table-based recipe card. ## Known Issues - A single node cannot have multiple tasks done on it (nerdy reason: because a node cannot have two parents). So this cannot represent, for example, mixing cinnamon and sugar, then splitting that mixture up and doing separate subsequent operations with the two batches.