Hello everyone,

Since we are on this subject, are you aware of any package that would make an 'automatic' shopping list based on recipes? My idea was to record recipes in this format:

* Name of the recipe          :tag:

1) Step one.
2) Step two.
3) Step three.

:PROPERTIES:
:ingredient_1: quantity
:ingredient_2: quantity
:ingredient_3: quantity
:END:

Tags could be anything, be mainly things like 'breakfast', 'main course' or 'dessert'. Then, with the point on the headline, (in the file buffer or in the agenda buffer), you could call a function that would add the ingredient to a list, or increment its quantity if the ingredient is already there. Maybe a function to add a random number of recipes (through a filter or not) to the shopping list would be nice too, if you don't know what to cook in a particular week.

I'm planning to do this but my Elisp-fu is not great... Any tips of how implementing this? Are lists a good data structure for stocking the shopping list, before dumping it in a buffer?

FC


On Sun, Mar 16, 2014 at 1:40 AM, Robert Horn <rjhorn@alum.mit.edu> wrote:
I also use tables, and have one big recipe.org file.  I considered
ingredient properties, etc., but ended up just text and find recipes by
using simple searches.  They look like this:

* Texas Skillet Corn Bread

| Ingredient             | Quantity | Instructions    |
|------------------------+----------+-----------------|
| Bacon drippings or oil | 1/4 cup  |                 |
| Yellow CornMeal        | 1 cup    |                 |
| All Purpose Flour      | 1 cup    |                 |
| Salt                   | 1/2 tsp  |                 |
| Baking Power           | 1 tsp    |                 |
| Baking Soda            | 1 tsp    |                 |
| Sugar                  | 1 tbs    | optional        |
| Buttermilk             | 1 cup    |                 |
| Eggs                   | 2        | slightly beaten |
|------------------------+----------+-----------------|

  1. Heat drippings in iron skillet

  2. In large mixing bowl, mix cornmeal, flour, salt, baking x, and sugar.

  3. Add buttermilk and stir rapidly.

  4. Add eggs and mix

  5. Add drippings

  6. Pour into skillet, cover, and cook on low heat until lightly
     browned and almost cooked through.