2025-09-13 03:11:49 +00:00
2025-09-11 05:19:49 +00:00
2025-09-13 03:11:49 +00:00

Recipes for Engineers

Store recipes in a nerdy JSON tree format and use that to generate Cooking for Engineers-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.
Description
Store recipes in JSON and generate "Cooking for Engineers"-style tabular layouts.
Readme 64 KiB
Languages
Python 100%