logo

Grimgrains

Unnamed repository; edit this file 'description' to name the repository.
commit: 59cb0e80045543f8b3bd7ab8adde4e0fb20d92e7
parent 7929b12384d79f78cf875f8e5d410632ed824315
Author: neauoire <aliceffekt@gmail.com>
Date:   Fri, 20 Dec 2019 14:08:59 -0500

Added ingr parenting.

Diffstat:

Mscripts/templates/home.js23++++++++++-------------
Msrc/ingredient.c14+++++++++-----
Msrc/ingredients.c522++++++++++++++++++++++++++++++++-----------------------------------------------
3 files changed, 230 insertions(+), 329 deletions(-)

diff --git a/scripts/templates/home.js b/scripts/templates/home.js @@ -8,8 +8,8 @@ function HomeTemplate (id, rect) { this.answer = function (q) { const ingredients = find_ingredients(q.tables.recipes) - // translate_ingredients(q.tables.ingredients) - translate_recipes(q.tables.recipes) + translate_ingredients(q.tables.ingredients) + // translate_recipes(q.tables.recipes) ingredients.coffee = 1 @@ -136,19 +136,16 @@ function HomeTemplate (id, rect) { each_ingr += `&${snake_name}, ` let desc = ingredients[name].BREF ? ingredients[name].BREF.to_markup2() : 'Missing description.' desc += ingredients[name].LONG ? ingredients[name].LONG.reduce((acc,item) => { return `${acc}${item.substr(2).to_markup2().trim()}<br /><br />`},'') : '' - txt += `Ingredient ${snake_name} = create_ingredient("${name.toLowerCase()}", "${desc}");\n` - txt += `\n` - } - txt += `// Parenting\n\n` - - for(const name in ingredients){ - if(!ingredients[name].PARENT){ continue; } - const snake_name = name.toLowerCase().replace(/ /g,'_').trim() - txt += `set_parent(&${snake_name}, &${ingredients[name].PARENT.toLowerCase().replace(/ /g,'_').trim().replace(/\"/g,'\"') });\n` - + if(ingredients[name].PARENT){ + const parent_snake = ingredients[name].PARENT.toLowerCase().replace(/ /g,'_').trim() + txt += `Ingredient ${snake_name} = create_child_ingredient(&${parent_snake}, "${name.toLowerCase()}", "${desc}");\n` + } + else{ + txt += `Ingredient ${snake_name} = create_ingredient("${name.toLowerCase()}", "${desc}");\n` + } + txt += `\n` } - txt += `\n` txt += `Ingredient *ingredients[] = {${each_ingr}};` diff --git a/src/ingredient.c b/src/ingredient.c @@ -1,5 +1,5 @@ -typedef struct { +typedef struct Ingredient { int id; char *name; char *description; @@ -18,13 +18,17 @@ Ingredient create_ingredient(char *name, char *description) { return a; } +Ingredient create_child_ingredient(Ingredient *parent, char *name, char *description) { + Ingredient a; + a.name = name; + a.description = description; + a.parent = parent; + return a; +} + Serving create_serving(Ingredient *ingredient, char *quantity) { Serving a; a.ingredient = ingredient; a.quantity = quantity; return a; -} - -void set_parent(Ingredient *child, Ingredient *parent) { - child->parent = parent; } \ No newline at end of file diff --git a/src/ingredients.c b/src/ingredients.c @@ -1,46 +1,47 @@ -Ingredient coffee = create_ingredient("coffee", "<a href='Coffee.html'>Coffee</a> is a brewed drink prepared from roasted coffee beans, which are the seeds of berries from the <a href='https://en.wikipedia.org/wiki/Coffea' target='_blank'>Coffea plant</a>.blog/coffee.2.jpg<br /><br />Devine & I are daily coffee drinkers, we sometimes have a second cup in the afternoon, but typically we limit ourselves to a single cup in the morning. We drink it <b>black</b>, but enjoy the occasional flat white as a treat.<br /><br />We grind new beans each morning with a portable manual <a href='http://www.amzn.to/2p0pO2p' target='_blank'>coffee grinder</a>. We mainly use a <a href='http://www.ikea.com/us/en/catalog/products/30149839/' target='_blank'>stainless steel moka pot</a> for espresso.<br /><br />To make a perfect espresso with the moka pot, here are a few things to remember:<br /><br />The grind should be only slightly smaller than filter coffee.<br /><br />Warm up the water in the bottom part before screwing the top section.<br /><br />Take apart and clean the moka pot after each use.<br /><br />&nbsp;<br /><br />blog/coffee.jpg<br /><br />To finish, here is a list of the coffee places we've tried (and loved) in our travels:<br /><br /><a href='https://pradocafe.co' target='_blank'>Prado</a> — Vancouver, CA<br /><br /><a href='http://www.cafeneve.com' target='_blank'>Cafe Neve</a> — Montreal, CA<br /><br /><a href='https://sextantcoffee.com' target='_blank'>Sextant Coffee Roasters</a> — San Francisco, CA, US<br /><br /><a href='https://www.facebook.com/BigSurCafeOrganico/' target='_blank'>Big Sur</a> — La Paz, Mexico<br /><br /><a href='https://www.facebook.com/Fat-Camel-Israeli-Cafe-111529865551331/' target='_blank'>Fat Camel</a> — Whangarei, NZ"); -Ingredient lentils = create_ingredient("lentils", "Lentils are considered to be one of the best foods because their chemical structures are not altered by cooking. Lens is the latin name for lentil. Lentils can be soaked, germinated, boiled, fried and baked, the most common being boiled. They require a cooking time of 10-40 minutes, depending on variety. The cooking time is shorter for varieties with the husk removed, like red lentils. Lentils without husks tend to soften into purees, while the husked variety remain whole."); +Ingredient beans = create_ingredient("beans", "Missing description."); -Ingredient beluga_lentils = create_ingredient("beluga lentils", "Beluga lentils are black, bead-like, lens-shaped, almost spherical. They have a delicate flavor and a firm texture that doesn't disintegrate when cooked.Beluga lentils are a rich source of numerous essential nutrients like <a href='#nutrition.html'>protein</a>, iron and zinc. Lentils have the second-highest ratio of protein per calorie of any legume, after <a href='soy_beans.html'>soy beans</a>."); +Ingredient coffee = create_child_ingredient(&beans, "coffee", "<a href='Coffee.html'>Coffee</a> is a brewed drink prepared from roasted coffee beans, which are the seeds of berries from the <a href='https://en.wikipedia.org/wiki/Coffea' target='_blank'>Coffea plant</a>.blog/coffee.2.jpg<br /><br />Devine & I are daily coffee drinkers, we sometimes have a second cup in the afternoon, but typically we limit ourselves to a single cup in the morning. We drink it <b>black</b>, but enjoy the occasional flat white as a treat.<br /><br />We grind new beans each morning with a portable manual <a href='http://www.amzn.to/2p0pO2p' target='_blank'>coffee grinder</a>. We mainly use a <a href='http://www.ikea.com/us/en/catalog/products/30149839/' target='_blank'>stainless steel moka pot</a> for espresso.<br /><br />To make a perfect espresso with the moka pot, here are a few things to remember:<br /><br />The grind should be only slightly smaller than filter coffee.<br /><br />Warm up the water in the bottom part before screwing the top section.<br /><br />Take apart and clean the moka pot after each use.<br /><br />&nbsp;<br /><br />blog/coffee.jpg<br /><br />To finish, here is a list of the coffee places we've tried (and loved) in our travels:<br /><br /><a href='https://pradocafe.co' target='_blank'>Prado</a> — Vancouver, CA<br /><br /><a href='http://www.cafeneve.com' target='_blank'>Cafe Neve</a> — Montreal, CA<br /><br /><a href='https://sextantcoffee.com' target='_blank'>Sextant Coffee Roasters</a> — San Francisco, CA, US<br /><br /><a href='https://www.facebook.com/BigSurCafeOrganico/' target='_blank'>Big Sur</a> — La Paz, Mexico<br /><br /><a href='https://www.facebook.com/Fat-Camel-Israeli-Cafe-111529865551331/' target='_blank'>Fat Camel</a> — Whangarei, NZ<br /><br />"); -Ingredient brown_lentils = create_ingredient("brown lentils", "The most common variety of lentils, found in most grocery stores. They have a mild, earthy-flavor, with a firm texture that doesn't disintegrate when cooked.Lentils are a rich source of numerous essential nutrients like <a href='#nutrition.html'>protein</a>, iron and zinc. Lentils have the second-highest ratio of protein per calorie of any legume, after <a href='soy_beans.html'>soy beans</a>."); +Ingredient lentils = create_ingredient("lentils", "Lentils are considered to be one of the best foods because their chemical structures are not altered by cooking. Lens is the latin name for lentil. Lentils can be soaked, germinated, boiled, fried and baked, the most common being boiled. They require a cooking time of 10-40 minutes, depending on variety. The cooking time is shorter for varieties with the husk removed, like red lentils. Lentils without husks tend to soften into purees, while the husked variety remain whole."); -Ingredient shelled_hemp_seeds = create_ingredient("shelled hemp seeds", "Hemp seeds are produced from the hemp plant <b>Cannabis sativa L</b>. Hemp seeds contain the perfect balance of essential amino acids for sustaining good health. They are a rich source of <b>protein</b>, <b>zinc</b> and <b>iron</b>.Hemp belongs to the same family as marijuana, but both are different. Hemp contains less than 1 percent of the psychoactive drug present in marijuana. The plant thrives a variety of growing conditions, make it a very hardy plant. The oil in hemp seeds can go rancid quickly, they should be used up quickly and should be stored in a cool environment. Cooking hemp seeds destoys their nutritional benefits, it's better to eat them raw or to add them to foods after cooking <a href='http://www.seedguides.info/hemp-seeds/' target='_blank'>ref</a>.<br /><br />Hemp has many other uses, it is used to make paper, textiles, plastics and fuel."); +Ingredient beluga_lentils = create_child_ingredient(&lentils, "beluga lentils", "Beluga lentils are black, bead-like, lens-shaped, almost spherical. They have a delicate flavor and a firm texture that doesn't disintegrate when cooked.Beluga lentils are a rich source of numerous essential nutrients like <a href='#nutrition.html'>protein</a>, iron and zinc. Lentils have the second-highest ratio of protein per calorie of any legume, after <a href='soy_beans.html'>soy beans</a>.<br /><br />"); -Ingredient tempeh = create_ingredient("tempeh", "Tempeh is a soy product, made from fermented <a href='soy_beans.html'>soy beans</a>. Tempeh is a source of protein, Omega-3's and zinc, and has a firm texture and earthy flavor.Tempeh is made by controlled fermentation that binds soybeans into a 'paddy'. The fungus <b>Rhizopus Oligosporus</b> is used as a starter to make tempeh. Fermented soyfoods like tempeh increased iron absorption."); +Ingredient brown_lentils = create_child_ingredient(&lentils, "brown lentils", "The most common variety of lentils, found in most grocery stores. They have a mild, earthy-flavor, with a firm texture that doesn't disintegrate when cooked.Lentils are a rich source of numerous essential nutrients like <a href='#nutrition.html'>protein</a>, iron and zinc. Lentils have the second-highest ratio of protein per calorie of any legume, after <a href='soy_beans.html'>soy beans</a>.<br /><br />"); -Ingredient peanut_butter = create_ingredient("peanut butter", "A spread made from dry-roasted <a href='peanuts.html'>peanuts</a>, kinds without added sugar or oils are preferable. Peanut butter is a rich source of <a href='nutrition.html'>protein</a>.The US consumes $800 million of this stuff annually. The flavor of peanut butter combines well with other flavors, such as oatmeal, savory sauces, and various types of breads and crackers."); +Ingredient shelled_hemp_seeds = create_ingredient("shelled hemp seeds", "Hemp seeds are produced from the hemp plant <b>Cannabis sativa L</b>. Hemp seeds contain the perfect balance of essential amino acids for sustaining good health. They are a rich source of <b>protein</b>, <b>zinc</b> and <b>iron</b>.Hemp belongs to the same family as marijuana, but both are different. Hemp contains less than 1% of the psychoactive drug present in marijuana. The plant thrives a variety of growing conditions, make it a very hardy plant. The oil in hemp seeds can go rancid quickly, they should be used up quickly and should be stored in a cool environment. Cooking hemp seeds destoys their nutritional benefits, it's better to eat them raw or to add them to foods after cooking <a href='http://www.seedguides.info/hemp-seeds/' target='_blank'>ref</a>.<br /><br />Hemp has many other uses, it is used to make paper, textiles, plastics and fuel.<br /><br />"); -Ingredient peanuts = create_ingredient("peanuts", "A crop grown mainly for its edible seeds! Peanuts are similar in taste and nutritional profile to tree nuts, and can be made into <a href='peanut_butter.html'>peanut butter</a>.Peanuts are are rich source of <a href='nutrition.html'>protein</a>, 1/4 cup of peanuts equals one serving of the 3-4 servings of protein required for good health."); +Ingredient tempeh = create_ingredient("tempeh", "Tempeh is a soy product, made from fermented <a href='soy_beans.html'>soy beans</a>. Tempeh is a source of protein, Omega-3's and zinc, and has a firm texture and earthy flavor.Tempeh is made by controlled fermentation that binds soybeans into a 'paddy'. The fungus <b>Rhizopus Oligosporus</b> is used as a starter to make tempeh. Fermented soyfoods like tempeh increased iron absorption.<br /><br />"); -Ingredient soy_beans = create_ingredient("soy beans", "Soy beans are a species of legumes, widely grown for its edible bean. 1/2 cup of dried soybeans equals one serving of the 3-4 servings of protein required for good health. It is also a good source of <a href='nutrition.html'>Omega 3's (ALA)</a>.Unfermented food uses of soybeans include <a href='soy_milk.html'>soy milk</a> and <a href='tofu.html'>tofu</a>, while fermented soy foods include <a href='soy_sauce.html'>soy sauce</a>, <a href='miso.html'>miso</a>, natto and <a href='tempeh.html'>tempeh</a>. A staple in Eastern Asia, soy beans are used as a base for many vegan faux-meat dishes."); +Ingredient peanut_butter = create_ingredient("peanut butter", "A spread made from dry-roasted <a href='peanuts.html'>peanuts</a>, kinds without added sugar or oils are preferable. Peanut butter is a rich source of <a href='nutrition.html'>protein</a>.The US consumes $800 million of this stuff annually. The flavor of peanut butter combines well with other flavors, such as oatmeal, savory sauces, and various types of breads and crackers.<br /><br />"); -Ingredient beans = create_ingredient("beans", "Missing description."); +Ingredient peanuts = create_ingredient("peanuts", "A crop grown mainly for its edible seeds! Peanuts are similar in taste and nutritional profile to tree nuts, and can be made into <a href='peanut_butter.html'>peanut butter</a>.Peanuts are are rich source of <a href='nutrition.html'>protein</a>, 1/4 cup of peanuts equals one serving of the 3-4 servings of protein required for good health.<br /><br />"); -Ingredient black_beans = create_ingredient("black beans", "Missing description."); +Ingredient soy_beans = create_child_ingredient(&beans, "soy beans", "Soy beans are a species of legumes, widely grown for its edible bean. 1/2 cup of dried soybeans equals one serving of the 3-4 servings of protein required for good health. It is also a good source of <a href='nutrition.html'>Omega 3's (ALA)</a>.Unfermented food uses of soybeans include <a href='soy_milk.html'>soy milk</a> and <a href='tofu.html'>tofu</a>, while fermented soy foods include <a href='soy_sauce.html'>soy sauce</a>, <a href='miso.html'>miso</a>, natto and <a href='tempeh.html'>tempeh</a>. A staple in Eastern Asia, soy beans are used as a base for many vegan faux-meat dishes.<br /><br />"); -Ingredient green_beans = create_ingredient("green beans", "Missing description."); +Ingredient black_beans = create_child_ingredient(&beans, "black beans", "Missing description."); -Ingredient kidney_beans = create_ingredient("kidney beans", "Missing description."); +Ingredient green_beans = create_child_ingredient(&beans, "green beans", "Missing description."); -Ingredient edamame = create_ingredient("edamame", "Edamame are immature <a href='soy_beans.html'>soy beans</a>, still in their pods. <b>Eda 枝</b> means 'stem' and <b>mame 豆</b> means 'beans', literally 'steam beans.' Edamame, like all soyfoods, are rich in <b>protein</b>.Edamame can be boiled or steamed, and served with salts of other condiments. Fresh edamame last for 3 days in the refrigerator, wrapped in a material that traps moisture to prevent discoloration and wilting. Fresh edamame can be frozen, but should be blanched first. Frozen edamame lasts for many months."); +Ingredient kidney_beans = create_child_ingredient(&beans, "kidney beans", "Missing description."); -Ingredient chickpeas = create_ingredient("chickpeas", "Chickpeas are the earliest cultivated legumes in history, and a staple in many countries. Chickpeas are also very rich in <b>protein</b>, and a good source of <b>iron</b>.Chickpeas can be made into flour, it can be roasted, pureed, candied etc. It's a very versatile and inexpensive legume. The soaking liquid of chickpeas — <b>aquafaba</b> — can be used as an egg replacer in recipes.<br /><br />Dry chickpeas keep a long, long time. If you keep them in air-tight containers they will last even longer, because moisture and oxygen is the enemy of all beans. Oxygen makes the bean oils rancid overtime. You can store them for 5+ yrs if you add oxygen absorbers (packet consisting of powdered iron oxide) to the containers.<br /><br /><b>How to cook dried chickpeas</b><br /><br />Dried chickpeas triple in size when cooked (if not a little bit more). So 1 cup of dried chickpeas will make about 3 cups of cooked chickpeas. Dried chickpeas have a tough outer skin, and <b>should be soaked overnight</b>. Soaking them cuts down on cooking time, and in turn, saves energy. It also helps the beans cook more evenly and become completely tender all the way through. Another advantage to presoaking beans is that most of the gas-causing sugars are leached out into the soaking water. So when you drain off the soaking water, you are also getting rid of this unpleasant side effect to eating beans. Next morning, drain and cook them in a pot or pressure cooker.<br /><br /><b>Stove top Pot:</b> Bring chickpeas to a boil, then lower to gentle simmer. Add salt when beans are almost cooked. In a pot, cooking them varies from 1-3 hours.<br /><br /><b>Pressure cooker:</b> Because beans cook differently depending on the kind, age, and whether or not they’ve been presoaked, quick-soaked or not soaked at all, there is no single all-encompasssing rule for pressure cooking beans. Having a good chart with all the variables to consult is important so that you can adjust to your circumstances. A good resource for this is <a href='https://www.hippressurecooking.com/pressure-cooking-times/#beans' target='_blank'>Hip Pressure Cooking’s bean chart</a>. It’s a good idea to add 1 tbsp of neutral oil to the pot. Beans produce foam when cooking which can clog the pressure valve, and the oil will help to keep that down."); +Ingredient edamame = create_child_ingredient(&soy_beans, "edamame", "Edamame are immature <a href='soy_beans.html'>soy beans</a>, still in their pods. <b>Eda 枝</b> means 'stem' and <b>mame 豆</b> means 'beans', literally 'steam beans.' Edamame, like all soyfoods, are rich in <b>protein</b>.Edamame can be boiled or steamed, and served with salts of other condiments. Fresh edamame last for 3 days in the refrigerator, wrapped in a material that traps moisture to prevent discoloration and wilting. Fresh edamame can be frozen, but should be blanched first. Frozen edamame lasts for many months.<br /><br />"); -Ingredient chickpea_flour = create_ingredient("chickpea flour", "Chickpea flour — also known as <b>besan</b> or <b>gram</b> flour — is made from ground chickpeas.Chickpea flour has a long shelf life due to the low-moisture and low-fat content. Chickpea flour has a texture and taste that is ideal for savoury pancakes or faux-omelettes."); +Ingredient chickpeas = create_ingredient("chickpeas", "Chickpeas are the earliest cultivated legumes in history, and a staple in many countries. Chickpeas are also very rich in <b>protein</b>, and a good source of <b>iron</b>.Chickpeas can be made into flour, it can be roasted, pureed, candied etc. It's a very versatile and inexpensive legume. The soaking liquid of chickpeas — <b>aquafaba</b> — can be used as an egg replacer in recipes.<br /><br />Dry chickpeas keep a long, long time. If you keep them in air-tight containers they will last even longer, because moisture and oxygen is the enemy of all beans. Oxygen makes the bean oils rancid overtime. You can store them for 5+ yrs if you add oxygen absorbers (packet consisting of powdered iron oxide) to the containers.<br /><br /><b>How to cook dried chickpeas</b><br /><br />Dried chickpeas triple in size when cooked (if not a little bit more). So 1 cup of dried chickpeas will make about 3 cups of cooked chickpeas. Dried chickpeas have a tough outer skin, and <b>should be soaked overnight</b>. Soaking them cuts down on cooking time, and in turn, saves energy. It also helps the beans cook more evenly and become completely tender all the way through. Another advantage to presoaking beans is that most of the gas-causing sugars are leached out into the soaking water. So when you drain off the soaking water, you are also getting rid of this unpleasant side effect to eating beans. Next morning, drain and cook them in a pot or pressure cooker.<br /><br /><b>Stove top Pot:</b> Bring chickpeas to a boil, then lower to gentle simmer. Add salt when beans are almost cooked. In a pot, cooking them varies from 1-3 hours.<br /><br /><b>Pressure cooker:</b> Because beans cook differently depending on the kind, age, and whether or not they’ve been presoaked, quick-soaked or not soaked at all, there is no single all-encompasssing rule for pressure cooking beans. Having a good chart with all the variables to consult is important so that you can adjust to your circumstances. A good resource for this is <a href='https://www.hippressurecooking.com/pressure-cooking-times/#beans' target='_blank'>Hip Pressure Cooking’s bean chart</a>. It’s a good idea to add 1 tbsp of neutral oil to the pot. Beans produce foam when cooking which can clog the pressure valve, and the oil will help to keep that down.<br /><br />"); + +Ingredient chickpea_flour = create_child_ingredient(&chickpeas, "chickpea flour", "Chickpea flour — also known as <b>besan</b> or <b>gram</b> flour — is made from ground chickpeas.Chickpea flour has a long shelf life due to the low-moisture and low-fat content. Chickpea flour has a texture and taste that is ideal for savoury pancakes or faux-omelettes.<br /><br />"); Ingredient peas = create_ingredient("peas", "Missing description."); -Ingredient green_peas = create_ingredient("green peas", "Missing description."); +Ingredient green_peas = create_child_ingredient(&peas, "green peas", "Missing description."); -Ingredient mungbeans = create_ingredient("mungbeans", "Missing description."); +Ingredient mungbeans = create_child_ingredient(&beans, "mungbeans", "Missing description."); Ingredient broccoli = create_ingredient("broccoli", "Missing description."); -Ingredient green_cabbage = create_ingredient("green cabbage", "Green cabbage is a vegetable with dense-leaved heads, closely related to <a href='broccoli.html'>broccoli</a>, <a href='brussel_sprouts.html'>brussel sprouts</a> and <a href='cauliflower.html'>cauliflower</a>. Cabbage can be pickled, fermented, steamed, stewed, sauteed, braised or consumed raw. Cabbage is a source of vitamin C.There are winter and summer cabbages, winter cabbages are more dense while summer cabbages are lighter and sweet."); +Ingredient green_cabbage = create_ingredient("green cabbage", "Green cabbage is a vegetable with dense-leaved heads, closely related to <a href='broccoli.html'>broccoli</a>, <a href='brussel_sprouts.html'>brussel sprouts</a> and <a href='cauliflower.html'>cauliflower</a>. Cabbage can be pickled, fermented, steamed, stewed, sauteed, braised or consumed raw. Cabbage is a source of vitamin C.There are winter and summer cabbages, winter cabbages are more dense while summer cabbages are lighter and sweet.<br /><br />"); -Ingredient red_cabbage = create_ingredient("red cabbage", "Red cabbage is a good source of Vitamin C. ItIt can be used as a natural colorant - it needs to be boiled and mixed with vinegar to keep its colour. The plant changes its color according to the pH value of the soil, due to a pigment belonging to anthocyanins. Red cabbage keeps better than other varieties, and does not need to be converted to sauerkraut to last the winter."); +Ingredient red_cabbage = create_child_ingredient(&green_cabbage, "red cabbage", "Red cabbage is a good source of Vitamin C. ItIt can be used as a natural colorant - it needs to be boiled and mixed with vinegar to keep its colour. The plant changes its color according to the pH value of the soil, due to a pigment belonging to anthocyanins. Red cabbage keeps better than other varieties, and does not need to be converted to sauerkraut to last the winter.<br /><br />"); Ingredient kale = create_ingredient("kale", "Missing description."); @@ -48,137 +49,135 @@ Ingredient arugula = create_ingredient("arugula", "Arugula, or \"rocket\" is a p Ingredient cauliflower = create_ingredient("cauliflower", "The oldest record of cauliflower dates back to the 6th century BC. They come in <a href='white_cauliflower.html'>white</a> and <a href='purple_cauliflower.html'>purple</a> varieties. Cauliflower is high in vitamin C. Eating ½ cup of cauliflower has been shown to <a href='https://www.theveganrd.com/vegan-nutrition-101/vegan-nutrition-primers/iron-a-vegan-nutrition-primer/' target='_blank'>increase iron absorption</a> from plant foods by as much as four to six times."); -Ingredient white_cauliflower = create_ingredient("white cauliflower", "A type of <a href='cauliflower.html'>cauliflower</a>, high in vitamin C. Eating ½ cup of cauliflower has been shown to <a href='https://www.theveganrd.com/vegan-nutrition-101/vegan-nutrition-primers/iron-a-vegan-nutrition-primer/' target='_blank'>increase iron absorption</a> from plant foods by as much as four to six times."); +Ingredient white_cauliflower = create_child_ingredient(&cauliflower, "white cauliflower", "A type of <a href='cauliflower.html'>cauliflower</a>, high in vitamin C. Eating ½ cup of cauliflower has been shown to <a href='https://www.theveganrd.com/vegan-nutrition-101/vegan-nutrition-primers/iron-a-vegan-nutrition-primer/' target='_blank'>increase iron absorption</a> from plant foods by as much as four to six times."); -Ingredient purple_cauliflower = create_ingredient("purple cauliflower", "A type of <a href='cauliflower.html'>cauliflower</a>, the purple color in this cauliflower is caused by the presence anthocyanins, water-soluble pigments that are found in many other plants and plant-based products, such as red cabbage and red wine. Cauliflower is high in vitamin C. Eating ½ cup of cauliflower has been shown to <a href='https://www.theveganrd.com/vegan-nutrition-101/vegan-nutrition-primers/iron-a-vegan-nutrition-primer/' target='_blank'>increase iron absorption</a> from plant foods by as much as four to six times."); +Ingredient purple_cauliflower = create_child_ingredient(&cauliflower, "purple cauliflower", "A type of <a href='cauliflower.html'>cauliflower</a>, the purple color in this cauliflower is caused by the presence anthocyanins, water-soluble pigments that are found in many other plants and plant-based products, such as red cabbage and red wine. Cauliflower is high in vitamin C. Eating ½ cup of cauliflower has been shown to <a href='https://www.theveganrd.com/vegan-nutrition-101/vegan-nutrition-primers/iron-a-vegan-nutrition-primer/' target='_blank'>increase iron absorption</a> from plant foods by as much as four to six times."); -Ingredient brussel_sprouts = create_ingredient("brussel sprouts", "Brussel sprouts are leafy vegetables that are high in vitamin C. To prepare them, cut the buds from the stalk and cut the surplus of stems away, as well as any loose surface leaves. Once they are cut and clean, they can be boiled, steamed, stir-fried, grilled or roasted! Making a cross at the center of the stem can help it cook better."); +Ingredient brussel_sprouts = create_child_ingredient(&green_cabbage, "brussel sprouts", "Brussel sprouts are leafy vegetables that are high in vitamin C. To prepare them, cut the buds from the stalk and cut the surplus of stems away, as well as any loose surface leaves. Once they are cut and clean, they can be boiled, steamed, stir-fried, grilled or roasted! Making a cross at the center of the stem can help it cook better."); -Ingredient daikon = create_ingredient("daikon", "Daikon is a mild-flavored winter radish, originating from southeast asia. Daikon is low in food energy, but is a good source of <b>vitamin C</b>.There are many varieties of daikon, with differences in color, taste and shape."); +Ingredient daikon = create_ingredient("daikon", "Daikon is a mild-flavored winter radish, originating from southeast asia. Daikon is low in food energy, but is a good source of <b>vitamin C</b>.There are many varieties of daikon, with differences in color, taste and shape.<br /><br />"); Ingredient bok_choy = create_ingredient("bok choy", "Bok Choy is a winter-hardy vegetable, a type of Chinese cabbage. Bok Choy is a rich source of vitamin A and C, and provides some folate, vitamin B6 and calcium."); -Ingredient radish = create_ingredient("radish", "The radish is an edible root vegetable, domesticated in Europe in pre-Roman times. There are many varieties, varying in color, size and flavor. Radishes have a moderate amount of <b>vitamin C</b>.Radish are often grown as companion plants for pest control, they are easy to grow and quick to harvest."); - -Ingredient arame = create_ingredient("arame", "Arame is a species of kelp (brown algae), and is very popular in Japanese cuisine. It is indigenous to the temperate Pacific Ocean waters around Japan."); +Ingredient radish = create_ingredient("radish", "The radish is an edible root vegetable, domesticated in Europe in pre-Roman times. There are many varieties, varying in color, size and flavor. Radishes have a moderate amount of <b>vitamin C</b>.Radish are often grown as companion plants for pest control, they are easy to grow and quick to harvest.<br /><br />"); Ingredient seaweed = create_ingredient("seaweed", "There are many kinds of edible seaweed, popular in East Asia. There are 3 main groups: Red algea, green algea and brown algea. Most edible seaweeds are marine algae whereas most freshwater algae are toxic. Seaweed contains high levels of <b>iodine</b> and <b>calcium</b>. It is possibly a source of <b>vitamin B12</b> (see <a href='https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4042564/' target='_blank'>ref</a>), but the amount is variable and therefore, not dependable."); +Ingredient arame = create_child_ingredient(&seaweed, "arame", "Arame is a species of kelp (brown algae), and is very popular in Japanese cuisine. It is indigenous to the temperate Pacific Ocean waters around Japan."); + Ingredient mushroom = create_ingredient("mushroom", "Mushrooms are the fleshy fruiting body of a fungus. They grow above ground, soil or from a food source. UV ray-treated (due to both sunlight and articial UV light tech) mushrooms are a source of <b>vitamin d2</b>. Many mushrooms are poisonous, resembling certain edible species. Gathering mushrooms in the wild is risky for the inexperienced and should only be undertaken by persons knowledgeable in mushroom identification."); -Ingredient wakame = create_ingredient("wakame", "Wakame, or <b>Undaria pinnatifida</b> is an edible seaweed, subtly sweet with a strong flavour and texture. It has a salty, savoury taste.Wakame is often served in soups, or in salads. Wakame is often sold dried (can be re-constituted in water) or salted."); +Ingredient wakame = create_child_ingredient(&seaweed, "wakame", "Wakame, or <b>Undaria pinnatifida</b> is an edible seaweed, subtly sweet with a strong flavour and texture. It has a salty, savoury taste.Wakame is often served in soups, or in salads. Wakame is often sold dried (can be re-constituted in water) or salted.<br /><br />"); -Ingredient dried_hijiki = create_ingredient("dried hijiki", "Missing description."); +Ingredient dried_hijiki = create_child_ingredient(&seaweed, "dried hijiki", "Missing description."); -Ingredient bull_kelp_powder = create_ingredient("bull kelp powder", "Nereocystis a genus of brown kelp containing the species <b>Nereocystis luetkeana</b>. Some common names include edible kelp, bull kelp, bullwhip kelp, ribbon kelp, bladder wrack. Bull kelp powder is made from dried bull kelp, and is one of the tastiest seaweeds. It is used as a seasoning to create a briny taste."); +Ingredient bull_kelp_powder = create_child_ingredient(&seaweed, "bull kelp powder", "Nereocystis a genus of brown kelp containing the species <b>Nereocystis luetkeana</b>. Some common names include edible kelp, bull kelp, bullwhip kelp, ribbon kelp, bladder wrack. Bull kelp powder is made from dried bull kelp, and is one of the tastiest seaweeds. It is used as a seasoning to create a briny taste."); -Ingredient nori = create_ingredient("nori", "Nori is an edible species of red algea. It has a strong flavor, and is often used in dried sheets to wrap sushi.Dried sheets of seaweed are made by a shredding and rack-drying process that resembled papermaking. Nori sheets should be kept in an air-tight container because they can easily absorb water from the air."); +Ingredient nori = create_child_ingredient(&seaweed, "nori", "Nori is an edible species of red algea. It has a strong flavor, and is often used in dried sheets to wrap sushi.Dried sheets of seaweed are made by a shredding and rack-drying process that resembled papermaking. Nori sheets should be kept in an air-tight container because they can easily absorb water from the air.<br /><br />"); -Ingredient nori_sheets = create_ingredient("nori sheets", "Nori is an edible species of red algea. It has a strong flavor, and is often used in dried sheets to wrap sushi.Dried sheets of seaweed are made by a shredding and rack-drying process that resembled papermaking. Nori sheets should be kept in an air-tight container because they can easily absorb water from the air."); +Ingredient nori_sheets = create_child_ingredient(&nori, "nori sheets", "Nori is an edible species of red algea. It has a strong flavor, and is often used in dried sheets to wrap sushi.Dried sheets of seaweed are made by a shredding and rack-drying process that resembled papermaking. Nori sheets should be kept in an air-tight container because they can easily absorb water from the air.<br /><br />"); -Ingredient shiitake = create_ingredient("shiitake", "Shiitake, or <b>Lentinula edodes</b>, is an edible mushroom that grows in groups on the decaying wood of deciduous trees. When cooked, these mushrooms have a savory, earthy umami flavor.They are sold both fresh and dried, dried shiitakes can be reconstituted in water. Shiitake are used as a base in vegan dashi, to flavor simmered and steamed dishes. They are also used in soups, or sauteed with other vegetables. Rarely, consumption of raw or slightly cooked shiitake mushrooms may cause an allergic reaction called \"shiitake dermatitis\". They will keep 1-2 weeks when stored in a paper bag in the refrigerator."); +Ingredient shiitake = create_child_ingredient(&mushroom, "shiitake", "Shiitake, or <b>Lentinula edodes</b>, is an edible mushroom that grows in groups on the decaying wood of deciduous trees. When cooked, these mushrooms have a savory, earthy umami flavor.They are sold both fresh and dried, dried shiitakes can be reconstituted in water. Shiitake are used as a base in vegan dashi, to flavor simmered and steamed dishes. They are also used in soups, or sauteed with other vegetables. Rarely, consumption of raw or slightly cooked shiitake mushrooms may cause an allergic reaction called \"shiitake dermatitis\". They will keep 1-2 weeks when stored in a paper bag in the refrigerator.<br /><br />"); -Ingredient crimini = create_ingredient("crimini", "Crimini mushrooms, or <b>agaricus bisporus</b>, are immature <a href='portobello_mushrooms.html'>portobello mushrooms</a>. They are brown and known under a variety of other names, like swiss brown, roman brown, italian brown and chestnut."); +Ingredient crimini = create_child_ingredient(&mushroom, "crimini", "Crimini mushrooms, or <b>agaricus bisporus</b>, are immature <a href='portobello_mushrooms.html'>portobello mushrooms</a>. They are brown and known under a variety of other names, like swiss brown, roman brown, italian brown and chestnut."); -Ingredient portobello = create_ingredient("portobello", "Portobello are mature brown or white <b>agaricus bisporus</b> mushrooms. They can be used in plant-based recipes as hamburger patties, you can even use them as buns."); +Ingredient portobello = create_child_ingredient(&mushroom, "portobello", "Portobello are mature brown or white <b>agaricus bisporus</b> mushrooms. They can be used in plant-based recipes as hamburger patties, you can even use them as buns."); -Ingredient shimeji = create_ingredient("shimeji", "Shimeji <b>占地</b> are a group of edible mushrooms native to East Asia. Shimejis are rich in 'umami', they have a distint nutty flavor.Shimeji mushrooms should always be cooked, because of its bitter taste which disappears upon cooking. It has a firm texture with a bit of a crunch. They are used in soups, stews and sauces, or stir-fried with vegetables."); +Ingredient shimeji = create_child_ingredient(&mushroom, "shimeji", "Shimeji <b>占地</b> are a group of edible mushrooms native to East Asia. Shimejis are rich in 'umami', they have a distint nutty flavor.Shimeji mushrooms should always be cooked, because of its bitter taste which disappears upon cooking. It has a firm texture with a bit of a crunch. They are used in soups, stews and sauces, or stir-fried with vegetables.<br /><br />"); -Ingredient button_mushrooms = create_ingredient("button mushrooms", "Button mushrooms, or <b>agaricus bisporus</b>, are small immature <a href='portobello_mushrooms.html'>portobello mushrooms</a>. They are white in color.Most button mushrooms are picked and sold when they are young, with their caps closed. The whole mushrooms is often used is recipes, stem included. To prepare button mushrooms, wipe them gently to remove dirt. They can be found in the wild, butcan easily be confused with A. Californicus, a look-alike that is mildly toxic."); +Ingredient button_mushrooms = create_child_ingredient(&mushroom, "button mushrooms", "Button mushrooms, or <b>agaricus bisporus</b>, are small immature <a href='portobello_mushrooms.html'>portobello mushrooms</a>. They are white in color.Most button mushrooms are picked and sold when they are young, with their caps closed. The whole mushrooms is often used is recipes, stem included. To prepare button mushrooms, wipe them gently to remove dirt. They can be found in the wild, butcan easily be confused with A. Californicus, a look-alike that is mildly toxic.<br /><br />"); -Ingredient flax_seeds = create_ingredient("flax seeds", "Flax seeds, or <b>linseed</b>, are harvested from the flax plant. Flax seeds are a source of Omega-3's, and can be used whole in breads, or ground as an egg-replacer in recipes.Flax seeds are used to make textiles, and are also made into oil (flaxseed oil)."); +Ingredient flax_seeds = create_ingredient("flax seeds", "Flax seeds, or <b>linseed</b>, are harvested from the flax plant. Flax seeds are a source of Omega-3's, and can be used whole in breads, or ground as an egg-replacer in recipes.Flax seeds are used to make textiles, and are also made into oil (flaxseed oil).<br /><br />"); -Ingredient sunflower_seeds = create_ingredient("sunflower seeds", "Sunflower seeds are the fruit of the sunflower. There are 3 types, <b>linoleic</b> being the most common. Sunflower seeds are a rich source of <b>protein</b>, <b>iron</b> and <b>zinc</b>.Sunflower seeds are commonly eaten as snacks, but can be used in recipes as garnishes or bases for <a href='Sunflower_heirloom_carrot_pasta.html'>vegan faux-cheese sauces</a>. Seeds are sold in-shell or dehulled, both salted and unsalted."); +Ingredient sunflower_seeds = create_ingredient("sunflower seeds", "Sunflower seeds are the fruit of the sunflower. There are 3 types, <b>linoleic</b> being the most common. Sunflower seeds are a rich source of <b>protein</b>, <b>iron</b> and <b>zinc</b>.Sunflower seeds are commonly eaten as snacks, but can be used in recipes as garnishes or bases for <a href='Sunflower_heirloom_carrot_pasta.html'>vegan faux-cheese sauces</a>. Seeds are sold in-shell or dehulled, both salted and unsalted.<br /><br />"); -Ingredient pumpkin_seeds = create_ingredient("pumpkin seeds", "Pumpkin seeds is the edible seed of a <b>pumpkin</b> and certain <b>squashes</b>. The seeds are flat, with a white outer husk. The inner seed is a dark green color. Pumpkin seeds are righ in <b>protein</b>, <b>iron</b> and <b>zinc</b>.Pumpkin seeds can be consumed raw, <a href='Roasted_pumpkin_seeds.html'>roasted</a>, or pureed into a nut butter. They can also be added to <a href='Crackers.html'>crackers</a>, <a href='Halloween_pumpkin_cookies.html'>cakes</a> and breads."); +Ingredient pumpkin = create_ingredient("pumpkin", "The darker the skin of the pumpkin, the higher the beta-carotene content."); -Ingredient sesame_seeds = create_ingredient("sesame seeds", "Sesame seeds has many other species, coming in a variety of colors ranging from light to dark. It has the highest oil content of any seed, with a nutty flavor. Sesame seeds are high in <b>protein</b>, <b>iron</b> and <b>zinc</b>.Sesame seeds are added to breads, or over the top of baked goods, they are also baked into <a href='crackers.html'>crackers</a> or sprinkled onto a variety of foods. Popular uses of sesame seeds also include <a href='tahini.html'>tahini</a> and <a href='sesame_oil.html'>sesame oil</a>. The seeds need stored at 6 percent moisture or less. If the seed is too moist, it can quickly heat up and become rancid."); +Ingredient pumpkin_seeds = create_child_ingredient(&pumpkin, "pumpkin seeds", "Pumpkin seeds is the edible seed of a <b>pumpkin</b> and certain <b>squashes</b>. The seeds are flat, with a white outer husk. The inner seed is a dark green color. Pumpkin seeds are righ in <b>protein</b>, <b>iron</b> and <b>zinc</b>.Pumpkin seeds can be consumed raw, <a href='Roasted_pumpkin_seeds.html'>roasted</a>, or pureed into a nut butter. They can also be added to <a href='Crackers.html'>crackers</a>, <a href='Halloween_pumpkin_cookies.html'>cakes</a> and breads.<br /><br />"); -Ingredient white_sesame_seeds = create_ingredient("white sesame seeds", "White sesame is the seed of a flowering plant of the genus <b>Sesamum</b>. It has the highest oil content of any seed, with a nutty flavor. White sesame seeds are high in <b>protein</b>, <b>iron</b> and <b>zinc</b>.Sesame seeds are added to breads, or over the top of baked goods, they are also baked into <a href='crackers.html'>crackers</a> or sprinkled onto a variety of foods. Popular uses of white sesame seeds also include <a href='tahini.html'>tahini</a> and <a href='sesame_oil.html'>sesame oil</a>. The seeds need stored at 6 percent moisture or less. If the seed is too moist, it can quickly heat up and become rancid."); +Ingredient sesame_seeds = create_ingredient("sesame seeds", "Sesame seeds has many other species, coming in a variety of colors ranging from light to dark. It has the highest oil content of any seed, with a nutty flavor. Sesame seeds are high in <b>protein</b>, <b>iron</b> and <b>zinc</b>.Sesame seeds are added to breads, or over the top of baked goods, they are also baked into <a href='crackers.html'>crackers</a> or sprinkled onto a variety of foods. Popular uses of sesame seeds also include <a href='tahini.html'>tahini</a> and <a href='sesame_oil.html'>sesame oil</a>. The seeds need stored at 6% moisture or less. If the seed is too moist, it can quickly heat up and become rancid.<br /><br />"); -Ingredient black_sesame_seeds = create_ingredient("black sesame seeds", "Black sesame is the seed of a flowering plant of the genus <b>Sesamum</b>. It has the highest oil content of any seed, with a nutty flavor. Black sesame seeds are high in <b>protein</b>, <b>iron</b> and <b>zinc</b>.Sesame seeds are added to breads, or over the top of baked goods, they are also baked into <a href='crackers.html'>crackers</a> or sprinkled onto a variety of foods. Popular uses of black sesame seeds also include <b>gomashio</b> (Japanese sesame salt) and <b>chikki</b> (Indian sweet brittle). The seeds need stored at 6 percent moisture or less. If the seed is too moist, it can quickly heat up and become rancid."); +Ingredient white_sesame_seeds = create_child_ingredient(&sesame_seeds, "white sesame seeds", "White sesame is the seed of a flowering plant of the genus <b>Sesamum</b>. It has the highest oil content of any seed, with a nutty flavor. White sesame seeds are high in <b>protein</b>, <b>iron</b> and <b>zinc</b>.Sesame seeds are added to breads, or over the top of baked goods, they are also baked into <a href='crackers.html'>crackers</a> or sprinkled onto a variety of foods. Popular uses of white sesame seeds also include <a href='tahini.html'>tahini</a> and <a href='sesame_oil.html'>sesame oil</a>. The seeds need stored at 6% moisture or less. If the seed is too moist, it can quickly heat up and become rancid.<br /><br />"); -Ingredient tahini = create_ingredient("tahini", "Tahini is a condiment made from toasted and ground hulled white sesame seeds. It is a rich source of <b>protein</b> and <b>calcium</b>.It is used in <b>baba ghanoush</b> (roasted eggplant dip), <b>pekmez</b> (sweet turkish dip), <a href='uzumaki_hummus_bites.html'>hummus</a> and in many other recipes. Because of its high oil content, it needs to be refrigerated to prevent spoilage. Tahini has high levels of calcium and protein, making it a must ingredient in any plantbased pantry."); +Ingredient black_sesame_seeds = create_child_ingredient(&sesame_seeds, "black sesame seeds", "Black sesame is the seed of a flowering plant of the genus <b>Sesamum</b>. It has the highest oil content of any seed, with a nutty flavor. Black sesame seeds are high in <b>protein</b>, <b>iron</b> and <b>zinc</b>.Sesame seeds are added to breads, or over the top of baked goods, they are also baked into <a href='crackers.html'>crackers</a> or sprinkled onto a variety of foods. Popular uses of black sesame seeds also include <b>gomashio</b> (Japanese sesame salt) and <b>chikki</b> (Indian sweet brittle). The seeds need stored at 6% moisture or less. If the seed is too moist, it can quickly heat up and become rancid.<br /><br />"); -Ingredient pomegranate_seeds = create_ingredient("pomegranate seeds", "The inside of the pomegranate fruit is filled with seeds, technically called <b>arils</b>. Pomegranate arils are a source of <b>vitamin C</b>.<b>How to extract the arils</b>: Score it with a knife to break it open. The seeds are separated from the peel and internal white pulp membranes. Separating the seeds is easier in a bowl of water because the seeds sink and the inedible pulp floats. The seeds may simply be eaten raw as a snack or added into salads, relishes, garnishes or <a href='#Chili_pomegranate_brownies.html'>desserts</a>."); +Ingredient tahini = create_child_ingredient(&sesame_seeds, "tahini", "Tahini is a condiment made from toasted and ground hulled white sesame seeds. It is a rich source of <b>protein</b> and <b>calcium</b>.It is used in <b>baba ghanoush</b> (roasted eggplant dip), <b>pekmez</b> (sweet turkish dip), <a href='uzumaki_hummus_bites.html'>hummus</a> and in many other recipes. Because of its high oil content, it needs to be refrigerated to prevent spoilage. Tahini has high levels of calcium and protein, making it a must ingredient in any plantbased pantry.<br /><br />"); -Ingredient chia_seeds = create_ingredient("chia seeds", "Chia seeds are the edible seeds of <b>Salvia hispanica</b>, a flowering plant belonging to the mint family. They are small, oval, grey/white/black seeds. Chia seeds are a source of <b>Omega-3's</b>.Chia seeds are <b>hydrophilic</b>, meaning that they can absorb up to 12x their weight in liquid. Soaking the seeds creates a thick, gluey coating that gives it a gel-like texture."); +Ingredient chia_seeds = create_ingredient("chia seeds", "Chia seeds are the edible seeds of <b>Salvia hispanica</b>, a flowering plant belonging to the mint family. They are small, oval, grey/white/black seeds. Chia seeds are a source of <b>Omega-3's</b>.Chia seeds are <b>hydrophilic</b>, meaning that they can absorb up to 12x their weight in liquid. Soaking the seeds creates a thick, gluey coating that gives it a gel-like texture.<br /><br />"); -Ingredient nagaimo = create_ingredient("nagaimo", "Nagaimo is a Chinese yam, the only species that can be consumed raw. It has a bland flavor, and is primarily consumed due to the resulting <b>mucilaginous</b> texture when sliced or grated.When preparing nagaimo for consumption, gloves should be used because it can cause skin irritation. Nagaimo should be peeled and brieftly soaked in a vinegar-water solution to neutralize the <b>oxalate crystals</b> found in their skin, then, it can be cut into slices or grated. Grated nagaimo develops a <b>mucilaginous</b> texture, which can be added to dips for soba noodles, or to <a href='okonomiyaki.html'>okonomiyaki</a>."); +Ingredient potatoes = create_ingredient("potatoes", "The potato is a root vegetable, of the plant <b>solanum tuberosum</b>. They are a staple throughout the world, and the 4th largest food crop after corn, wheat and rice. After years of selective breeding, there are now 1,000 different types of potatoes. Potatoes should not be eaten raw, because we don't digest it well."); -Ingredient carrots = create_ingredient("carrots", "Carrots contain high quantities of vitamin A.Carrot cultivars can be grouped into two broad classes, <b>eastern carrots</b> (purple, yellow, often with branched roots) and <b>western carrots</b> (with an abundance of carotene). Carrots benefit from companion plants. Onions, leeks and chives for instance help repel the carrot root fly. Carrots can be stored for many months in a refrigerator, or in moist, cool places in winter. For long-term storage, carrots can be stashed in a bucket between layers of sand. A storage temperature of 0 to 5 °C is ideal."); +Ingredient nagaimo = create_child_ingredient(&potatoes, "nagaimo", "Nagaimo is a Chinese yam, the only species that can be consumed raw. It has a bland flavor, and is primarily consumed due to the resulting <b>mucilaginous</b> texture when sliced or grated.When preparing nagaimo for consumption, gloves should be used because it can cause skin irritation. Nagaimo should be peeled and brieftly soaked in a vinegar-water solution to neutralize the <b>oxalate crystals</b> found in their skin, then, it can be cut into slices or grated. Grated nagaimo develops a <b>mucilaginous</b> texture, which can be added to dips for soba noodles, or to <a href='okonomiyaki.html'>okonomiyaki</a>.<br /><br />"); -Ingredient small_heirloom_tomatoes = create_ingredient("small heirloom tomatoes", "Missing description."); +Ingredient carrots = create_ingredient("carrots", "Carrots contain high quantities of vitamin A.Carrot cultivars can be grouped into two broad classes, <b>eastern carrots</b> (purple, yellow, often with branched roots) and <b>western carrots</b> (with an abundance of carotene). Carrots benefit from companion plants. Onions, leeks and chives for instance help repel the carrot root fly. Carrots can be stored for many months in a refrigerator, or in moist, cool places in winter. For long-term storage, carrots can be stashed in a bucket between layers of sand. A storage temperature of 0 to 5 °C is ideal.<br /><br />"); -Ingredient heirloom_carrots = create_ingredient("heirloom carrots", "Heirloom carrots are a root vegetable, that comes in a variety of colors (orange, purple, black, red white and yellow). It is cultivated for its leaves and taproot. Carrots contain high quantities of vitamin A.Heirloom carrots are an old cultivar grown and maintained by a minority of gardeners and farmers. They were commonly grown during earlier periods in human history, but are not used in modern large-scale agriculture. Many heirloom carrots kept their traits through <b>open pollination</b>, plants pollinated naturally by birds, insects, wind, or human hands."); +Ingredient small_heirloom_tomatoes = create_ingredient("small heirloom tomatoes", "Missing description."); -Ingredient ginger = create_ingredient("ginger", "Ginger root is the rhizome of the Ginger plant, used to flavor dishes. It is pickled, steeped (for hot beverages), candied, brewed into beer, powdered and used in an incredible range of recipes.Dried and powdered ginger can be used as a substitute for fresh at a ratio of 6 to 1, but the flavor differs greatly. Ginger root should be peeled before consumption, and can be refrigerated or frozen for long-term storage."); +Ingredient heirloom_carrots = create_child_ingredient(&carrots, "heirloom carrots", "Heirloom carrots are a root vegetable, that comes in a variety of colors (orange, purple, black, red white and yellow). It is cultivated for its leaves and taproot. Carrots contain high quantities of vitamin A.Heirloom carrots are an old cultivar grown and maintained by a minority of gardeners and farmers. They were commonly grown during earlier periods in human history, but are not used in modern large-scale agriculture. Many heirloom carrots kept their traits through <b>open pollination</b>, plants pollinated naturally by birds, insects, wind, or human hands.<br /><br />"); -Ingredient ginger_root = create_ingredient("ginger root", "Ginger root is the rhizome of the Ginger plant, used to flavor dishes. It is pickled, steeped (for hot beverages), candied, brewed into beer, powdered and used in an incredible range of recipes.Dried and powdered ginger can be used as a substitute for fresh at a ratio of 6 to 1, but the flavor differs greatly. Ginger root should be peeled before consumption, and can be refrigerated or frozen for long-term storage."); +Ingredient ginger = create_ingredient("ginger", "Ginger root is the rhizome of the Ginger plant, used to flavor dishes. It is pickled, steeped (for hot beverages), candied, brewed into beer, powdered and used in an incredible range of recipes.Dried and powdered ginger can be used as a substitute for fresh at a ratio of 6 to 1, but the flavor differs greatly. Ginger root should be peeled before consumption, and can be refrigerated or frozen for long-term storage.<br /><br />"); -Ingredient potatoes = create_ingredient("potatoes", "The potato is a root vegetable, of the plant <b>solanum tuberosum</b>. They are a staple throughout the world, and the 4th largest food crop after corn, wheat and rice. After years of selective breeding, there are now 1,000 different types of potatoes. Potatoes should not be eaten raw, because we don't digest it well."); +Ingredient ginger_root = create_child_ingredient(&ginger, "ginger root", "Ginger root is the rhizome of the Ginger plant, used to flavor dishes. It is pickled, steeped (for hot beverages), candied, brewed into beer, powdered and used in an incredible range of recipes.Dried and powdered ginger can be used as a substitute for fresh at a ratio of 6 to 1, but the flavor differs greatly. Ginger root should be peeled before consumption, and can be refrigerated or frozen for long-term storage.<br /><br />"); -Ingredient russet_potatoes = create_ingredient("russet potatoes", "Russet potatoes are large with a dark brown skin. Their flesh is white, dry and mealy. Russet potatoes are a good source of <b>vitamin C</b> and <b>iron</b>.Russet potatoes can be baked, mashed, and are often made into fries. Russet potatoes keep for up to a month if stored in a cool, dry and dark place."); +Ingredient russet_potatoes = create_child_ingredient(&potatoes, "russet potatoes", "Russet potatoes are large with a dark brown skin. Their flesh is white, dry and mealy. Russet potatoes are a good source of <b>vitamin C</b> and <b>iron</b>.Russet potatoes can be baked, mashed, and are often made into fries. Russet potatoes keep for up to a month if stored in a cool, dry and dark place.<br /><br />"); -Ingredient sweet_potatoes = create_ingredient("sweet potatoes", "Sweet potatoes are big, starchy, sweet-tasting, root vegetables. They come in a variety of colors, with their skin ranging from yellow, orange, brown, red purple and beige. The flesh ranges from beinge through white, red, purple, yellow, orange and violet. Light-skinned sweet potatoes have flesh that is firm, while orange-fleshed varieties are softer. Sweet potatoes are a good source of <b>vitamin A</b>, <b>vitamin C</b> and <b>iron</b>.Sweet potatoes are used in both sweet and savory recipes, they can be served cooked, mashed, they can also be baked, roasted, steamed, simmered or fried. Sweet potatoes keep well if stored loose in a cool dry place, away from direct sunlight. Their leaves are edible and can be prepared like <a href='spinach.html'>spinach</a> or turnip greens."); +Ingredient sweet_potatoes = create_child_ingredient(&potatoes, "sweet potatoes", "Sweet potatoes are big, starchy, sweet-tasting, root vegetables. They come in a variety of colors, with their skin ranging from yellow, orange, brown, red purple and beige. The flesh ranges from beinge through white, red, purple, yellow, orange and violet. Light-skinned sweet potatoes have flesh that is firm, while orange-fleshed varieties are softer. Sweet potatoes are a good source of <b>vitamin A</b>, <b>vitamin C</b> and <b>iron</b>.Sweet potatoes are used in both sweet and savory recipes, they can be served cooked, mashed, they can also be baked, roasted, steamed, simmered or fried. Sweet potatoes keep well if stored loose in a cool dry place, away from direct sunlight. Their leaves are edible and can be prepared like <a href='spinach.html'>spinach</a> or turnip greens.<br /><br />"); -Ingredient beets = create_ingredient("beets", "Beets, or <b>beetroots</b>, are the taproot portion of the beet plant. There are many cultivated varieties, like red beets, golden beats, table beet etc.Beetroot is used as a red food colorant in desserts, candies and a variety of other <a href='raisin_beet_bread.html'>baked goods</a>, <a href='borscht_with_tofu_sour_cream.html'>soups</a> and desserts, it's also used to make <a href='roasted_beet_lentils.html'>sauces</a>. Don't be alarmed, red beetroot juice will make your stools and urine red for a day."); +Ingredient beets = create_ingredient("beets", "Beets, or <b>beetroots</b>, are the taproot portion of the beet plant. There are many cultivated varieties, like red beets, golden beats, table beet etc.Beetroot is used as a red food colorant in desserts, candies and a variety of other <a href='raisin_beet_bread.html'>baked goods</a>, <a href='borscht_with_tofu_sour_cream.html'>soups</a> and desserts, it's also used to make <a href='roasted_beet_lentils.html'>sauces</a>. Don't be alarmed, red beetroot juice will make your stools and urine red for a day.<br /><br />"); -Ingredient golden_beets = create_ingredient("golden beets", "Golden or yellow beets, or <b>beetroots</b>, are the taproot portion of the beet plant and have a golden/yellow fleshy interior. This cultivar is sweeter and milder than their red counterparts.Golden beets keep in the refrigerator up to two weeks, but the beet tops should be eaten shortly after harvest."); +Ingredient golden_beets = create_child_ingredient(&beets, "golden beets", "Golden or yellow beets, or <b>beetroots</b>, are the taproot portion of the beet plant and have a golden/yellow fleshy interior. This cultivar is sweeter and milder than their red counterparts.Golden beets keep in the refrigerator up to two weeks, but the beet tops should be eaten shortly after harvest.<br /><br />"); -Ingredient red_beets = create_ingredient("red beets", "Red beets, or <b>beetroots</b>, are the taproot portion of the beet plant and have a red fleshy interior. Underneath the surface, the flesh is a deep crimson and is dense, aqueous, and crunchy. When cooked, Red beets develop a tender, soft texture with a mildly sweet, earthy flavor. The beet plant also grows leafy stalks that are edible and have a taste similar to swiss chard.It is consumed raw in salads, they can also be roasted, steamed, fried and boiled. Beetroot is used as a red food colorant in desserts, candies and a variety of other <a href='raisin_beet_bread.html'>baked goods</a>, <a href='borscht_with_tofu_sour_cream.html'>soups</a> and desserts, it's also used to make <a href='roasted_beet_lentils.html'>sauces</a> and <a href='uzumaki_hummus_bites.html'>dips</a>. Don't be alarmed, beetroot juice will make your stools and urine red for a day."); +Ingredient red_beets = create_child_ingredient(&beets, "red beets", "Red beets, or <b>beetroots</b>, are the taproot portion of the beet plant and have a red fleshy interior. Underneath the surface, the flesh is a deep crimson and is dense, aqueous, and crunchy. When cooked, Red beets develop a tender, soft texture with a mildly sweet, earthy flavor. The beet plant also grows leafy stalks that are edible and have a taste similar to swiss chard.It is consumed raw in salads, they can also be roasted, steamed, fried and boiled. Beetroot is used as a red food colorant in desserts, candies and a variety of other <a href='raisin_beet_bread.html'>baked goods</a>, <a href='borscht_with_tofu_sour_cream.html'>soups</a> and desserts, it's also used to make <a href='roasted_beet_lentils.html'>sauces</a> and <a href='uzumaki_hummus_bites.html'>dips</a>. Don't be alarmed, beetroot juice will make your stools and urine red for a day.<br /><br />"); Ingredient cassava = create_ingredient("cassava", "Cassava"); -Ingredient garlic = create_ingredient("garlic", "Garlic bulbs range from medium to large, consisting of gloves encased in individual wrappers. It has a mild allium scent and taste. Crushing or pressing the cloves releases enzyme compounds that produce a sulfur-based molecule called <b>acilin</b>, which is responsible for giving garlic its pungent aroma and taste.Garlic can be consumed both raw or cooked, with raw having a stronger flavor. Garlic pairs well with acidic fruits and vegetables like <a href='tomatoes.html'>tomatoes</a> and citrus, herbs like <a href='basil.html'>basil</a>, <a href='thyme.html'>thyme</a> and <a href='oregano.html'>oregano</a> and vegetables like broccoli, <a href='brussel_sprouts.html'>brussel sprouts</a>, <a href='snap_peas.html'>snap peas</a> and <a href='artichokes.html'>artichokes</a>."); +Ingredient garlic = create_ingredient("garlic", "Garlic bulbs range from medium to large, consisting of gloves encased in individual wrappers. It has a mild allium scent and taste. Crushing or pressing the cloves releases enzyme compounds that produce a sulfur-based molecule called <b>acilin</b>, which is responsible for giving garlic its pungent aroma and taste.Garlic can be consumed both raw or cooked, with raw having a stronger flavor. Garlic pairs well with acidic fruits and vegetables like <a href='tomatoes.html'>tomatoes</a> and citrus, herbs like <a href='basil.html'>basil</a>, <a href='thyme.html'>thyme</a> and <a href='oregano.html'>oregano</a> and vegetables like broccoli, <a href='brussel_sprouts.html'>brussel sprouts</a>, <a href='snap_peas.html'>snap peas</a> and <a href='artichokes.html'>artichokes</a>.<br /><br />"); -Ingredient garlic_powder = create_ingredient("garlic powder", "Garlic powder is dehydrated garlic. It is used in recipes where moisture content is key. 1/8 of a teaspoon of garlic powder equals one fresh <a href='garlic.html'>garlic</a> clove.To make garlic powder, the cloves are peeled and sliced, and then heated to a temperature of between 150-160C to remove all moisture. The dehydrated garlic is then sliced, chopped and ground into a powder."); +Ingredient garlic_powder = create_child_ingredient(&garlic, "garlic powder", "Garlic powder is dehydrated garlic. It is used in recipes where moisture content is key. 1/8 of a teaspoon of garlic powder equals one fresh <a href='garlic.html'>garlic</a> clove.To make garlic powder, the cloves are peeled and sliced, and then heated to a temperature of between 150-160C to remove all moisture. The dehydrated garlic is then sliced, chopped and ground into a powder.<br /><br />"); Ingredient onion = create_ingredient("onion", "Missing description."); -Ingredient red_onion = create_ingredient("red onion", "Red onions have a purplish-red skin, and flesh that is white and tinged with red. They are crunchy, pungent, sweet and a bit spicy when raw. When cooked, they become milder. They contain <b>vitamin C</b>, <b>iron</b> and <b>calcium</b>.Red onions can be grilled, roasted, braised, caramelized and pickled. The bulbs will keep for 1-2 months when stored in a cool, dark and dry place with good air circulation."); +Ingredient red_onion = create_child_ingredient(&onion, "red onion", "Red onions have a purplish-red skin, and flesh that is white and tinged with red. They are crunchy, pungent, sweet and a bit spicy when raw. When cooked, they become milder. They contain <b>vitamin C</b>, <b>iron</b> and <b>calcium</b>.Red onions can be grilled, roasted, braised, caramelized and pickled. The bulbs will keep for 1-2 months when stored in a cool, dark and dry place with good air circulation.<br /><br />"); -Ingredient onion_powder = create_ingredient("onion powder", "Missing description."); +Ingredient onion_powder = create_child_ingredient(&onion, "onion powder", "Missing description."); -Ingredient yellow_onion = create_ingredient("yellow onion", "Yellow onions are encased in a light-yellow to copper papery skin, while the inner flesh is white. They are crunchy, with a pungent flavor when raw. If cooked, yellow onions develop a milder flavor, that is both nutty and sweet. Yellow onions are a good source of <b>vitamin C</b>.Yellow onions can be sauteed, braised, caramelized, grilled or dry-roasted. They are used to add flavor to broths, soups and stews. The bulbs will keep for 1-2 months if stored in a cool, dry and dark place with good air circulation."); +Ingredient yellow_onion = create_child_ingredient(&onion, "yellow onion", "Yellow onions are encased in a light-yellow to copper papery skin, while the inner flesh is white. They are crunchy, with a pungent flavor when raw. If cooked, yellow onions develop a milder flavor, that is both nutty and sweet. Yellow onions are a good source of <b>vitamin C</b>.Yellow onions can be sauteed, braised, caramelized, grilled or dry-roasted. They are used to add flavor to broths, soups and stews. The bulbs will keep for 1-2 months if stored in a cool, dry and dark place with good air circulation.<br /><br />"); -Ingredient cucumber = create_ingredient("cucumber", "There are many varieties of cucumbers, but the 3 main are: slicing, pickling and seedless. Cucumbers are 95 percent water, making them a low-energy food."); +Ingredient cucumber = create_ingredient("cucumber", "There are many varieties of cucumbers, but the 3 main are: slicing, pickling and seedless. Cucumbers are 95% water, making them a low-energy food."); -Ingredient persian_cucumbers = create_ingredient("persian cucumbers", "Persian cucumbers are of the Burpless variety, meaning they are easy to digest and have a pleasant taste. They are crisp, sweet and void of developed seeds. It is harvested when 4-6\" in length, when they are at peak sweetness. They absorb flavors quickly, unlike garden cucumbers.They are sometimes marketed as seedless or burpless, because the seeds and skin of other varieties of cucumbers are said to give some people <a href='https://www.livestrong.com/article/471722-why-do-cucumbers-upset-my-digestion/' target='_blank'>gas</a>."); +Ingredient persian_cucumbers = create_child_ingredient(&cucumber, "persian cucumbers", "Persian cucumbers are of the Burpless variety, meaning they are easy to digest and have a pleasant taste. They are crisp, sweet and void of developed seeds. It is harvested when 4-6\" in length, when they are at peak sweetness. They absorb flavors quickly, unlike garden cucumbers.They are sometimes marketed as seedless or burpless, because the seeds and skin of other varieties of cucumbers are said to give some people <a href='https://www.livestrong.com/article/471722-why-do-cucumbers-upset-my-digestion/' target='_blank'>gas</a>.<br /><br />"); Ingredient eggplant = create_ingredient("eggplant", "Missing description."); -Ingredient zucchini = create_ingredient("zucchini", "Zucchini squash, or <b>courgette</b>, are summer squashes. They can be dark or light green. Botanically they are treated as vegetables, but they are fruits. Zucchini squah can be harvested when young, or later once it has grown to 6-8\" long. Immature squashes have better flavor, with a spongy yet firm texture. Zucchini are a low energy food, being 94 percent water, and are a source of <b>vitamin A</b>, <b>vitamin C</b> and <b>iron</b>.Zucchinis have a mild flavor which makes them ideal in both sweet and savory recipes. They can be grated, steamed, sauteed, battered, fried, baked, julienned for pasta, eaten raw etc. Zucchini will keep for 1-2 weeks if kept dry and refrigerated."); +Ingredient zucchini = create_ingredient("zucchini", "Zucchini squash, or <b>courgette</b>, are summer squashes. They can be dark or light green. Botanically they are treated as vegetables, but they are fruits. Zucchini squah can be harvested when young, or later once it has grown to 6-8\" long. Immature squashes have better flavor, with a spongy yet firm texture. Zucchini are a low energy food, being 94% water, and are a source of <b>vitamin A</b>, <b>vitamin C</b> and <b>iron</b>.Zucchinis have a mild flavor which makes them ideal in both sweet and savory recipes. They can be grated, steamed, sauteed, battered, fried, baked, julienned for pasta, eaten raw etc. Zucchini will keep for 1-2 weeks if kept dry and refrigerated.<br /><br />"); -Ingredient chives = create_ingredient("chives", "Chives grow in clusters, with hollow leaves that come to a point. They have a mild onion flavor, which doesn't linger. They are a good source of <b>calcium</b> and <b>iron</b>.Chives are used as a garnish, and as an aromatic herb. In cooking, it is best to add them at the end of the cooking process because they lose their flavor when heated. They have insect-repelling properties that can be ued in gardens to control pests. Chives can be stored in a bag in the refrigerator, if kept dry they will last up to a week."); +Ingredient chives = create_ingredient("chives", "Chives grow in clusters, with hollow leaves that come to a point. They have a mild onion flavor, which doesn't linger. They are a good source of <b>calcium</b> and <b>iron</b>.Chives are used as a garnish, and as an aromatic herb. In cooking, it is best to add them at the end of the cooking process because they lose their flavor when heated. They have insect-repelling properties that can be ued in gardens to control pests. Chives can be stored in a bag in the refrigerator, if kept dry they will last up to a week.<br /><br />"); -Ingredient peppers = create_ingredient("peppers", "Peppers, or the fruit (botanically berries) of the <b>capsicum plants</b>, have a variety of names depending on place and type. The more spicy varieties are commonly called <b>chili peppers</b>. The large, mild form is called bell pepper, or by color <a href='green_pepper.html'>green pepper</a>, green bell pepper, <a href='red_bell_pepper.html'>red bell pepper</a>.The misleading name 'pepper' was given by Christopher Columbus when he brought back a plant to Europe. The word pepper was given to all spices in Europe that had a hot and pungent taste."); +Ingredient peppers = create_ingredient("peppers", "Peppers, or the fruit (botanically berries) of the <b>capsicum plants</b>, have a variety of names depending on place and type. The more spicy varieties are commonly called <b>chili peppers</b>. The large, mild form is called bell pepper, or by color <a href='green_pepper.html'>green pepper</a>, green bell pepper, <a href='red_bell_pepper.html'>red bell pepper</a>.The misleading name 'pepper' was given by Christopher Columbus when he brought back a plant to Europe. The word pepper was given to all spices in Europe that had a hot and pungent taste.<br /><br />"); -Ingredient green_bell_peppers = create_ingredient("green bell peppers", "Green bell peppers, or <b>capsicum</b>, are medium to large in size, with a firm skin that is crisp and juicy. They are an aromatic 'green', almost biter flavor. They are a good source of <b>vitamin C</b> and <b>vitamin A</b>.They can be served raw, or baked, sauteed, roasted and grilled. Green bell peppers keep 1-2 weeks when stored unwashed in the refrigerator."); +Ingredient green_bell_peppers = create_child_ingredient(&peppers, "green bell peppers", "Green bell peppers, or <b>capsicum</b>, are medium to large in size, with a firm skin that is crisp and juicy. They are an aromatic 'green', almost biter flavor. They are a good source of <b>vitamin C</b> and <b>vitamin A</b>.They can be served raw, or baked, sauteed, roasted and grilled. Green bell peppers keep 1-2 weeks when stored unwashed in the refrigerator.<br /><br />"); -Ingredient red_bell_peppers = create_ingredient("red bell peppers", "Red bell peppers, or <b>capsicum</b>, are medium to large in size, with a firm skin that is crisp and juicy. They have a sweet and fruity flavor. Red bell peppers are simply ripened <a href='green_bell_peppers.html'>green bell peppers</a>, and are a good source of <b>vitamin C</b> and <b>vitamin A</b>.They can be served raw, or baked, sauteed, roasted and grilled. Red bell peppers keep 1-2 weeks when stored unwashed in the refrigerator."); +Ingredient red_bell_peppers = create_child_ingredient(&peppers, "red bell peppers", "Red bell peppers, or <b>capsicum</b>, are medium to large in size, with a firm skin that is crisp and juicy. They have a sweet and fruity flavor. Red bell peppers are simply ripened <a href='green_bell_peppers.html'>green bell peppers</a>, and are a good source of <b>vitamin C</b> and <b>vitamin A</b>.They can be served raw, or baked, sauteed, roasted and grilled. Red bell peppers keep 1-2 weeks when stored unwashed in the refrigerator.<br /><br />"); -Ingredient yellow_bell_peppers = create_ingredient("yellow bell peppers", "Yellow bell peppers, or <b>capsicum</b>, are medium to large in size. The smooth skin is firm, glossy, and pale green when young, transforming to bright yellow with age. They have a mild, sweet flavor, and are a good source of <b>vitamin C</b>, <b>iron</b>, <b>calcium</b> and <b>vitamin A</b>.They can be served raw, or baked, sauteed, roasted and grilled. Red bell peppers keep 1-2 weeks when stored unwashed in the refrigerator."); +Ingredient yellow_bell_peppers = create_child_ingredient(&peppers, "yellow bell peppers", "Yellow bell peppers, or <b>capsicum</b>, are medium to large in size. The smooth skin is firm, glossy, and pale green when young, transforming to bright yellow with age. They have a mild, sweet flavor, and are a good source of <b>vitamin C</b>, <b>iron</b>, <b>calcium</b> and <b>vitamin A</b>.They can be served raw, or baked, sauteed, roasted and grilled. Red bell peppers keep 1-2 weeks when stored unwashed in the refrigerator.<br /><br />"); Ingredient tomato = create_ingredient("tomato", "Missing description."); -Ingredient tomato_paste = create_ingredient("tomato paste", "Missing description."); +Ingredient tomato_paste = create_child_ingredient(&tomato, "tomato paste", "Missing description."); -Ingredient avocado = create_ingredient("avocado", "Avocados are botanically 'berries', they may be pear-shaped, round or egg-shaped. They are a good source of <b>vitamin C</b>, 75 percent of its energy comes from fat. Its flesh is thick, yellow/green and oily. It has a rich, creamy flavor with a nutty, yet clean, grassy finish.Avocado can be pureed, spooned out its shell and eaten as is (when ripe), or added to salads. The flesh is prone to enzymatic browning, quickly turning brown after exposure to air. To prevent browning, add lime or lemon juice to avocados after peeling."); +Ingredient avocado = create_ingredient("avocado", "Avocados are botanically 'berries', they may be pear-shaped, round or egg-shaped. They are a good source of <b>vitamin C</b>, 75% of its energy comes from fat. Its flesh is thick, yellow/green and oily. It has a rich, creamy flavor with a nutty, yet clean, grassy finish.Avocado can be pureed, spooned out its shell and eaten as is (when ripe), or added to salads. The flesh is prone to enzymatic browning, quickly turning brown after exposure to air. To prevent browning, add lime or lemon juice to avocados after peeling.<br /><br />"); -Ingredient pumpkin = create_ingredient("pumpkin", "The darker the skin of the pumpkin, the higher the beta-carotene content."); +Ingredient olives = create_ingredient("olives", "Olives come from <b>Olea Europea</b>, a small tree. Olives are the fruit of the olive tree. 90% of harvested olives are turned into <a href='olive_oil.html'>olive oil</a>, while the rest are sold as table olives.Table olives are classified into 3 groups: <b>green olives</b>, <b>turning color olives (semi-ripe)</b> and <b>ripe olives</b>.<br /><br />"); -Ingredient olives = create_ingredient("olives", "Olives come from <b>Olea Europea</b>, a small tree. Olives are the fruit of the olive tree. 90 percent of harvested olives are turned into <a href='olive_oil.html'>olive oil</a>, while the rest are sold as table olives.Table olives are classified into 3 groups: <b>green olives</b>, <b>turning color olives (semi-ripe)</b> and <b>ripe olives</b>."); +Ingredient green_olives = create_child_ingredient(&olives, "green olives", "Green olives are picked before the olive ripening cycle has begun, they are either green or yellow."); -Ingredient green_olives = create_ingredient("green olives", "Green olives are picked before the olive ripening cycle has begun, they are either green or yellow."); +Ingredient black_olives = create_child_ingredient(&olives, "black olives", "Ripe olives, or black olives, are picked at full maturity and come in shades of purple to brown to black. Most black olives sold in stores though are not ripe, they're green olives which have been chemically treated so that they are black."); -Ingredient black_olives = create_ingredient("black olives", "Ripe olives, or black olives, are picked at full maturity and come in shades of purple to brown to black. Most black olives sold in stores though are not ripe, they're green olives which have been chemically treated so that they are black."); - -Ingredient pimento_olives = create_ingredient("pimento olives", "Pimento olives are pitted green olives with a <b>pimento pepper</b> stuffed inside, all preserved in oil. Pimento peppers are mild in taste."); +Ingredient pimento_olives = create_child_ingredient(&olives, "pimento olives", "Pimento olives are pitted green olives with a <b>pimento pepper</b> stuffed inside, all preserved in oil. Pimento peppers are mild in taste."); Ingredient palm = create_ingredient("palm", "Missing description."); -Ingredient acorn_squash = create_ingredient("acorn squash", "Acorn squash is a winter squash, with skin a ridged outer skin and a sweet, yellow-orange flesh. Acorn squash comes in a variety of colors, like green, white and gold. They contain small amounts of <b>vitamin C</b>.Acorn squash can be baked, sauteed or steamed. When cooked, the flesh becomes tender and offers a mildly sweet and nutty flavor with a dry-ish texture. It is often used in savory recipes, stuffed with rice or vegetables. Adding <a href='maple_syrup.html'>maple syrup</a> as a glaze when baking enhances the flavor of the squash. The seeds can be eaten, but must be roasted first. Acorn squash keep up to 1 month when stored uncut, in a cold and dry place."); +Ingredient acorn_squash = create_ingredient("acorn squash", "Acorn squash is a winter squash, with skin a ridged outer skin and a sweet, yellow-orange flesh. Acorn squash comes in a variety of colors, like green, white and gold. They contain small amounts of <b>vitamin C</b>.Acorn squash can be baked, sauteed or steamed. When cooked, the flesh becomes tender and offers a mildly sweet and nutty flavor with a dry-ish texture. It is often used in savory recipes, stuffed with rice or vegetables. Adding <a href='maple_syrup.html'>maple syrup</a> as a glaze when baking enhances the flavor of the squash. The seeds can be eaten, but must be roasted first. Acorn squash keep up to 1 month when stored uncut, in a cold and dry place.<br /><br />"); Ingredient artichokes = create_ingredient("artichokes", "Missing description."); @@ -186,225 +185,227 @@ Ingredient asparagus = create_ingredient("asparagus", "Missing description."); Ingredient bamboo_shoots = create_ingredient("bamboo shoots", "Missing description."); -Ingredient breadfruit = create_ingredient("breadfruit", "Breadfruit are prickly with yellow-green skin. Their appearances depends on the variety and growing conditions. When immature, the fruit is hard, and the flesh is starchy and a bit fibrous. Ripe breadfruit becomes soft, with the skin turning a yellow color, it also develops a creamy texture with a sweet aroma. Breadfruit is a high-energy food, containing all 9 EAA's. It's rich in <b>protein</b>, and contains <b>vitamin C</b>, <b>calcium</b> and <b>iron</b>.Breadfruit trees can grow more than 80 feet tall, they are one of the highest yielding food plants with a single tree producing up to 450 pounds of fruit per year. Because of it's high-yield and energy content, it has the potential to address world hunger. Breadfruit is a delicious substitute for any starchy root crop, vegetable, <a href='#breadfruit_pasta.html'>pasta</a>, <a href='#breadfruit_gnocchi.html'>potato</a>, or rice."); +Ingredient breadfruit = create_ingredient("breadfruit", "Breadfruit are prickly with yellow-green skin. Their appearances depends on the variety and growing conditions. When immature, the fruit is hard, and the flesh is starchy and a bit fibrous. Ripe breadfruit becomes soft, with the skin turning a yellow color, it also develops a creamy texture with a sweet aroma. Breadfruit is a high-energy food, containing all 9 EAA's. It's rich in <b>protein</b>, and contains <b>vitamin C</b>, <b>calcium</b> and <b>iron</b>.Breadfruit trees can grow more than 80 feet tall, they are one of the highest yielding food plants with a single tree producing up to 450 pounds of fruit per year. Because of it's high-yield and energy content, it has the potential to address world hunger. Breadfruit is a delicious substitute for any starchy root crop, vegetable, <a href='#breadfruit_pasta.html'>pasta</a>, <a href='#breadfruit_gnocchi.html'>potato</a>, or rice.<br /><br />"); -Ingredient scallions = create_ingredient("scallions", "Scallions, or green onions, is a term used for multiple varieties that were harvested when young before a bulb appears. They are crisp and juicy and have a milder taste than most onions. Scallions are a source of <b>vitamin C</b>, <b>calcium</b> and <b>vitamin A</b>.Scallions can be stir-fried, sauteed, roasted and grilled, but they can also be consumed raw, added as a topping on a variety of dishes. The leaves will keep up to 5 days when wrapped and stored in the refrigerator."); +Ingredient scallions = create_ingredient("scallions", "Scallions, or green onions, is a term used for multiple varieties that were harvested when young before a bulb appears. They are crisp and juicy and have a milder taste than most onions. Scallions are a source of <b>vitamin C</b>, <b>calcium</b> and <b>vitamin A</b>.Scallions can be stir-fried, sauteed, roasted and grilled, but they can also be consumed raw, added as a topping on a variety of dishes. The leaves will keep up to 5 days when wrapped and stored in the refrigerator.<br /><br />"); -Ingredient spinach = create_ingredient("spinach", "Spinach, or <b>Spinacia oleracea</b>, is a leafy green with a subtle green flavor and iron/metallic notes. There are 3 main varieties: <b>savoy</b> (primary commercial type), <b>semi savoy</b> (partially crinkled leaves, often processed)and <b>flat-leafed</b> (mainly processed). Spinach is a rich source of <b>beta-carotene</b>, and is a good source of <b>vitamin A</b>, <b>calcium</b>, <b>vitamin C</b> and <b>iron</b>.Raw spinach contains high levels of <a href='https://veganhealth.org/oxalate/' target='_blank'>oxalates</a>, which block absorption of calcium and iron in the stomach and small intestine. Spinach cooked in several changes of water has much lower levels, and can be <a href='https://www.nof.org/patients/treatment/nutrition/' target='_blank'>digested more easily</a>. Spinach can be baked into breads of cakes, sauteed etc. Spinach can keep 1-2 weeks if dry and kept in a cool place."); +Ingredient spinach = create_ingredient("spinach", "Spinach, or <b>Spinacia oleracea</b>, is a leafy green with a subtle green flavor and iron/metallic notes. There are 3 main varieties: <b>savoy</b> (primary commercial type), <b>semi savoy</b> (partially crinkled leaves, often processed)and <b>flat-leafed</b> (mainly processed). Spinach is a rich source of <b>beta-carotene</b>, and is a good source of <b>vitamin A</b>, <b>calcium</b>, <b>vitamin C</b> and <b>iron</b>.Raw spinach contains high levels of <a href='https://veganhealth.org/oxalate/' target='_blank'>oxalates</a>, which block absorption of calcium and iron in the stomach and small intestine. Spinach cooked in several changes of water has much lower levels, and can be <a href='https://www.nof.org/patients/treatment/nutrition/' target='_blank'>digested more easily</a>. Spinach can be baked into breads of cakes, sauteed etc. Spinach can keep 1-2 weeks if dry and kept in a cool place.<br /><br />"); -Ingredient alfalfa_sprouts = create_ingredient("alfalfa sprouts", "Alfalfa sprouts, or <b>lucerne</b>, are soaked in water and allowed to <a href='https://web.archive.org/web/20130515011922/http://coolshinystuff.com/how-to-sprout-alfalfa' target='_blank'>sprout</a> over several days. Sprouts have a crunchy texture with a sweet and nutty taste. They are a source of <b>vitamin C</b> and <b>zinc</b>.Alfalfa sprouts can be added to sandwiches, salads, or sprinkled atop dishes. Sprouting alfalfa usually takes three to four days with one tablespoon of seed yielding up to three full cups of sprouts. If you want to sprout seeds, make sure they are fresh and washed thoroughly with water before use. The FDA has made <a href='https://www.regulations.gov/docket?D=FDA-2018-D-4534' target='_blank'>recommendations</a> for both growers and consumers on how to avoid contamination."); +Ingredient alfalfa_sprouts = create_ingredient("alfalfa sprouts", "Alfalfa sprouts, or <b>lucerne</b>, are soaked in water and allowed to <a href='https://web.archive.org/web/20130515011922/http://coolshinystuff.com/how-to-sprout-alfalfa' target='_blank'>sprout</a> over several days. Sprouts have a crunchy texture with a sweet and nutty taste. They are a source of <b>vitamin C</b> and <b>zinc</b>.Alfalfa sprouts can be added to sandwiches, salads, or sprinkled atop dishes. Sprouting alfalfa usually takes three to four days with one tablespoon of seed yielding up to three full cups of sprouts. If you want to sprout seeds, make sure they are fresh and washed thoroughly with water before use. The FDA has made <a href='https://www.regulations.gov/docket?D=FDA-2018-D-4534' target='_blank'>recommendations</a> for both growers and consumers on how to avoid contamination.<br /><br />"); -Ingredient dried_raisins = create_ingredient("dried raisins", "Raisins are large, dried, dark-colored grapes, not to be confused with <b>sultanas</b> (golden-colored)and <b>currants</b> (small black seedless grapes). They contain some <b>vitamin C</b>, but less than fresh grapes.Raisins are dried in 3 steps, the first is pre-treatment. Raisins are dipped in a dry emulsion 'cold dip' that increases the rate of water loss by 3x. A faster water removal lowers browning and produces better raisins. Step two, is drying, where the raisins are either sun-dried, shade-dried or dried mechanically. Step three, involves cleaning the raisins and removing all foreign objects for consumption. This 'washing' process causes rehydration, which means that another drying step is require to remove all moisture.<br /><br />Important note: Raisins are toxic to dogs."); +Ingredient dried_raisins = create_ingredient("dried raisins", "Raisins are large, dried, dark-colored grapes, not to be confused with <b>sultanas</b> (golden-colored)and <b>currants</b> (small black seedless grapes). They contain some <b>vitamin C</b>, but less than fresh grapes.Raisins are dried in 3 steps, the first is pre-treatment. Raisins are dipped in a dry emulsion 'cold dip' that increases the rate of water loss by 3x. A faster water removal lowers browning and produces better raisins. Step two, is drying, where the raisins are either sun-dried, shade-dried or dried mechanically. Step three, involves cleaning the raisins and removing all foreign objects for consumption. This 'washing' process causes rehydration, which means that another drying step is require to remove all moisture.<br /><br />Important note: Raisins are toxic to dogs.<br /><br />"); -Ingredient blackberries = create_ingredient("blackberries", "Blackberry is used as a generic term to refer to a wide range of bush berries ( loganberries, boysenberries, marionberries and ollalieberries), the fruit is a member of the <b>Rosaceae</b> family and of the <b>Rubus</b> genus. They are sweet, slightly tart and juicy. Blackberries are a good source of <b>vitamin A</b>, <b>vitamin C</b>, <b>iron</b> and <b>calcium</b>.Blackberries can be added to both sweet and savory dishes."); +Ingredient blackberries = create_ingredient("blackberries", "Blackberry is used as a generic term to refer to a wide range of bush berries ( loganberries, boysenberries, marionberries and ollalieberries), the fruit is a member of the <b>Rosaceae</b> family and of the <b>Rubus</b> genus. They are sweet, slightly tart and juicy. Blackberries are a good source of <b>vitamin A</b>, <b>vitamin C</b>, <b>iron</b> and <b>calcium</b>.Blackberries can be added to both sweet and savory dishes.<br /><br />"); Ingredient dried_cranberries = create_ingredient("dried cranberries", "Dried cranberries are often coated with a bit of vegetable oil to keep them from sticking to each other. Look in natural food stores to find brands that don't do this."); -Ingredient dried_white_mulberries = create_ingredient("dried white mulberries", "White mulberries are one of many species of mulberries, one whose fruit remains white when ripe. White mulberries are sweet, with a mild flavor. The dried variety can be reconstituted in water. They are a source of <b>vitamin C</b> and <b>iron</b>.Dried mulberries can be reconstituted in water, and can also be used in herbal teas or granolas to add a bit of sweet. It is considered an invasive species in North America. If you want to dry your own mulberries, check out <a href='https://oureverydaylife.com/556453-how-to-dry-mulberries.html' target='_blank'>this tutorial</a>."); +Ingredient dried_white_mulberries = create_ingredient("dried white mulberries", "White mulberries are one of many species of mulberries, one whose fruit remains white when ripe. White mulberries are sweet, with a mild flavor. The dried variety can be reconstituted in water. They are a source of <b>vitamin C</b> and <b>iron</b>.Dried mulberries can be reconstituted in water, and can also be used in herbal teas or granolas to add a bit of sweet. It is considered an invasive species in North America. If you want to dry your own mulberries, check out <a href='https://oureverydaylife.com/556453-how-to-dry-mulberries.html' target='_blank'>this tutorial</a>.<br /><br />"); -Ingredient dry_corn_kernels = create_ingredient("dry corn kernels", "Corn kernels are the fruit of corn, or <b>maize</b>. One ear of corn has roughly 800 kernels and they come in a grand variety of colors: Black, blue-grey, purple, green, white and yellow.Corn kernels have many uses other than food, they're used to produce biofuel and bioplastics."); +Ingredient dry_corn_kernels = create_ingredient("dry corn kernels", "Corn kernels are the fruit of corn, or <b>maize</b>. One ear of corn has roughly 800 kernels and they come in a grand variety of colors: Black, blue-grey, purple, green, white and yellow.Corn kernels have many uses other than food, they're used to produce biofuel and bioplastics.<br /><br />"); -Ingredient pandanus_fruit = create_ingredient("pandanus fruit", "The fruit of the <b>pandanus tectorius</b> tree is widely consumed in the pacific islands, but it goes under other names, like <b>hala</b>, <b>screwpine</b> or <b>pu hala</b>. The fruits are large, and composed of 40-80 wedge-like phalanges (or keys). The fruit changes from green to orange/red as it matures, and can stay on the tree for more than 12 months. The fruit is eaten raw or cooked, and is a source of <b>vitamin A</b>.Pandanus are a source of food, but they're also used to produce material for clothing, basket and weaving and shelters. Pandanus trees are super trees, they can withstand difficult conditions (storms, sea air, drought) and propagate with ease. The phalanges covering the inner core are buoyant, so like coconuts they can be transported for many months by ocean currents while remaining viable."); +Ingredient pandanus_fruit = create_ingredient("pandanus fruit", "The fruit of the <b>pandanus tectorius</b> tree is widely consumed in the pacific islands, but it goes under other names, like <b>hala</b>, <b>screwpine</b> or <b>pu hala</b>. The fruits are large, and composed of 40-80 wedge-like phalanges (or keys). The fruit changes from green to orange/red as it matures, and can stay on the tree for more than 12 months. The fruit is eaten raw or cooked, and is a source of <b>vitamin A</b>.Pandanus are a source of food, but they're also used to produce material for clothing, basket and weaving and shelters. Pandanus trees are super trees, they can withstand difficult conditions (storms, sea air, drought) and propagate with ease. The phalanges covering the inner core are buoyant, so like coconuts they can be transported for many months by ocean currents while remaining viable.<br /><br />"); -Ingredient banana = create_ingredient("banana", "Missing description.They can be used in a variety of ways in recipes, for both desserts and savoury meals. They can be deep fried, baked in their skin, steamed, made into preserves, processed into vinegar etc."); +Ingredient banana = create_ingredient("banana", "Missing description.They can be used in a variety of ways in recipes, for both desserts and savoury meals. They can be deep fried, baked in their skin, steamed, made into preserves, processed into vinegar etc.<br /><br />"); -Ingredient kiwifruit = create_ingredient("kiwifruit", "Kiwifruit is the edible berry of species of <b>woody vines</b> in the genus <b>Actinidia</b>. Kiwifruit have a thin, hair-like skin with a light green or golden flesh. It has a soft texture with a sweet tart flavor. Kiwi fruit is a rich source of <b>vitamin C</b>, and a source of <b>calcium</b> and <b>iron</b>.Kiwifruit is eaten raw, used as a garnish, it is also processed into juices and baked into cakes. The whole fruit is edible, even the skin. To store, refrigerate ripe fruit up to ten days. Refrigerated unripe fruit lasts up to one month."); +Ingredient kiwifruit = create_ingredient("kiwifruit", "Kiwifruit is the edible berry of species of <b>woody vines</b> in the genus <b>Actinidia</b>. Kiwifruit have a thin, hair-like skin with a light green or golden flesh. It has a soft texture with a sweet tart flavor. Kiwi fruit is a rich source of <b>vitamin C</b>, and a source of <b>calcium</b> and <b>iron</b>.Kiwifruit is eaten raw, used as a garnish, it is also processed into juices and baked into cakes. The whole fruit is edible, even the skin. To store, refrigerate ripe fruit up to ten days. Refrigerated unripe fruit lasts up to one month.<br /><br />"); Ingredient apple = create_ingredient("apple", "Missing description."); Ingredient apples = create_ingredient("apples", "Missing description."); -Ingredient lemon = create_ingredient("lemon", "Lemons are a citrus fruit with a distinctive sour taste. They are a rich source of <b>vitamin C</b>.Lemon is sometimes used as a short-term preservative on foods (apples, avocados, bananas) that brown or oxidize after being sliced."); +Ingredient lemon = create_ingredient("lemon", "Lemons are a citrus fruit with a distinctive sour taste. They are a rich source of <b>vitamin C</b>.Lemon is sometimes used as a short-term preservative on foods (apples, avocados, bananas) that brown or oxidize after being sliced.<br /><br />"); -Ingredient lemon_zest = create_ingredient("lemon zest", "The rind of lemons can be grated, and used as 'zest' in baking and many other recipes."); +Ingredient lemon_zest = create_child_ingredient(&lemon, "lemon zest", "The rind of lemons can be grated, and used as 'zest' in baking and many other recipes."); -Ingredient lemon_juice = create_ingredient("lemon juice", "Lemon juice is used in many culinary and cleaning uses."); +Ingredient lemon_juice = create_child_ingredient(&lemon, "lemon juice", "Lemon juice is used in many culinary and cleaning uses."); Ingredient orange = create_ingredient("orange", "In the early 16th century, the orange was considered a luxury item and rich people would grow it in private conservatories called \"orangeries\"."); Ingredient pears = create_ingredient("pears", "Pears are the fruit of the pear tree, a species of genus <b>Pyrus</b>. Most pears are cold-hardy, withstanding temperatures between -25C and -30C in winter. There are many species of pears, ranging in size, shape and color. They will keep up to 3 weeks when stored in the refrigerator and a little over 1 year if frozen. Pears ripen at room temperature. They will ripen faster if placed next to bananas in a fruit bowl."); -Ingredient bartlett_pear = create_ingredient("bartlett pear", "Barlett pears are large, and have a skin that brightens as it ripens, transforming it from a green to a golden yellow tint. They have a cream-colored flesh, that is crunchy and tart when ripe, and a buttery and sweet taste when fully ripe. They are rich in <b>vitamin C</b> and <b>iron</b>.Bartlett pears can be eaten raw, they can be baked, boiled and grilled. Bartlett pears are known as the “canning pear” because they hold their shape and have a distinct flavor and sweetness when preserved."); +Ingredient bartlett_pear = create_child_ingredient(&pears, "bartlett pear", "Barlett pears are large, and have a skin that brightens as it ripens, transforming it from a green to a golden yellow tint. They have a cream-colored flesh, that is crunchy and tart when ripe, and a buttery and sweet taste when fully ripe. They are rich in <b>vitamin C</b> and <b>iron</b>.Bartlett pears can be eaten raw, they can be baked, boiled and grilled. Bartlett pears are known as the “canning pear” because they hold their shape and have a distinct flavor and sweetness when preserved.<br /><br />"); -Ingredient papaya = create_ingredient("papaya", "Papayas, or <b>pawpaw</b>, are the fruit (berries) of the <b>carica papaya</b>. It is one of 22 species of the genus <b>Carica</b>. There are two main kinds: Red papayas and yellow papayas. Even when unripe, these two varieties can be grated and eaten and are known as 'green papayas'. Papayas are a rich source of <b>vitamin C</b>.The ripe fruit can be consumed raw, and the unripe green fruit can be eaten cooked in salads or other meals. The seeds are edible, they can be washed and dried and used like <a href='black_pepper.html'>black pepper</a>."); +Ingredient papaya = create_ingredient("papaya", "Papayas, or <b>pawpaw</b>, are the fruit (berries) of the <b>carica papaya</b>. It is one of 22 species of the genus <b>Carica</b>. There are two main kinds: Red papayas and yellow papayas. Even when unripe, these two varieties can be grated and eaten and are known as 'green papayas'. Papayas are a rich source of <b>vitamin C</b>.The ripe fruit can be consumed raw, and the unripe green fruit can be eaten cooked in salads or other meals. The seeds are edible, they can be washed and dried and used like <a href='black_pepper.html'>black pepper</a>.<br /><br />"); Ingredient pomegranate = create_ingredient("pomegranate", "Pomegranates come from the <b>Punica granatum</b>, a fruit-bearing shrub (botanically a berry). Pomegranates can range in color from pink, white, yellow and purple, the most common being the red variety. It is estimated that there are some 500 different cultivars of Pomegranate grown world-wide."); -Ingredient pomegranate_juice = create_ingredient("pomegranate juice", "Pomegranate juice is extracted from the arils (seeds) of the fruit of the pomegranate.The juice is very flavorful on its own, it can be sweet or sour, but most fruits are moderate in taste. The juice can be reduced down into pomegranate molasses or fermented into pomegranate vinegar."); +Ingredient pomegranate_seeds = create_child_ingredient(&pomegranate, "pomegranate seeds", "The inside of the pomegranate fruit is filled with seeds, technically called <b>arils</b>. Pomegranate arils are a source of <b>vitamin C</b>.<b>How to extract the arils</b>: Score it with a knife to break it open. The seeds are separated from the peel and internal white pulp membranes. Separating the seeds is easier in a bowl of water because the seeds sink and the inedible pulp floats. The seeds may simply be eaten raw as a snack or added into salads, relishes, garnishes or <a href='#Chili_pomegranate_brownies.html'>desserts</a>.<br /><br />"); -Ingredient mango = create_ingredient("mango", "Mangoes are stone fruits produced by many species of tropical trees of the genus <b>Mangifera</b>. They vary in size, taste, shape and color (pale yellow, gold and orange). Mangoes are generally sweet, and are a good source of <b>vitamin C</b> and <b>vitamin A</b>.Unripe mangoes can be made into pickles, or used in chutneys, side dishes or eaten with salt & chili. Ripe mangoes can be eaten raw, baked into cakes, made into preserves, pureed etc. The skin of unripe mango has the potential to cause contact dermatitis of the lips, gums, or tongue in susceptible people. Mangoes that are still firm will continue to ripen if stored at room temperature. Once fully ripe, they can be stored in the refrigerator for about 5 days."); +Ingredient pomegranate_juice = create_child_ingredient(&pomegranate, "pomegranate juice", "Pomegranate juice is extracted from the arils (seeds) of the fruit of the pomegranate.The juice is very flavorful on its own, it can be sweet or sour, but most fruits are moderate in taste. The juice can be reduced down into pomegranate molasses or fermented into pomegranate vinegar.<br /><br />"); -Ingredient hachiya_persimmon = create_ingredient("hachiya persimmon", "Hachiya persimmons are acorn-shaped, it must be completely ripened before consumption. When fully ripe, it develops a sweet flavor.The pulp of the hachiya persimmon is used to make sherbets, puddings, cakes, jams and purees. When the fruit is fully ripe, the skin turns a deep orange color. Another indicator of ripeness is that the fruit becomes soft like a water balloon. The consumption of unripened persimmons can cause <a href='http://www.persimmonpudding.com/bezoars.html' target='_blank'>phytobezoars</a> to form in the body."); +Ingredient mango = create_ingredient("mango", "Mangoes are stone fruits produced by many species of tropical trees of the genus <b>Mangifera</b>. They vary in size, taste, shape and color (pale yellow, gold and orange). Mangoes are generally sweet, and are a good source of <b>vitamin C</b> and <b>vitamin A</b>.Unripe mangoes can be made into pickles, or used in chutneys, side dishes or eaten with salt & chili. Ripe mangoes can be eaten raw, baked into cakes, made into preserves, pureed etc. The skin of unripe mango has the potential to cause contact dermatitis of the lips, gums, or tongue in susceptible people. Mangoes that are still firm will continue to ripen if stored at room temperature. Once fully ripe, they can be stored in the refrigerator for about 5 days.<br /><br />"); Ingredient persimmon = create_ingredient("persimmon", "The persimmon (or <b>kaki</b>) is the fruit of many species of trees in the genus <b>Diospyros</b>. Colors range from light yellow-orange to dark red-orange. They very in size and shape, some varieties can be spherical, acorn or pumpkin-shaped. Persimmons are sweet in taste, and are a good source of <b>vitamin C</b> and <b>vitamin A</b>. Some varieties are edible in the crisp, firm state (like an apple) but it has its best flavor when allowed to rest and soften slightly after harvest. Some varieties, like <a href='hachiya_persimmon.html'>hachiya persimmon</a>, should not be eaten when unripe."); -Ingredient dates = create_ingredient("dates", "Dates are the fruit of the date palm (or Phoenix dactylifera) of the <b>Phoenix</b> genus, which contains 19 species of wild date palms. There are 3 classifications of dates: dry, semi-dry and soft. Date fruits range from bright red to bright yellow in color, and are very sweet with a sugar content of about 80 percent when dried. Dates are a source of <b>iron</b> and <b>protein</b>.Dry dates are often pitted and stuffed with a variety of fillings, like nuts, candied orange, tahini etc."); +Ingredient hachiya_persimmon = create_child_ingredient(&persimmon, "hachiya persimmon", "Hachiya persimmons are acorn-shaped, it must be completely ripened before consumption. When fully ripe, it develops a sweet flavor.The pulp of the hachiya persimmon is used to make sherbets, puddings, cakes, jams and purees. When the fruit is fully ripe, the skin turns a deep orange color. Another indicator of ripeness is that the fruit becomes soft like a water balloon. The consumption of unripened persimmons can cause <a href='http://www.persimmonpudding.com/bezoars.html' target='_blank'>phytobezoars</a> to form in the body.<br /><br />"); + +Ingredient dates = create_ingredient("dates", "Dates are the fruit of the date palm (or Phoenix dactylifera) of the <b>Phoenix</b> genus, which contains 19 species of wild date palms. There are 3 classifications of dates: dry, semi-dry and soft. Date fruits range from bright red to bright yellow in color, and are very sweet with a sugar content of about 80% when dried. Dates are a source of <b>iron</b> and <b>protein</b>.Dry dates are often pitted and stuffed with a variety of fillings, like nuts, candied orange, tahini etc.<br /><br />"); -Ingredient deglet_noor_dates = create_ingredient("deglet noor dates", "Deglet noor dates are medium-sized with a narrow elongated shape. They have a semi-dry texture, and have less sugar than Medjool dates and offer a complex sweetness.Deglet noor dates lend well to baking, due to their moderate sweetness and firmness. They are the preferred variety for the production of date syrup and date sugar."); +Ingredient deglet_noor_dates = create_child_ingredient(&dates, "deglet noor dates", "Deglet noor dates are medium-sized with a narrow elongated shape. They have a semi-dry texture, and have less sugar than Medjool dates and offer a complex sweetness.Deglet noor dates lend well to baking, due to their moderate sweetness and firmness. They are the preferred variety for the production of date syrup and date sugar.<br /><br />"); -Ingredient date_caramel = create_ingredient("date caramel", "A type of plant-based 'caramel' made from <a href='dates.html'>dates</a>."); +Ingredient date_caramel = create_child_ingredient(&dates, "date caramel", "A type of plant-based 'caramel' made from <a href='dates.html'>dates</a>."); Ingredient apricot_jam = create_ingredient("apricot jam", "Apricot jam is made from the pureed flesh of the apricot fruit. It's easy to prepare, requiring only fresh apricots, <a href='sugar.html'>sugar</a> and <a href='lemon_juice.html'>lemon juice</a>. Apricots are a moderate source of <b>vitamin A</b> and <b>vitamin C</b>."); -Ingredient coconut = create_ingredient("coconut", "Coconuts stem from the coconut tree, or <b>Cocos nucifera</b>. Coconuts are known for their versatility of uses, ranging from food to cosmetics. The water in young coconuts is very high in electrolytes. They are a good source of <b>protein</b>, <b>iron</b> and <b>zinc</b>.They are ideal for making deserts, and are used in a variety of dishes like <a href='#hop_ice_cream.html'>ice cream</a>, beverages, frostings on cakes, smoothies, curry sauces etc. Whole coconuts will keep at room temperature for two weeks. For longer storage, refrigerate."); +Ingredient coconut = create_ingredient("coconut", "Coconuts stem from the coconut tree, or <b>Cocos nucifera</b>. Coconuts are known for their versatility of uses, ranging from food to cosmetics. The water in young coconuts is very high in electrolytes. They are a good source of <b>protein</b>, <b>iron</b> and <b>zinc</b>.They are ideal for making deserts, and are used in a variety of dishes like <a href='#hop_ice_cream.html'>ice cream</a>, beverages, frostings on cakes, smoothies, curry sauces etc. Whole coconuts will keep at room temperature for two weeks. For longer storage, refrigerate.<br /><br />"); -Ingredient ao_nori = create_ingredient("ao nori", "Aonori <b>青海苔</b>, or green laver, is a type of edible green seaweed which includes species from the genus <b>Monostroma</b> and <b>Ulva</b>. It is referred to as aosa <b>アオサ</b> in some parts of Japan. The color of the aonori is intense, beautiful green. It has a distinctive fragrant green flavor. This type of seaweed is rich in <b>calcium</b> and is a moderate source of <b>iodine</b>.Aonori is sold dried, and is used in soups and tempura. It is also sprinkled atop a variety of Japanese dishes like yakisoba and <a href='#okonomiyaki.html'>okonomiyaki</a>."); +Ingredient ao_nori = create_child_ingredient(&seaweed, "ao nori", "Aonori <b>青海苔</b>, or green laver, is a type of edible green seaweed which includes species from the genus <b>Monostroma</b> and <b>Ulva</b>. It is referred to as aosa <b>アオサ</b> in some parts of Japan. The color of the aonori is intense, beautiful green. It has a distinctive fragrant green flavor. This type of seaweed is rich in <b>calcium</b> and is a moderate source of <b>iodine</b>.Aonori is sold dried, and is used in soups and tempura. It is also sprinkled atop a variety of Japanese dishes like yakisoba and <a href='#okonomiyaki.html'>okonomiyaki</a>.<br /><br />"); -Ingredient kanten_powder = create_ingredient("kanten powder", "Kanten is a seaweed-based gelling agent derived from tengusa <b>テングサ</b>, a specific type of red seaweed. It is semi-translucent, and firm when it solidifies. Kanten is 80 percent fiber, and has no odor or taste.It is used to make Japanese confectionery, and unlike gelatin kanten-based confections don't dissolve at room temperature. Kanten is often confused with agar agar. Both are seaweed-based, but they come from different algea. Kanten can be swapped 1:1 with agar agar in a recipe, although the resulting texture will not be the same. Kanten produces a firmer texture than agar."); +Ingredient kanten_powder = create_child_ingredient(&seaweed, "kanten powder", "Kanten is a seaweed-based gelling agent derived from tengusa <b>テングサ</b>, a specific type of red seaweed. It is semi-translucent, and firm when it solidifies. Kanten is 80% fiber, and has no odor or taste.It is used to make Japanese confectionery, and unlike gelatin kanten-based confections don't dissolve at room temperature. Kanten is often confused with agar agar. Both are seaweed-based, but they come from different algea. Kanten can be swapped 1:1 with agar agar in a recipe, although the resulting texture will not be the same. Kanten produces a firmer texture than agar.<br /><br />"); Ingredient turmeric_root = create_ingredient("turmeric root", "Turmeric, or <b>Cucurma longa</b>, belongs to the <a href='ginger_root.html'>ginger root</a> family. The rhizomes can be used fresh, boiled in water and dried. It's used as a coloring and flavoring agent, and has a bitter black pepper-like taste and earthy mustard-like aroma. Fresh Turmeric's gentle carrot/ginger-like flavor lends itself well to both sweet and savory applications."); -Ingredient ground_turmeric = create_ingredient("ground turmeric", "Ground turmeric is made from the rhizomes of the turmeric plant, after harvest it is boiled, then dried and ground into a powder."); +Ingredient ground_turmeric = create_child_ingredient(&turmeric_root, "ground turmeric", "Ground turmeric is made from the rhizomes of the turmeric plant, after harvest it is boiled, then dried and ground into a powder."); Ingredient cinnamon = create_ingredient("cinnamon", "Cinnamon is an aromatic spice from the inner bark of many species of tree from the genus <b>Cinnamomum</b>. It's a flavouring additive used in both sweet and savoury dishes. It's sold in the form of quills or powdered. Cinnamon is a rich source of <b>calcium</b> and <b>iron</b>."); -Ingredient rosemary = create_ingredient("rosemary", "Rosemary, or <b>Salvia rosmarinus</b>, is a fragrant evergreen herb with needle-like leaves and white, pink, purple of blue flowers. It's leaves are used to flavor a variety of foods. It's a source of <b>vitamin A</b> and <b>calcium</b>.Rosemary is very potent, and should be used sparingly. A good technique to remove the leaves, is to hold the stem at the top and to run your fingers along the stem backwards. To keep cuttings of rosemary fresh, wrap in a damp towel. Dried rosemary keeps up to 6 months if stored in an airtight container."); +Ingredient rosemary = create_ingredient("rosemary", "Rosemary, or <b>Salvia rosmarinus</b>, is a fragrant evergreen herb with needle-like leaves and white, pink, purple of blue flowers. It's leaves are used to flavor a variety of foods. It's a source of <b>vitamin A</b> and <b>calcium</b>.Rosemary is very potent, and should be used sparingly. A good technique to remove the leaves, is to hold the stem at the top and to run your fingers along the stem backwards. To keep cuttings of rosemary fresh, wrap in a damp towel. Dried rosemary keeps up to 6 months if stored in an airtight container.<br /><br />"); -Ingredient basil = create_ingredient("basil", "Basil, or <b>Ocimum basilicum</b> is an aromatic plant, with a wide range of fragrances (depending on the variety). The leaves may taste like anise, with a strong smell. The most common type is sweet basil, but there is also thai basil, lemon basil and holy basil.In cooking, add it at the last moment, as cooking quickly destroys the flavor. Fresh basil can be used whole, chopped, made into a paste or dried. Basil will keep if dry and refrigerated, but should be used up within a week. When soaked in water, the seeds of several basil varieties become gelatinous."); +Ingredient basil = create_ingredient("basil", "Basil, or <b>Ocimum basilicum</b> is an aromatic plant, with a wide range of fragrances (depending on the variety). The leaves may taste like anise, with a strong smell. The most common type is sweet basil, but there is also thai basil, lemon basil and holy basil.In cooking, add it at the last moment, as cooking quickly destroys the flavor. Fresh basil can be used whole, chopped, made into a paste or dried. Basil will keep if dry and refrigerated, but should be used up within a week. When soaked in water, the seeds of several basil varieties become gelatinous.<br /><br />"); Ingredient dried_basil = create_ingredient("dried basil", "Dried basil loses most of its flavor, and what little flavor remains tastes very different from fresh basil."); -Ingredient wasabi_root = create_ingredient("wasabi root", "Wasabi, or <b>Wasabia japonica</b>, is part of the family <b>Brassicaea</b> which includes horseradish and mustard. It is primarily cultivated for its rhizome, which has a fiery, mustard-like flavor and pungent fragrance.Wasabi is difficult to grow, which makes it expensive to buy. Wasabi is sold as a rhizome or as a dried powder. Fresh wasabi is served with a grater and served to the table right away, because it loses flavor very quickly once it's made into a paste. Fresh Wasabi root will keep, wrapped and refrigerated, for up to two weeks."); +Ingredient wasabi_root = create_ingredient("wasabi root", "Wasabi, or <b>Wasabia japonica</b>, is part of the family <b>Brassicaea</b> which includes horseradish and mustard. It is primarily cultivated for its rhizome, which has a fiery, mustard-like flavor and pungent fragrance.Wasabi is difficult to grow, which makes it expensive to buy. Wasabi is sold as a rhizome or as a dried powder. Fresh wasabi is served with a grater and served to the table right away, because it loses flavor very quickly once it's made into a paste. Fresh Wasabi root will keep, wrapped and refrigerated, for up to two weeks.<br /><br />"); + +Ingredient wasabi_powder = create_child_ingredient(&wasabi_root, "wasabi powder", "Wasabi powder is made from the dried, grated flesh of the wasabi root. It has a light lime coloring and sharp, hot taste and aroma. Most of the wasabi powder that is sold internationally is not 100% wasabi, but a mixture of mustard, horseradish and color additives (due to the high cost of the root).Wasabi powder has a long shelf life, it will retain its taste if kept in a cool and dry place.<br /><br /><b>How to make wasabi paste:</b> To make wasabi paste, mix 1:1 quantity of wasabi powder and water, mix well. The texture should be a bit dry. Cover wasabi and allow to sit for 15 min to allow the enzymes to work, doing this helps bring out the full flavors of the wasabi.<br /><br />"); -Ingredient wasabi_powder = create_ingredient("wasabi powder", "Wasabi powder is made from the dried, grated flesh of the wasabi root. It has a light lime coloring and sharp, hot taste and aroma. Most of the wasabi powder that is sold internationally is not 100 percent wasabi, but a mixture of mustard, horseradish and color additives (due to the high cost of the root).Wasabi powder has a long shelf life, it will retain its taste if kept in a cool and dry place.<br /><br /><b>How to make wasabi paste:</b> To make wasabi paste, mix 1:1 quantity of wasabi powder and water, mix well. The texture should be a bit dry. Cover wasabi and allow to sit for 15 min to allow the enzymes to work, doing this helps bring out the full flavors of the wasabi."); +Ingredient sichuan_peppercorns = create_ingredient("sichuan peppercorns", "Sichuan pepper, or <b>花椒</b>, comes from the seeds of species of trees in the genus <b>Zanthoxylum</b>. It's a spice from China's southwestern Sichuan Province. It has a unique aroma and flavor that is neither hot nor pungent, with lemony overtones. This pepper create a tingly numbness in the mouth. It is often used in spicy dishes, to create a a flavor known in Mandarin as <b>málà 麻辣 \"numb-spiciness\"</b>.When cooking sichuan peppercorns, lightly toast them and then then crush them before adding them to food. The spice is added at the last moment.<br /><br />"); -Ingredient sichuan_peppercorns = create_ingredient("sichuan peppercorns", "Sichuan pepper, or <b>花椒</b>, comes from the seeds of species of trees in the genus <b>Zanthoxylum</b>. It's a spice from China's southwestern Sichuan Province. It has a unique aroma and flavor that is neither hot nor pungent, with lemony overtones. This pepper create a tingly numbness in the mouth. It is often used in spicy dishes, to create a a flavor known in Mandarin as <b>málà 麻辣 \"numb-spiciness\"</b>.When cooking sichuan peppercorns, lightly toast them and then then crush them before adding them to food. The spice is added at the last moment."); +Ingredient coriander = create_ingredient("coriander", "Coriander, also known as <b>Coriandrum sativum} or cilantro, is an herb cultivated for its leaves and seeds (all parts are edible). Coriander has a tart, lemon/lime taste. Coriander leaves are a source of <b>vitamin A</b>, <b>vitamin C</b>. The seeds have a lower count of vitamins but still provide some amounts of <b>calcium</b> and <b>iron</b>.For 3-21% of people, Coriander tastes soapy or rotten. These people have a gene which detects specific compounds in the plant, the most common is <a href='https://www.ncbi.nlm.nih.gov/gene?Db=gene&Cmd=ShowDetailView&TermToSearch=8590' target='_blank'>OR6A2</a>, a gene involved in sensing smells.<br /><br />"); -Ingredient coriander = create_ingredient("coriander", "Coriander, also known as <b>Coriandrum sativum} or cilantro, is an herb cultivated for its leaves and seeds (all parts are edible). Coriander has a tart, lemon/lime taste. Coriander leaves are a source of <b>vitamin A</b>, <b>vitamin C</b>. The seeds have a lower count of vitamins but still provide some amounts of <b>calcium</b> and <b>iron</b>.For 3-21 percent of people, Coriander tastes soapy or rotten. These people have a gene which detects specific compounds in the plant, the most common is <a href='https://www.ncbi.nlm.nih.gov/gene?Db=gene&Cmd=ShowDetailView&TermToSearch=8590' target='_blank'>OR6A2</a>, a gene involved in sensing smells."); +Ingredient mint = create_ingredient("mint", "Mint, or <b>Mentha</b>, is a genus of plants in the family <b>Lamiaceae</b>. Mints are aromatic plants, with leaf color that ranges from dark green and gray-green to purple, blue, and sometimes pale yellow. The most common mints for commercial cultivation are peppermint, native spearmint, scotch spearmint, apple mint and cornmint.Mint oil is also used as an environmentally-friendly <a href='https://web.archive.org/web/20090802082953/https://online.wsj.com/article/SB10001424052970204563304574318231044370704.html' target='_blank'>insecticide</a>.<br /><br />"); -Ingredient mint = create_ingredient("mint", "Mint, or <b>Mentha</b>, is a genus of plants in the family <b>Lamiaceae</b>. Mints are aromatic plants, with leaf color that ranges from dark green and gray-green to purple, blue, and sometimes pale yellow. The most common mints for commercial cultivation are peppermint, native spearmint, scotch spearmint, apple mint and cornmint.Mint oil is also used as an environmentally-friendly <a href='https://web.archive.org/web/20090802082953/https://online.wsj.com/article/SB10001424052970204563304574318231044370704.html' target='_blank'>insecticide</a>."); +Ingredient peppermint = create_child_ingredient(&mint, "peppermint", "Peppermint, or <b>Mentha balsamea</b>, is a hybrid mint, a cross between watermint and spearmint.Peppermint is an essential ingredient in candies, chewing gum, toothpaste, candles, extracts and compounds. Fresh leaves are preferable over dried. Harvesting of mint leaves can be done at any time. Fresh leaves should be used immediately or stored up to a few days in plastic bags in a refrigerator. Optionally, leaves can be frozen in ice cube trays. Dried mint leaves should be stored in an airtight container placed in a cool, dark, dry area.<br /><br />"); -Ingredient peppermint = create_ingredient("peppermint", "Peppermint, or <b>Mentha balsamea</b>, is a hybrid mint, a cross between watermint and spearmint.Peppermint is an essential ingredient in candies, chewing gum, toothpaste, candles, extracts and compounds. Fresh leaves are preferable over dried. Harvesting of mint leaves can be done at any time. Fresh leaves should be used immediately or stored up to a few days in plastic bags in a refrigerator. Optionally, leaves can be frozen in ice cube trays. Dried mint leaves should be stored in an airtight container placed in a cool, dark, dry area."); +Ingredient cocoa_beans = create_ingredient("cocoa beans", "Cocoa beans (also called cacao) are the dried and fermented seed of <b>Theobroma cacao</b>. The fruit, called a cacao pod, is ovoid, long and wide, ripening yellow to orange. The pod contains 20 to 60 seeds (or beans) embedded in a white pulp. Each seed contains a significant amount of fat (40–50%) as cocoa butter. The three main varieties of cocoa plant are <b>Forastero</b> (most common), <b>Criollo</b> (rarer, a delicacy), and <b>Trinitario</b>.Its seeds are used to make chocolate liquor, cocoa solids, cocoa butter and chocolate. The fruit's active constituent is the stimulant <b>theobromine</b>, a compound similar to <a href='#coffee.html'>caffeine</a>.<br /><br />"); -Ingredient cocoa_beans = create_ingredient("cocoa beans", "Cocoa beans (also called cacao) are the dried and fermented seed of <b>Theobroma cacao</b>. The fruit, called a cacao pod, is ovoid, long and wide, ripening yellow to orange. The pod contains 20 to 60 seeds (or beans) embedded in a white pulp. Each seed contains a significant amount of fat (40–50 percent) as cocoa butter. The three main varieties of cocoa plant are <b>Forastero</b> (most common), <b>Criollo</b> (rarer, a delicacy), and <b>Trinitario</b>.Its seeds are used to make chocolate liquor, cocoa solids, cocoa butter and chocolate. The fruit's active constituent is the stimulant <b>theobromine</b>, a compound similar to <a href='#coffee.html'>caffeine</a>."); +Ingredient cocoa_powder = create_child_ingredient(&cocoa_beans, "cocoa powder", "Cocoa powder which is the dry powder made by grinding cocoa seeds and removing the cocoa butter from the cocoa solids, which are dark and bitter. The two basic types of cocoa powder are <b>Dutch processed</b> and <b>Broma processed</b>. Cocoa powder a source of <b>calcium</b> and <b>zinc</b>.Recipes specifically call out whether they require Dutch-process or unsweetened cocoa. It's not a good idea to swap out regular cocoa for Dutch cocoa or vice-versa. Dutch-process cocoa does not react with baking soda like regular cocoa does, so you should only use Dutch-process cocoa in those recipes that have baking powder (see <a href='https://www.huffpost.com/entry/unsweetened-vs-dutch-cocoa-powder_n_972395?guccounter=1&guce_referrer=aHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQnJvbWFfcHJvY2Vzcw&guce_referrer_sig=AQAAAH1DFaQsw-T1c1SC1FaZBabMwbVXQ-BHNgG_19L6QijyflUYBgLug1DkfotIIc-TslE9MpvF9-mGqYMTRHlqz2Gy6iPuVPBtAGVOzKcxwGW0cggreoKl_ss_qlyMG2SSNjcMVGbjduavgUiXUTdrsSHcqiUvklahShVUXc44Q5wT' target='_blank'>ref</a>).<br /><br />The <b>Broma process</b> consists of hanging bags of roasted cocoa beans in a very warm room, above the melting point of cocoa butter (slightly above room temperature), and allowing the cocoa butter to drip off the beans, where it is collected, resulting in unsweetened cocoa that is dark brown, acidic and bitter. The <b>Dutch process</b> differs from the Broma process in that, after the cocoa butter has been drained off the beans as described above, the beans are then soaked in an alkaline solution to make them chemically neutral. Dutch process turns the cocoa a pale reddish brown and makes it chemically nonreactive.<br /><br />"); -Ingredient cocoa_powder = create_ingredient("cocoa powder", "Cocoa powder which is the dry powder made by grinding cocoa seeds and removing the cocoa butter from the cocoa solids, which are dark and bitter. The two basic types of cocoa powder are <b>Dutch processed</b> and <b>Broma processed</b>. Cocoa powder a source of <b>calcium</b> and <b>zinc</b>.Recipes specifically call out whether they require Dutch-process or unsweetened cocoa. It's not a good idea to swap out regular cocoa for Dutch cocoa or vice-versa. Dutch-process cocoa does not react with baking soda like regular cocoa does, so you should only use Dutch-process cocoa in those recipes that have baking powder (see <a href='https://www.huffpost.com/entry/unsweetened-vs-dutch-cocoa-powder_n_972395?guccounter=1&guce_referrer=aHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQnJvbWFfcHJvY2Vzcw&guce_referrer_sig=AQAAAH1DFaQsw-T1c1SC1FaZBabMwbVXQ-BHNgG_19L6QijyflUYBgLug1DkfotIIc-TslE9MpvF9-mGqYMTRHlqz2Gy6iPuVPBtAGVOzKcxwGW0cggreoKl_ss_qlyMG2SSNjcMVGbjduavgUiXUTdrsSHcqiUvklahShVUXc44Q5wT' target='_blank'>ref</a>).<br /><br />The <b>Broma process</b> consists of hanging bags of roasted cocoa beans in a very warm room, above the melting point of cocoa butter (slightly above room temperature), and allowing the cocoa butter to drip off the beans, where it is collected, resulting in unsweetened cocoa that is dark brown, acidic and bitter. The <b>Dutch process</b> differs from the Broma process in that, after the cocoa butter has been drained off the beans as described above, the beans are then soaked in an alkaline solution to make them chemically neutral. Dutch process turns the cocoa a pale reddish brown and makes it chemically nonreactive."); +Ingredient chili_peppers = create_ingredient("chili peppers", "Chili peppers, from Nahuatl <b>chīlli</b>, is the fruit of plants from the genus <b>Capsicum</b>. They're used in dishes to add heat or spice. There are many varieties of chili peppers, ranging in shape and color from white, yellow, red or purple to black. The 5 domesticated species are <b>Capsicum annuum</b>(bell peppers, cayenne etc), <b>Capsicum frutescens</b> (tabasco, thai etc), <b>Capsicum chinense</b> (habanero, naga etc), <b>Capsicum pubescens</b> (rocoto) and <b>Capsicum babbactum</b> (aji).The substances that give chili peppers their pungency (spicy heat) when ingested or applied topically are capsaicin. The quantity of capsaicin varies by variety, and on growing conditions. The intensity of the \"heat\" of chili peppers is commonly reported in <a href='https://web.archive.org/web/20100823044606/http://www.tabasco.com/info_booth/faq/scoville_how.cfm' target='_blank'>Scoville heat units</a> (SHU).<br /><br />"); -Ingredient cayenne_pepper = create_ingredient("cayenne pepper", "Cayenne pepper is a type of <b>Capsicum annuum</b>, a moderately hot chili pepper."); +Ingredient cayenne_pepper = create_child_ingredient(&chili_peppers, "cayenne pepper", "Cayenne pepper is a type of <b>Capsicum annuum</b>, a moderately hot chili pepper."); -Ingredient cayenne_pepper_powder = create_ingredient("cayenne pepper powder", "Cayenne peppers are generally dried and ground to make cayenne powder, although it may be a blend of different types of peppers, quite often not containing cayenne peppers, and may or may not contain the seeds."); +Ingredient cayenne_pepper_powder = create_child_ingredient(&cayenne_pepper, "cayenne pepper powder", "Cayenne peppers are generally dried and ground to make cayenne powder, although it may be a blend of different types of peppers, quite often not containing cayenne peppers, and may or may not contain the seeds."); -Ingredient anise_seeds = create_ingredient("anise seeds", "Anise, also called aniseed or <b>Pimpinella</b>, is a spice with a flavor similar to star anise, fennel and liquorice. Anise is sweet and very aromatic.It's often used to flavor foods and drinks. The seeds, whole or ground, are used for preparation of teas and tisanes."); +Ingredient anise_seeds = create_ingredient("anise seeds", "Anise, also called aniseed or <b>Pimpinella</b>, is a spice with a flavor similar to star anise, fennel and liquorice. Anise is sweet and very aromatic.It's often used to flavor foods and drinks. The seeds, whole or ground, are used for preparation of teas and tisanes.<br /><br />"); -Ingredient nutritional_yeast = create_ingredient("nutritional yeast", "Nutritional yeast is a deactivated yeast, a strain of <a href='https://www.sciencedirect.com/topics/neuroscience/saccharomyces-cerevisiae' target='_blank'>Saccharomyces cerevisiae</a>. It is sold as yellow flakes or powder, and has a cheesy, nutty taste and flavor. Fortified nutritional yeast is a good source of <b>vitamin B12</b>.Nutritional yeast is often confused with brewer’s yeast, but the two are distinct. Brewer’s yeast is aptly named, as it was initially offered as a byproduct of the beer brewing industry. It is a key ingredient in vegan cheese sauces, it can also be used as a condiment. Nutritional yeast adds a lot of depth and flavor to a variety of dishes."); +Ingredient nutritional_yeast = create_ingredient("nutritional yeast", "Nutritional yeast is a deactivated yeast, a strain of <a href='https://www.sciencedirect.com/topics/neuroscience/saccharomyces-cerevisiae' target='_blank'>Saccharomyces cerevisiae</a>. It is sold as yellow flakes or powder, and has a cheesy, nutty taste and flavor. Fortified nutritional yeast is a good source of <b>vitamin B12</b>.Nutritional yeast is often confused with brewer’s yeast, but the two are distinct. Brewer’s yeast is aptly named, as it was initially offered as a byproduct of the beer brewing industry. It is a key ingredient in vegan cheese sauces, it can also be used as a condiment. Nutritional yeast adds a lot of depth and flavor to a variety of dishes.<br /><br />"); -Ingredient vanilla = create_ingredient("vanilla", "Vanilla is a flavoring derived from orchids of the genus Vanilla, primarily from the Mexican species, flat-leaved vanilla (V. planifolia). It is the second-most expensive spice after saffron because growing the vanilla seed pods is labor-intensive. Despite the expense, vanilla is highly valued for its flavor.Three major species of vanilla currently are grown globally: <b>V. planifolia</b> (being the most common), <b>V. tahitensis</b> and <b>V. pompona</b>. In addition to varieties, there are also different grades of vanilla beans. Grade A beans are longer and more moist, and Grade B beans are less pretty and usually recommended for making extract. Grade B beans are less expensive.<br /><br />Vanilla is widely used in both commercial and domestic baking, perfume manufacture, and aromatherapy. Natural vanilla gives a brown or yellow color to preparations, depending on the concentration."); +Ingredient vanilla = create_ingredient("vanilla", "Vanilla is a flavoring derived from orchids of the genus Vanilla, primarily from the Mexican species, flat-leaved vanilla (V. planifolia). It is the second-most expensive spice after saffron because growing the vanilla seed pods is labor-intensive. Despite the expense, vanilla is highly valued for its flavor.Three major species of vanilla currently are grown globally: <b>V. planifolia</b> (being the most common), <b>V. tahitensis</b> and <b>V. pompona</b>. In addition to varieties, there are also different grades of vanilla beans. Grade A beans are longer and more moist, and Grade B beans are less pretty and usually recommended for making extract. Grade B beans are less expensive.<br /><br />Vanilla is widely used in both commercial and domestic baking, perfume manufacture, and aromatherapy. Natural vanilla gives a brown or yellow color to preparations, depending on the concentration.<br /><br />"); -Ingredient vanilla_extract = create_ingredient("vanilla extract", "Vanilla extract is used a cheap alternatives to using fresh beans. It's available in alcoholic or occasionally glycerol solution, both pure and imitation forms of vanilla contain at least 35 percent alcohol.To make your own, you need vanilla beans, 35 percent alcohol (like vodka) and a jar. Use 6 vanilla beans per 8 ounces of alcohol. Cut your vanilla bean pods in half along their length with scissors or a knife, put the sliced beans in a jar and cover with alcohol. If beans are too tall, cut in half. Put a lid on and shake, then store in a cool dark place (shake every week). Soak beans for at least 2 months, or more."); +Ingredient vanilla_extract = create_child_ingredient(&vanilla, "vanilla extract", "Vanilla extract is used a cheap alternatives to using fresh beans. It's available in alcoholic or occasionally glycerol solution, both pure and imitation forms of vanilla contain at least 35% alcohol.To make your own, you need vanilla beans, 35% alcohol (like vodka) and a jar. Use 6 vanilla beans per 8 ounces of alcohol. Cut your vanilla bean pods in half along their length with scissors or a knife, put the sliced beans in a jar and cover with alcohol. If beans are too tall, cut in half. Put a lid on and shake, then store in a cool dark place (shake every week). Soak beans for at least 2 months, or more.<br /><br />"); Ingredient nutmeg = create_ingredient("nutmeg", "Nutmeg is the seed or ground spice of some species of the genus <b>Myristica</b>. The plant is cultivated for two spices derived from the fruit: nutmeg (seed) and seed (mace). Nutmeg has a sweet flavor, and is used in a variety of dishes."); -Ingredient thyme = create_ingredient("thyme", "Thyme is an aromatic herb and member of the genus <b>Thymus</b>. The most cultivated species is <b>Thymus vulgaris</b>. It is sold both fresh and dried. Thyme is used to make za'atar and herbes de Provence. Its delivers layers of woodsy, savory and mint flavors.Leaves may be removed from stems either by scraping with the back of a knife, or by pulling through the fingers or tines of a fork. Thyme keeps its flavour better when dried than other herbs. The fresh form is more flavourful, but also less convenient, storage life is rarely more than a week. However, the fresh form can last many months if carefully frozen (see <a href='https://www.stilltasty.com/fooditems/index/18499' target='_blank'>ref</a>)"); +Ingredient thyme = create_ingredient("thyme", "Thyme is an aromatic herb and member of the genus <b>Thymus</b>. The most cultivated species is <b>Thymus vulgaris</b>. It is sold both fresh and dried. Thyme is used to make za'atar and herbes de Provence. Its delivers layers of woodsy, savory and mint flavors.Leaves may be removed from stems either by scraping with the back of a knife, or by pulling through the fingers or tines of a fork. Thyme keeps its flavour better when dried than other herbs. The fresh form is more flavourful, but also less convenient, storage life is rarely more than a week. However, the fresh form can last many months if carefully frozen (see <a href='https://www.stilltasty.com/fooditems/index/18499' target='_blank'>ref</a>)<br /><br />"); -Ingredient poppy_seeds = create_ingredient("poppy seeds", "Poppy seeds are oilseeds that come from the <b>Papaver somniferum</b> which also produces <a href='https://en.wikipedia.org/wiki/Opium' target='_blank'>Opium</a>. Compared to the seed pod and straw, the seeds contain very low levels of opiates. Since poppy seeds are relatively expensive, they are sometimes mixed with the seeds of <b>Amaranthus paniculatus</b>, which closely resemble poppy seeds. Poppy seeds are a source of <b>calcium</b>, <b>iron</b> and <b>zinc</b>.The seeds are used whole or ground into meal, to be used in pastry and bread or to make poppyseed oil. It is also used to make poppy seed pasta, a sweet filling. The poppy seed harvest can be a by-product of cultivation of Papaver somniferum for <b>opium</b>, poppy straw, or both opium and poppy straw."); +Ingredient poppy_seeds = create_ingredient("poppy seeds", "Poppy seeds are oilseeds that come from the <b>Papaver somniferum</b> which also produces <a href='https://en.wikipedia.org/wiki/Opium' target='_blank'>Opium</a>. Compared to the seed pod and straw, the seeds contain very low levels of opiates. Since poppy seeds are relatively expensive, they are sometimes mixed with the seeds of <b>Amaranthus paniculatus</b>, which closely resemble poppy seeds. Poppy seeds are a source of <b>calcium</b>, <b>iron</b> and <b>zinc</b>.The seeds are used whole or ground into meal, to be used in pastry and bread or to make poppyseed oil. It is also used to make poppy seed pasta, a sweet filling. The poppy seed harvest can be a by-product of cultivation of Papaver somniferum for <b>opium</b>, poppy straw, or both opium and poppy straw.<br /><br />"); -Ingredient paprika = create_ingredient("paprika", "Paprika is a ground spice made from dried red fruits of the larger and sweeter varieties of the <a href='Capsicum_annuum.html'>Capsicum annuum</a>. The most common variety is <b>tomato pepper</b>, although sometimes both chili peppers and <a href='cayenne_peppers.html'>cayenne peppers</a> are added. Paprika is a source of <b>vitamin A</b>.Paprika can range from mild to hot. Sweet paprika is mostly composed of the pericarp (outer skin), with more than half of the seeds removed, whereas hot paprika contains some seeds, stalks, placentas (where the seeds are attached to the top of the fruit), and calyces (part of stem that connects to top of the chili pepper). Store paprika in an airtight container in a cool, dark place for no more than six months."); +Ingredient paprika = create_child_ingredient(&chili_peppers, "paprika", "Paprika is a ground spice made from dried red fruits of the larger and sweeter varieties of the <a href='Capsicum_annuum.html'>Capsicum annuum</a>. The most common variety is <b>tomato pepper</b>, although sometimes both chili peppers and <a href='cayenne_peppers.html'>cayenne peppers</a> are added. Paprika is a source of <b>vitamin A</b>.Paprika can range from mild to hot. Sweet paprika is mostly composed of the pericarp (outer skin), with more than half of the seeds removed, whereas hot paprika contains some seeds, stalks, placentas (where the seeds are attached to the top of the fruit), and calyces (part of stem that connects to top of the chili pepper). Store paprika in an airtight container in a cool, dark place for no more than six months.<br /><br />"); -Ingredient smoked_paprika = create_ingredient("smoked paprika", "Smoked paprika, or <b>Pimentón de la Vera</b>, is paprika that has a distinct smoky flavor and aroma, as it is dried by smoking, typically using oak wood."); +Ingredient smoked_paprika = create_child_ingredient(&paprika, "smoked paprika", "Smoked paprika, or <b>Pimentón de la Vera</b>, is paprika that has a distinct smoky flavor and aroma, as it is dried by smoking, typically using oak wood."); -Ingredient curry_powder = create_ingredient("curry powder", "Curry powder is a spice blend, which contains more or less the same set of ingredients in varying quantities. Most mixes contain coriander, turmeric, cumin, fenugreek, and chili peppers.Other ingredients included in curry powders include ginger, garlic, asafoetida, fennel seed, caraway, cinnamon, clove, mustard seed, green cardamom, black cardamom, nutmeg, white turmeric, curry leaf, long pepper, and black pepper."); +Ingredient curry_powder = create_ingredient("curry powder", "Curry powder is a spice blend, which contains more or less the same set of ingredients in varying quantities. Most mixes contain coriander, turmeric, cumin, fenugreek, and chili peppers.Other ingredients included in curry powders include ginger, garlic, asafoetida, fennel seed, caraway, cinnamon, clove, mustard seed, green cardamom, black cardamom, nutmeg, white turmeric, curry leaf, long pepper, and black pepper.<br /><br />"); -Ingredient tamarind = create_ingredient("tamarind", "Tamarind, or <b>Tamarindus indica</b> is a leguminous tree that produces pod-like fruit that contains a brown, edible pulp. The fruit has a fleshy, juicy, acidic pulp. It is mature when the flesh is coloured brown or reddish brown. Tamarind flesh is sweet and sour in taste, and is a source of <b>calcium</b>.Tamarind is used in Worcestershire sauce, chutneys, curries, and is popular in many sweets in countries like Mexico."); +Ingredient tamarind = create_ingredient("tamarind", "Tamarind, or <b>Tamarindus indica</b> is a leguminous tree that produces pod-like fruit that contains a brown, edible pulp. The fruit has a fleshy, juicy, acidic pulp. It is mature when the flesh is coloured brown or reddish brown. Tamarind flesh is sweet and sour in taste, and is a source of <b>calcium</b>.Tamarind is used in Worcestershire sauce, chutneys, curries, and is popular in many sweets in countries like Mexico.<br /><br />"); -Ingredient cumin_seeds = create_ingredient("cumin seeds", "Cumin, or <b>Cuminum cymimum</b> is a plant of the family <b>Apiaceae</b>. It's seeds are dried and used both whole and ground. Cumin seed is used as a spice for its distinctive flavour and aroma, it imparts an earthy, warming and aromatic character to food. Cumin is a source of <b>iron</b>.Cumin is often confused with caraway (Carum carvi), and many European languages don't distinguish between the two. <b>Nigella sativa</b>, or black cumin, is distantly related and also sometimes confused with cumin."); +Ingredient cumin_seeds = create_ingredient("cumin seeds", "Cumin, or <b>Cuminum cymimum</b> is a plant of the family <b>Apiaceae</b>. It's seeds are dried and used both whole and ground. Cumin seed is used as a spice for its distinctive flavour and aroma, it imparts an earthy, warming and aromatic character to food. Cumin is a source of <b>iron</b>.Cumin is often confused with caraway (Carum carvi), and many European languages don't distinguish between the two. <b>Nigella sativa</b>, or black cumin, is distantly related and also sometimes confused with cumin.<br /><br />"); -Ingredient mustard_seeds = create_ingredient("mustard seeds", "Mustard seeds are small round seeds produced by various mustard plants. They come in a variety of colors, ranging from yellow to white to black. They come from one of three different plants: black mustard (Brassica nigra), brown Indian mustard (B. juncea), or white/yellow mustard (B. hirta/Sinapis alba).Grinding and mixing the seeds with water, vinegar or other liquids creates the yellow condiment known as prepared mustard."); +Ingredient mustard_seeds = create_ingredient("mustard seeds", "Mustard seeds are small round seeds produced by various mustard plants. They come in a variety of colors, ranging from yellow to white to black. They come from one of three different plants: black mustard (Brassica nigra), brown Indian mustard (B. juncea), or white/yellow mustard (B. hirta/Sinapis alba).Grinding and mixing the seeds with water, vinegar or other liquids creates the yellow condiment known as prepared mustard.<br /><br />"); -Ingredient dijon_mustard = create_ingredient("dijon mustard", "Dijon mustard is a traditional mustard from France, named after the city of Dijon where it was made. The main ingredients of this condiment are brown mustard seeds and white wine, or a mix of wine vinegar, water and salt. It can be used as an accompaniment to dishes in its usual form as a paste, or it can be mixed with other ingredients to make a sauce.Dijon mustard does not have a protected geographical indication (PGI). 80 percent of seeds used to make the mustard come from Canada."); +Ingredient dijon_mustard = create_child_ingredient(&mustard_seeds, "dijon mustard", "Dijon mustard is a traditional mustard from France, named after the city of Dijon where it was made. The main ingredients of this condiment are brown mustard seeds and white wine, or a mix of wine vinegar, water and salt. It can be used as an accompaniment to dishes in its usual form as a paste, or it can be mixed with other ingredients to make a sauce.Dijon mustard does not have a protected geographical indication (PGI). 80% of seeds used to make the mustard come from Canada.<br /><br />"); -Ingredient black_pepper = create_ingredient("black pepper", "Black pepper, or <b>Piper nigrum</b>, is cultivated for its fruit known as a peppercorn. Peppercorn is dried and used a spice and seasoning. It is ubiquitous in the modern world as a seasoning, and is often paired with salt. There is white peppercorn (sarawak and muntok), black peppercorn (malabar and tellicherry), pink peppercorn and green peppercorn.White pepper consists solely of the seed of the ripe fruit of the pepper plant, with the thin darker-coloured skin (flesh) of the fruit removed. Green pepper, like black pepper, is made from unripe drupes. Dried green peppercorns are treated in a way that retains the green colour, such as with sulphur dioxide, canning, or freeze-drying. Pink peppercorns are the fruits of the Peruvian pepper tree <b>Schinus molle</b>, or its relative, the Brazilian pepper tree, <b>Schinus terebinthifolius</b>."); +Ingredient black_pepper = create_ingredient("black pepper", "Black pepper, or <b>Piper nigrum</b>, is cultivated for its fruit known as a peppercorn. Peppercorn is dried and used a spice and seasoning. It is ubiquitous in the modern world as a seasoning, and is often paired with salt. There is white peppercorn (sarawak and muntok), black peppercorn (malabar and tellicherry), pink peppercorn and green peppercorn.White pepper consists solely of the seed of the ripe fruit of the pepper plant, with the thin darker-coloured skin (flesh) of the fruit removed. Green pepper, like black pepper, is made from unripe drupes. Dried green peppercorns are treated in a way that retains the green colour, such as with sulphur dioxide, canning, or freeze-drying. Pink peppercorns are the fruits of the Peruvian pepper tree <b>Schinus molle</b>, or its relative, the Brazilian pepper tree, <b>Schinus terebinthifolius</b>.<br /><br />"); Ingredient shichimi_togarashi = create_ingredient("shichimi togarashi", "Shichi-mi tōgarashi <b>七味唐辛子</b>, or <b>seven-flavor chili pepper</b>, is a common Japanese spice mixture containing seven ingredients: chili pepper, ground sanshou, roasted orange peel, <a href='black_sesame_seeds.html'>black sesame seeds</a>, <a href='white_sesame_seeds.html'>white sesame seeds</a>, <a href='#shelled_hemp_seeds.html'>hemp seed</a>, ground ginger, <a href='aonori.html'>aonori</a> and <a href='poppy_seeds.html'>poppy seeds</a>."); Ingredient gojuchang = create_ingredient("gojuchang", "Traditionally, gojuchang was fermented outdoors in large earthen pots."); -Ingredient garam_masala = create_ingredient("garam masala", "Garam Masala — garam/hot, masala/mixture of ground spices — as its name suggests, is an Indian mixture of varying quantities of ground spices. The choice of spices varies according to region and personal taste. Typical ingredients include fennel, black/white peppercorns, cloves, <a href='cinnamon.html'>cinnamon</a>, mace, cardamom pods, curry leaf, <a href='cumin.html'>cumin</a> and <a href='coriander.html'>coriander</a>.A masala may be toasted before use to release its flavours and aromas."); +Ingredient garam_masala = create_ingredient("garam masala", "Garam Masala — garam/hot, masala/mixture of ground spices — as its name suggests, is an Indian mixture of varying quantities of ground spices. The choice of spices varies according to region and personal taste. Typical ingredients include fennel, black/white peppercorns, cloves, <a href='cinnamon.html'>cinnamon</a>, mace, cardamom pods, curry leaf, <a href='cumin.html'>cumin</a> and <a href='coriander.html'>coriander</a>.A masala may be toasted before use to release its flavours and aromas.<br /><br />"); -Ingredient panko = create_ingredient("panko", "Panko, or <b>パン粉</b>, is a variety of flaky breadcumb used in Japanese cuisine, used as a crunchy coating for frieds foods. It's lighter than and more crispy than breading in Western cuisine, it doesn't absorb oil or grease as readily when fried.Panko is made from bread baked by electrical current, which yields a bread without a crust, and then grinding the bread to create fine slivers of crumb (see <a href='https://www.youtube.com/watch?v=bCNU9TrbiRk' target='_blank'>video</a>)."); +Ingredient panko = create_ingredient("panko", "Panko, or <b>パン粉</b>, is a variety of flaky breadcumb used in Japanese cuisine, used as a crunchy coating for frieds foods. It's lighter than and more crispy than breading in Western cuisine, it doesn't absorb oil or grease as readily when fried.Panko is made from bread baked by electrical current, which yields a bread without a crust, and then grinding the bread to create fine slivers of crumb (see <a href='https://www.youtube.com/watch?v=bCNU9TrbiRk' target='_blank'>video</a>).<br /><br />"); -Ingredient carob = create_ingredient("carob", "The carob, or <b>Ceratonia siliqua</b>, is a tree in the legume family <b>Fabaceae</b>. It is cultivated for its edible pods, which when ripe, are sometimes dried, toasted and ground into carob powder. Carob pods are sweet, not bitter, and contain no theobromine or caffeine.They are non-toxic to animals because they lack <a href='https://en.wikipedia.org/wiki/Theobromine' target='_blank'>theobromine</a>. Carob seeds is the base ingredients for the product of locus bean gum, a thickening agent used in the food industry."); +Ingredient carob = create_ingredient("carob", "The carob, or <b>Ceratonia siliqua</b>, is a tree in the legume family <b>Fabaceae</b>. It is cultivated for its edible pods, which when ripe, are sometimes dried, toasted and ground into carob powder. Carob pods are sweet, not bitter, and contain no theobromine or caffeine.They are non-toxic to animals because they lack <a href='https://en.wikipedia.org/wiki/Theobromine' target='_blank'>theobromine</a>. Carob seeds is the base ingredients for the product of locus bean gum, a thickening agent used in the food industry.<br /><br />"); Ingredient carob_chips = create_ingredient("carob chips", "Carob chips are the dried, toasted form of <a href='carob.html'>carob</a> pods."); Ingredient bay_leaf = create_ingredient("bay leaf", "The bay leaf is an aromatic leaf that is both used whole, dried and ground. Bay leaf come from many plants, like the Bay laurel <b>Laurus nobilis</b>, California bay leaf <b>Umbellularia californica</b> and Malabathrum <b>Cinnamomum tamala</b>. Fresh or dried bay leaves are used in cooking for their distinctive flavour and fragrance."); -Ingredient chili_pepper_flakes = create_ingredient("chili pepper flakes", "Chili pepper pods, which are berries, are used fresh or dried. Chilies are dried to preserve them for long periods of time. <a href='http://scottroberts.org/ultimate-guide-to-drying-hot-peppers/' target='_blank'>Dehydrated chiles</a> pack more fiery punch and ferocity in both solid food and hot sauce recipes than fresh peppers. If kept in a cool, dry place they should keep well for at least one year."); +Ingredient chili_pepper_flakes = create_child_ingredient(&chili_peppers, "chili pepper flakes", "Chili pepper pods, which are berries, are used fresh or dried. Chilies are dried to preserve them for long periods of time. <a href='http://scottroberts.org/ultimate-guide-to-drying-hot-peppers/' target='_blank'>Dehydrated chiles</a> pack more fiery punch and ferocity in both solid food and hot sauce recipes than fresh peppers. If kept in a cool, dry place they should keep well for at least one year."); Ingredient green_chili = create_ingredient("green chili", "Missing description."); -Ingredient chili_peppers = create_ingredient("chili peppers", "Chili peppers, from Nahuatl <b>chīlli</b>, is the fruit of plants from the genus <b>Capsicum</b>. They're used in dishes to add heat or spice. There are many varieties of chili peppers, ranging in shape and color from white, yellow, red or purple to black. The 5 domesticated species are <b>Capsicum annuum</b>(bell peppers, cayenne etc), <b>Capsicum frutescens</b> (tabasco, thai etc), <b>Capsicum chinense</b> (habanero, naga etc), <b>Capsicum pubescens</b> (rocoto) and <b>Capsicum babbactum</b> (aji).The substances that give chili peppers their pungency (spicy heat) when ingested or applied topically are capsaicin. The quantity of capsaicin varies by variety, and on growing conditions. The intensity of the \"heat\" of chili peppers is commonly reported in <a href='https://web.archive.org/web/20100823044606/http://www.tabasco.com/info_booth/faq/scoville_how.cfm' target='_blank'>Scoville heat units</a> (SHU)."); +Ingredient hops = create_ingredient("hops", "Hops are the flowers of the hop plant <b>Humulus lupulus</b>. They are used a bittering, flavouring and stability agent in beer. While being bitter, hops also impart floral, fruity, or citrus flavours and aromas. Many different varieties are grown around the world, with different types used for particular styles of beer.Specific hop varieties are associated with beer regions and styles, with pale largers being brewed with European <b>noble hop</b> varieties like <b><a href='https://en.wikipedia.org/wiki/Saaz_hops' target='_blank'>Saaz</a></b> (Stella Artois) and <b>Hallertau</b>, British ales with <b>Fuggles</b> and <b>Goldings</b>, North American beers with <b><a href='https://en.wikipedia.org/wiki/Cascade_hop' target='_blank'>Cascade hops</a></b> (anchor brewing company) and <b>Columbus hops</b> and New Zealand <b>Pacific Gem</b> and <b>Motueka</b>. Hops tend to be unstable when exposed to light or air and lose their potency after a few months' storage.<br /><br />"); -Ingredient hops = create_ingredient("hops", "Hops are the flowers of the hop plant <b>Humulus lupulus</b>. They are used a bittering, flavouring and stability agent in beer. While being bitter, hops also impart floral, fruity, or citrus flavours and aromas. Many different varieties are grown around the world, with different types used for particular styles of beer.Specific hop varieties are associated with beer regions and styles, with pale largers being brewed with European <b>noble hop</b> varieties like <b><a href='https://en.wikipedia.org/wiki/Saaz_hops' target='_blank'>Saaz</a></b> (Stella Artois) and <b>Hallertau</b>, British ales with <b>Fuggles</b> and <b>Goldings</b>, North American beers with <b><a href='https://en.wikipedia.org/wiki/Cascade_hop' target='_blank'>Cascade hops</a></b> (anchor brewing company) and <b>Columbus hops</b> and New Zealand <b>Pacific Gem</b> and <b>Motueka</b>. Hops tend to be unstable when exposed to light or air and lose their potency after a few months' storage."); +Ingredient dried_orange_peel = create_ingredient("dried orange peel", "The thick bitter rind of oranges is used in certain recipes as a food flavoring or garnish. It contains oils and has a strong flavor to that of the orange pulp. The peel is a source of <b>vitamin C</b>.To make dried orange peel, wash the fruit well with running water. Dry, and peel the oranges with a sharp knife, and discard as much of the white pith from the skin as possible. Cut into thin, even pieces. Lay on a baking sheet, bake for 30-60 min at 200F. Check peels often so they don't burn (they curl when they're done). Remove from oven, let cool and store in an airtight container.<br /><br />"); -Ingredient dried_orange_peel = create_ingredient("dried orange peel", "The thick bitter rind of oranges is used in certain recipes as a food flavoring or garnish. It contains oils and has a strong flavor to that of the orange pulp. The peel is a source of <b>vitamin C</b>.To make dried orange peel, wash the fruit well with running water. Dry, and peel the oranges with a sharp knife, and discard as much of the white pith from the skin as possible. Cut into thin, even pieces. Lay on a baking sheet, bake for 30-60 min at 200F. Check peels often so they don't burn (they curl when they're done). Remove from oven, let cool and store in an airtight container."); +Ingredient oregano = create_ingredient("oregano", "Oregano, or <b>Origanum vulgare</b> is a plant of the mint family <b>Lamiaceae</b>. Oregano’s taste is zesty, slightly bitter and strong. It can be found fresh, dried or as an oil.Oregano leaves store well and are easily dried. Keep them in an airtight container once dried.<br /><br />"); -Ingredient oregano = create_ingredient("oregano", "Oregano, or <b>Origanum vulgare</b> is a plant of the mint family <b>Lamiaceae</b>. Oregano’s taste is zesty, slightly bitter and strong. It can be found fresh, dried or as an oil.Oregano leaves store well and are easily dried. Keep them in an airtight container once dried."); +Ingredient flour = create_ingredient("flour", "Flour is a powder made by grinding raw grains, roots, beans, nuts, or seeds. It is used to make many different foods. Cereal flour is the main ingredient of bread, which is a staple food for most cultures. Wheat is the most common base for flour, as is corn flour and rye flour. Cereal flour consists either of the endosperm, germ, and bran together (<a href='wholegrain_wheat_flour.html'>wholegrain wheat flour</a>) or of the endosperm alone (<a href='all_purpose_flour.html'>all purpose flour</a>)."); -Ingredient whole_wheat_flour = create_ingredient("whole wheat flour", "Whole wheat flour, or wholemeal flour, is a powdery substance derived from grinding wheatberries. It is typically mixed with lighter white flours. This type of flour contains both the bran and germ, and is typically made from hard winter red wheat (in the US)."); +Ingredient whole_wheat_flour = create_child_ingredient(&flour, "whole wheat flour", "Whole wheat flour, or wholemeal flour, is a powdery substance derived from grinding wheatberries. It is typically mixed with lighter white flours. This type of flour contains both the bran and germ, and is typically made from hard winter red wheat (in the US)."); -Ingredient buckwheat_groats = create_ingredient("buckwheat groats", "Buckwheat groats come from the buckwheat plant, or <b>Fagopyrum esculentum</b>. Buckwheat is not a wheat, but a 'pseudocereal' that is related to sorrel, knotweed and rhubarb. The groats can also be sprouted and then eaten raw or cooked. Buckwheat groats have a rich, nutty flavor, and are a good source of <b>zinc</b> and of the protein <b>lysine</b>.The groats can be processed into flour, made into beer, roasted and brewed as tea to make soba-cha <b>そば茶</b> and cooked like rice."); +Ingredient buckwheat_groats = create_ingredient("buckwheat groats", "Buckwheat groats come from the buckwheat plant, or <b>Fagopyrum esculentum</b>. Buckwheat is not a wheat, but a 'pseudocereal' that is related to sorrel, knotweed and rhubarb. The groats can also be sprouted and then eaten raw or cooked. Buckwheat groats have a rich, nutty flavor, and are a good source of <b>zinc</b> and of the protein <b>lysine</b>.The groats can be processed into flour, made into beer, roasted and brewed as tea to make soba-cha <b>そば茶</b> and cooked like rice.<br /><br />"); -Ingredient buckwheat_noodles = create_ingredient("buckwheat noodles", "Buckwheat noodles are popular in Japan and Korea, the difficulty of making noodles from flour with no gluten has resulted in a traditional art developed around their manufacture by hand. in Japan, they are made from buckwheat flour (juwari 十割), or a combination of buckwheat and wheat flours (nihachi soba 二八). Depending on the shop, the percentage of buckwheat flour in soba noodles typically ranges between 40 percent and 100 percent."); +Ingredient buckwheat_noodles = create_child_ingredient(&buckwheat_groats, "buckwheat noodles", "Buckwheat noodles are popular in Japan and Korea, the difficulty of making noodles from flour with no gluten has resulted in a traditional art developed around their manufacture by hand. in Japan, they are made from buckwheat flour (juwari 十割), or a combination of buckwheat and wheat flours (nihachi soba 二八). Depending on the shop, the percentage of buckwheat flour in soba noodles typically ranges between 40% and 100%."); -Ingredient buckwheat_flour = create_ingredient("buckwheat flour", "Buckwheat flour is made from ground buckwheat groats. It is often used partially in recipes with wheat flour. Use buckwheat flour for making buckwheat pancakes, noodles, and as a replacement for wheat flour in baked goods. As buckwheat contains no gluten, it may be eaten by people with gluten-related disorders."); +Ingredient buckwheat_flour = create_child_ingredient(&buckwheat_groats, "buckwheat flour", "Buckwheat flour is made from ground buckwheat groats. It is often used partially in recipes with wheat flour. Use buckwheat flour for making buckwheat pancakes, noodles, and as a replacement for wheat flour in baked goods. As buckwheat contains no gluten, it may be eaten by people with gluten-related disorders."); -Ingredient einkorn_wheat_flour = create_ingredient("einkorn wheat flour", "Einkorn wheat, or <b>Triticum monococcum</b>, was one of the first plants to be domesticated and cultivated. It is low-yielding, but thrives on poor, dry soil and fares better than other wheat in the same situations. Einkorn has more protein than modern red wheats, and is more nutritious. It is a good source of <b>protein</b> and <b>iron</b>.Because Einkorn wheat doesn't have much gluten, it won't rise as well as other wheats, but can be used in a variety of recipes like cookies, chips, pasta, crusts and salads. Two popular brands include Jovial Foods (Italy) and <a href='https://www.daybreakmill.com/' target='_blank'>Daybreak Mill</a> (Canadian)."); +Ingredient einkorn_wheat_flour = create_child_ingredient(&flour, "einkorn wheat flour", "Einkorn wheat, or <b>Triticum monococcum</b>, was one of the first plants to be domesticated and cultivated. It is low-yielding, but thrives on poor, dry soil and fares better than other wheat in the same situations. Einkorn has more protein than modern red wheats, and is more nutritious. It is a good source of <b>protein</b> and <b>iron</b>.Because Einkorn wheat doesn't have much gluten, it won't rise as well as other wheats, but can be used in a variety of recipes like cookies, chips, pasta, crusts and salads. Two popular brands include Jovial Foods (Italy) and <a href='https://www.daybreakmill.com/' target='_blank'>Daybreak Mill</a> (Canadian).<br /><br />"); -Ingredient spelt_flour = create_ingredient("spelt flour", "Spelt flour, or <b>Triticum aestivum</b> is an ancient grain, with a different genus than wheat. Spelt is reddish in color, and has a nutty, somewhat sweet and mild taste. Spelt is a wholegrain, rich in <b>iron</b>, <b>zinc</b>, <b>protein</b> and <b>calcium</b>.It is considered a light grain, meaning it won't weight down baked goods like <a href='whole_wheat_flour.html'>whole wheat flour</a> does. It is also much easier to digest than wheat. The gluten in spelt is more fragile, it breaks down more easily and so it's important to not knead too vigorously (that will result in a crumbly texture). Less gluten also means it won't rise as well, so a starter may be necessary, that, or more baking powder or yeast. (<a href='https://www.daybreakmill.com/products/spelt-flour?_pos=2&_sid=ee26723e4&_ss=r' target='_blank'>ref</a>)"); +Ingredient spelt_flour = create_child_ingredient(&flour, "spelt flour", "Spelt flour, or <b>Triticum aestivum</b> is an ancient grain, with a different genus than wheat. Spelt is reddish in color, and has a nutty, somewhat sweet and mild taste. Spelt is a wholegrain, rich in <b>iron</b>, <b>zinc</b>, <b>protein</b> and <b>calcium</b>.It is considered a light grain, meaning it won't weight down baked goods like <a href='whole_wheat_flour.html'>whole wheat flour</a> does. It is also much easier to digest than wheat. The gluten in spelt is more fragile, it breaks down more easily and so it's important to not knead too vigorously (that will result in a crumbly texture). Less gluten also means it won't rise as well, so a starter may be necessary, that, or more baking powder or yeast. (<a href='https://www.daybreakmill.com/products/spelt-flour?_pos=2&_sid=ee26723e4&_ss=r' target='_blank'>ref</a>)<br /><br />"); -Ingredient gluten_flour = create_ingredient("gluten flour", "Gluten flour is refined gluten protein, used to strengthen flour as needed. To make wheat gluten requires separating wheat flour into starch and protein by rinsing the starch away, leaving raw gluten which can be used in recipes. It can also be dried, as is the case for <a href='https://www.bobsredmill.com/vital-wheat-gluten.html' target='_blank'>vital wheat gluten</a>.It can be used to make a vegetarian meat substitute known as <a href='seitan.html'>seitan</a>. Adding ~1 tsp of gluten flour per cup of <a href='All_purpose_flour.html'>All purpose flour</a> gives the resulting mix the protein content of bread flour. Adding it to wholegrain bread recipes improves the texture and elasticity of the dough, helps retain the gas and steam from baking, and gives more volume to the baked bread."); +Ingredient gluten_flour = create_child_ingredient(&flour, "gluten flour", "Gluten flour is refined gluten protein, used to strengthen flour as needed. To make wheat gluten requires separating wheat flour into starch and protein by rinsing the starch away, leaving raw gluten which can be used in recipes. It can also be dried, as is the case for <a href='https://www.bobsredmill.com/vital-wheat-gluten.html' target='_blank'>vital wheat gluten</a>.It can be used to make a vegetarian meat substitute known as <a href='seitan.html'>seitan</a>. Adding ~1 tsp of gluten flour per cup of <a href='All_purpose_flour.html'>All purpose flour</a> gives the resulting mix the protein content of bread flour. Adding it to wholegrain bread recipes improves the texture and elasticity of the dough, helps retain the gas and steam from baking, and gives more volume to the baked bread.<br /><br />"); Ingredient corn = create_ingredient("corn", "Missing description."); -Ingredient cornmeal = create_ingredient("cornmeal", "Cornmeal is a coarse flour made from dried corn (maize). It is ground to fine, medium and coarse consistencies for a variety of uses. Steel-ground yellow cornmeal (found in the US) has the husk and germ removed, while stone-ground cornmeal retains some of the hull and germ, giving it more nutrients and flavor. Cornmeal comes in many colors, from blue to violet, yellow and white.Cornmeal can be used to flour the baking surface to prevent sticking. Cornmeal can also be boiled (polenta), and be used in baking, to make muffins, flatbreads, breads, desserts (cornbread, cornpone etc). Steel-ground yellow cornmeal keeps for 1 year if stored in a cool, dry place within an airtight container. Stone-ground cornmeal is more perishable, but will store longer if refrigerated or kept in a cool place."); +Ingredient cornmeal = create_child_ingredient(&corn, "cornmeal", "Cornmeal is a coarse flour made from dried corn (maize). It is ground to fine, medium and coarse consistencies for a variety of uses. Steel-ground yellow cornmeal (found in the US) has the husk and germ removed, while stone-ground cornmeal retains some of the hull and germ, giving it more nutrients and flavor. Cornmeal comes in many colors, from blue to violet, yellow and white.Cornmeal can be used to flour the baking surface to prevent sticking. Cornmeal can also be boiled (polenta), and be used in baking, to make muffins, flatbreads, breads, desserts (cornbread, cornpone etc). Steel-ground yellow cornmeal keeps for 1 year if stored in a cool, dry place within an airtight container. Stone-ground cornmeal is more perishable, but will store longer if refrigerated or kept in a cool place.<br /><br />"); -Ingredient corn_semolina = create_ingredient("corn semolina", "Corn semolina is the coarse middlings from maize (corn)."); +Ingredient corn_semolina = create_child_ingredient(&corn, "corn semolina", "Corn semolina is the coarse middlings from maize (corn)."); -Ingredient oats = create_ingredient("oats", "Oats, or <b>Avena sativa</b>, is a species of cereal grain grown for its seed. Oats is sold in many forms, as groats (whole), steel-cut (cut groats), <a href='#rolled_oats.html'>rolled</a> (flattened), crushed (quick oats) or ground into flour. Oats are a source of <b>protein</b>, <b>thiamine</b>, <b>iron</b>, and are a near equivalent in quality to <a href='#soy_beans.html'>soy protein</a>.Oats are often boiled and eaten as porridge, but can also be baked into savoury foods and desserts, or made into plant milk."); +Ingredient oats = create_ingredient("oats", "Oats, or <b>Avena sativa</b>, is a species of cereal grain grown for its seed. Oats is sold in many forms, as groats (whole), steel-cut (cut groats), <a href='#rolled_oats.html'>rolled</a> (flattened), crushed (quick oats) or ground into flour. Oats are a source of <b>protein</b>, <b>thiamine</b>, <b>iron</b>, and are a near equivalent in quality to <a href='#soy_beans.html'>soy protein</a>.Oats are often boiled and eaten as porridge, but can also be baked into savoury foods and desserts, or made into plant milk.<br /><br />"); -Ingredient rolled_oats = create_ingredient("rolled oats", "Rolled oats are oat groats that are dehusked and steamed, before being rolled into flat flakes under heavy rollers.Thick-rolled oats are large whole flakes, and thin-rolled oats are smaller, fragmented flakes. Rolled whole oats, without further processing, can be cooked into a porridge and eaten as old-fashioned oats. Rolled oats are most often the main ingredient in granola and muesli."); +Ingredient rolled_oats = create_ingredient("rolled oats", "Rolled oats are oat groats that are dehusked and steamed, before being rolled into flat flakes under heavy rollers.Thick-rolled oats are large whole flakes, and thin-rolled oats are smaller, fragmented flakes. Rolled whole oats, without further processing, can be cooked into a porridge and eaten as old-fashioned oats. Rolled oats are most often the main ingredient in granola and muesli.<br /><br />"); Ingredient rice = create_ingredient("rice", "Rice is the seed of the grass species <b>Oryza sativa</b> (asian rice) or <b>Oryza glaberrima</b> (african rice). Rice is the most important grain with regard to human nutrition and caloric intake, providing more than one-fifth of the calories consumed worldwide by humans. Many varieties of rice are fortified to reduce malnutrition."); -Ingredient basmati_rice = create_ingredient("basmati rice", "Basmati, meaning <b>fragrant</b>, is a variety of long, thin-grained aromatic rice traditionally cultivated in India. The rice has a <a href='#pandanus.html'>pandan</a>-like flavor, giving it a spicy fragrance. The level of the compound that gives basmati rice its distinctive aroma decreases in cooking, but if the rice is soaked 30 min before cooking it helps preserve more of it.<b>How to cook:</b> Ratios of rice to water is 1:1.5 To cook basmati rice, rinse for a few minutes to get rid of the starch that makes the rice sticky. Add a bit of salt to the rice into the rice grains. Pour boiling water over the rice. Set pot over med-high heat, when water boils cover with lid so that no steam escapes. Reduce heat, cook for 15 min. After 15 min, remove from heat and let rest for another 5 min."); - -Ingredient short_grain_white_rice = create_ingredient("short grain white rice", "Short grain white rice is also known as <b>uruchimai</b> rice or <b>sushi rice</b> in the west. It consists of short translucent grains that develop a sticky texture when cooked. The most common cultivars include <b>Koshihiraki</b>, <b>Akitakomachi</b>, <b>Sasanishiki</b> and <b>Calrose</b>. Calrose is technically a medium-grain rice, but is commonly used in in North American in Japanese cuisine. White short grain rice is milled so that it has its husk, bran and germ removed. Doing this alters the flavor and look of the rice and helps extend its storage life. After the rice is milled, the rice is often polished so that it becomes even more white.<b>How to cook glutinous rice:</b> Wash the rice to release excess starch, until water runs clear. Soak for 30 min (in summer) and 2h (in winter). Use a rice to water ratio of 1:1.25. Bring water to a boil, turn heat to low and cover pot with lid. Cook for 10 minutes. Let rest for 10 min."); +Ingredient basmati_rice = create_child_ingredient(&rice, "basmati rice", "Basmati, meaning <b>fragrant</b>, is a variety of long, thin-grained aromatic rice traditionally cultivated in India. The rice has a <a href='#pandanus.html'>pandan</a>-like flavor, giving it a spicy fragrance. The level of the compound that gives basmati rice its distinctive aroma decreases in cooking, but if the rice is soaked 30 min before cooking it helps preserve more of it.<b>How to cook:</b> Ratios of rice to water is 1:1.5 To cook basmati rice, rinse for a few minutes to get rid of the starch that makes the rice sticky. Add a bit of salt to the rice into the rice grains. Pour boiling water over the rice. Set pot over med-high heat, when water boils cover with lid so that no steam escapes. Reduce heat, cook for 15 min. After 15 min, remove from heat and let rest for another 5 min.<br /><br />"); -Ingredient black_rice = create_ingredient("black rice", "Missing description."); +Ingredient short_grain_white_rice = create_child_ingredient(&rice, "short grain white rice", "Short grain white rice is also known as <b>uruchimai</b> rice or <b>sushi rice</b> in the west. It consists of short translucent grains that develop a sticky texture when cooked. The most common cultivars include <b>Koshihiraki</b>, <b>Akitakomachi</b>, <b>Sasanishiki</b> and <b>Calrose</b>. Calrose is technically a medium-grain rice, but is commonly used in in North American in Japanese cuisine. White short grain rice is milled so that it has its husk, bran and germ removed. Doing this alters the flavor and look of the rice and helps extend its storage life. After the rice is milled, the rice is often polished so that it becomes even more white.<b>How to cook glutinous rice:</b> Wash the rice to release excess starch, until water runs clear. Soak for 30 min (in summer) and 2h (in winter). Use a rice to water ratio of 1:1.25. Bring water to a boil, turn heat to low and cover pot with lid. Cook for 10 minutes. Let rest for 10 min.<br /><br />"); -Ingredient puffed_rice = create_ingredient("puffed rice", "Puffed rice refers to various foods made by introducing air into rice, typically in such a way that the grains of rice become larger and lighter, while also reducing moisture to achieve a crisp texture consistency. A variety of methods exist to make puffed rice, with varying effects on the final product (<a href='https://en.wikipedia.org/wiki/Puffed_rice' target='_blank'>ref</a>)."); +Ingredient black_rice = create_child_ingredient(&rice, "black rice", "Missing description."); -Ingredient medium_grain_brown_rice = create_ingredient("medium grain brown rice", "Brown rice is medium or long-grain rice that has not been polished (still has its bran and germ). The rice is a beige, or light brown color and has not been refined. Brown rice is higher in vitamins, such as B1 (thiamine), but has a longer cooking time. Brown rice has a shelf life of approximately 6 months.<b>How to cook brown rice:</b> Use a rice to water ratio of 1:2. Rinse the rice thoroughly. Combine rice and water, stir in some salt. Bring to a boil and reduce heat and cover. Cook for 45 min. Take rice off heat, let rest for 10-15 min.<br /><br /><a href='https://en.wikipedia.org/wiki/Germinated_brown_rice' target='_blank'>Germinated brown rice</a> has a good nutritional profile, cooks faster than brown rice and has a better overall texture when cooked."); +Ingredient puffed_rice = create_child_ingredient(&rice, "puffed rice", "Puffed rice refers to various foods made by introducing air into rice, typically in such a way that the grains of rice become larger and lighter, while also reducing moisture to achieve a crisp texture consistency. A variety of methods exist to make puffed rice, with varying effects on the final product (<a href='https://en.wikipedia.org/wiki/Puffed_rice' target='_blank'>ref</a>)."); -Ingredient black_glutinous_rice = create_ingredient("black glutinous rice", "Black/purple glutinous is unmilled rice, and come from distinct strains from white glutinous rice. It is a dark black/purple color, and has an earthy, nutty taste. This type of rice is rich in <b>iron</b>.<b>How to cook:</b> Soak the the rice in water overnight, or for at least 6h. Add water to a pot, superimpose steam basket and add rice in it, cover with lid and steam for 40 min. After 40 min, pour a cup of hot water over rice, shake rice, and steam for another 10 min. Remove from heat, keep covered until serving time."); +Ingredient medium_grain_brown_rice = create_child_ingredient(&rice, "medium grain brown rice", "Brown rice is medium or long-grain rice that has not been polished (still has its bran and germ). The rice is a beige, or light brown color and has not been refined. Brown rice is higher in vitamins, such as B1 (thiamine), but has a longer cooking time. Brown rice has a shelf life of approximately 6 months.<b>How to cook brown rice:</b> Use a rice to water ratio of 1:2. Rinse the rice thoroughly. Combine rice and water, stir in some salt. Bring to a boil and reduce heat and cover. Cook for 45 min. Take rice off heat, let rest for 10-15 min.<br /><br /><a href='https://en.wikipedia.org/wiki/Germinated_brown_rice' target='_blank'>Germinated brown rice</a> has a good nutritional profile, cooks faster than brown rice and has a better overall texture when cooked.<br /><br />"); -Ingredient rice_flour = create_ingredient("rice flour", "Rice flour is made from finely milled rice, and is made from both brown and white rice. In Japan, rice flour is called <b>komeko 米粉</b>, and is available in two forms: glutinous and non-glutinous.Glutinous flours are sweet/sticky, and include <b>mochigomeko もち米粉</b>, made from ground cooked glutinous rice and used as a thickener/to make mochi, and <b>shiratamako 白玉粉</b>, is produced from ground uncooked glutinous rice and is used to make confectioneries. Non-glutinous flour varieties are used to make flat breads, breads etc"); +Ingredient black_glutinous_rice = create_child_ingredient(&rice, "black glutinous rice", "Black/purple glutinous is unmilled rice, and come from distinct strains from white glutinous rice. It is a dark black/purple color, and has an earthy, nutty taste. This type of rice is rich in <b>iron</b>.<b>How to cook:</b> Soak the the rice in water overnight, or for at least 6h. Add water to a pot, superimpose steam basket and add rice in it, cover with lid and steam for 40 min. After 40 min, pour a cup of hot water over rice, shake rice, and steam for another 10 min. Remove from heat, keep covered until serving time.<br /><br />"); -Ingredient flour = create_ingredient("flour", "Flour is a powder made by grinding raw grains, roots, beans, nuts, or seeds. It is used to make many different foods. Cereal flour is the main ingredient of bread, which is a staple food for most cultures. Wheat is the most common base for flour, as is corn flour and rye flour. Cereal flour consists either of the endosperm, germ, and bran together (<a href='wholegrain_wheat_flour.html'>wholegrain wheat flour</a>) or of the endosperm alone (<a href='all_purpose_flour.html'>all purpose flour</a>)."); +Ingredient rice_flour = create_child_ingredient(&rice, "rice flour", "Rice flour is made from finely milled rice, and is made from both brown and white rice. In Japan, rice flour is called <b>komeko 米粉</b>, and is available in two forms: glutinous and non-glutinous.Glutinous flours are sweet/sticky, and include <b>mochigomeko もち米粉</b>, made from ground cooked glutinous rice and used as a thickener/to make mochi, and <b>shiratamako 白玉粉</b>, is produced from ground uncooked glutinous rice and is used to make confectioneries. Non-glutinous flour varieties are used to make flat breads, breads etc<br /><br />"); -Ingredient all_purpose_flour = create_ingredient("all purpose flour", "All-purpose, or plain flour, has a medium level of gluten protein content.AP has enough protein content for many bread and pizza bases, although artisan bakers often use bread flour and special grade 00 Italian flours. \"Plain\" also refers to AP's lack of any added leavening agent."); +Ingredient all_purpose_flour = create_child_ingredient(&flour, "all purpose flour", "All-purpose, or plain flour, has a medium level of gluten protein content.AP has enough protein content for many bread and pizza bases, although artisan bakers often use bread flour and special grade 00 Italian flours. \"Plain\" also refers to AP's lack of any added leavening agent.<br /><br />"); -Ingredient breadfruit_flour = create_ingredient("breadfruit flour", "The product of dried and ground breadfruit. It it used to make cookies, cakes, <a href='#breadfruit_pasta.html'>pasta</a> and a number of other recipes."); +Ingredient breadfruit_flour = create_child_ingredient(&breadfruit, "breadfruit flour", "The product of dried and ground breadfruit. It it used to make cookies, cakes, <a href='#breadfruit_pasta.html'>pasta</a> and a number of other recipes."); -Ingredient wheat_semolina = create_ingredient("wheat semolina", "Wheat semolina is the coarse wheat middlings of durum wheat. It is a pale yellow color, and is often used as the base for dried products (couscous) and to flour baking surfaces to prevent sticking.The wheat berries are fed into a mill, and the rollers gradually remove the bran and germ while the endosperm (starch) is cracked into coarse bits. The lot is sifted, and so the endosperm, particles and semolina is separated."); +Ingredient wheat_semolina = create_ingredient("wheat semolina", "Wheat semolina is the coarse wheat middlings of durum wheat. It is a pale yellow color, and is often used as the base for dried products (couscous) and to flour baking surfaces to prevent sticking.The wheat berries are fed into a mill, and the rollers gradually remove the bran and germ while the endosperm (starch) is cracked into coarse bits. The lot is sifted, and so the endosperm, particles and semolina is separated.<br /><br />"); -Ingredient beni_shouga = create_ingredient("beni shouga", "Beni shouga, or pickled ginger, is a Japanese pickle or <b>tsukemono 漬物</b>.Beni shouga is made from thin strips of ginger, pickled in <b>umezu 梅酢</b> (plum brine). Umezu is the brine that results during the process of making <b>umeboshi 梅干</b> (pickled plums). Traditionally, the red of the ginger comes from the <b>shiso シソ</b> plant of the genus <b>Perilla</b>, although most commercial products use artificial coloring. Beni shouga is commonly served in yakisoba (sauteed buckwheat noodles) and <a href='#okonomiyaki.html'>okonomiyaki</a>"); +Ingredient beni_shouga = create_child_ingredient(&ginger_root, "beni shouga", "Beni shouga, or pickled ginger, is a Japanese pickle or <b>tsukemono 漬物</b>.Beni shouga is made from thin strips of ginger, pickled in <b>umezu 梅酢</b> (plum brine). Umezu is the brine that results during the process of making <b>umeboshi 梅干</b> (pickled plums). Traditionally, the red of the ginger comes from the <b>shiso シソ</b> plant of the genus <b>Perilla</b>, although most commercial products use artificial coloring. Beni shouga is commonly served in yakisoba (sauteed buckwheat noodles) and <a href='#okonomiyaki.html'>okonomiyaki</a><br /><br />"); -Ingredient vegemite = create_ingredient("vegemite", "Vegemite is a thick, dark brown food spread. It's made from leftover brewer's yeast extract with various vegetable and spices added. Vegemite is very salty, with a strong umami, malty flavor. It is a rich source of <b>B vitamins</b>.Vegemite is the Australian cousin of <b>Marmite</b>, concocted by a chemist during a time where imports of Marmite into Australia were disrupted by the war (see <a href='https://theculturetrip.com/pacific/australia/articles/the-history-of-australias-favourite-spread-vegemite/' target='_blank'>story</a>)."); +Ingredient vegemite = create_ingredient("vegemite", "Vegemite is a thick, dark brown food spread. It's made from leftover brewer's yeast extract with various vegetable and spices added. Vegemite is very salty, with a strong umami, malty flavor. It is a rich source of <b>B vitamins</b>.Vegemite is the Australian cousin of <b>Marmite</b>, concocted by a chemist during a time where imports of Marmite into Australia were disrupted by the war (see <a href='https://theculturetrip.com/pacific/australia/articles/the-history-of-australias-favourite-spread-vegemite/' target='_blank'>story</a>).<br /><br />"); -Ingredient miso = create_ingredient("miso", "Miso, or <b>みそ</b>, is a traditional Japanese seasoning produced by fermenting <a href='soybeans.html'>soybeans</a> with both salt and koji (fungus <b>Aspergillus oryzae</b>) and sometimes with <a href='rice.html'>rice</a>, barley and <a href='seaweed.html'>seaweed</a>. Miso is salty, but it's flavor and aroma depends on the ingredients used or the fermentation process. There is a wide variety of Japanese miso, it is typically classified by grain type (barley, buckwheat, rice etc), color (white, brown, black & red), taste (sweet, salty, earthy, fruity etc) and background (where it's from). The most common miso flavor categories are: <b>Shiromiso</b> (white), <b>Akamiso</b> (red) and <b>Awasemiso</b> (mixed). Miso is a rich source of <b>protein</b>.Miso is high in sodium, a known carcinogenic, but is <a href='https://nutritionfacts.org/video/is-miso-healthy/' target='_blank'>safe to consume</a> as the carcinogenic effects of the salt are counteracted by the <a href='https://www.ncbi.nlm.nih.gov/pubmed/23812102' target='_blank'>anti-carcinogenic effects of the soy</a>. As for risks of hypertention, the salt in miso is squeezing blood pressures up, but the <a href='https://www.ncbi.nlm.nih.gov/pubmed/12097666' target='_blank'>soy protein</a> in miso is relaxing blood pressures down. All in all, the anti-hypertensive effects of the soy in the miso exceed the <a href='https://www.ncbi.nlm.nih.gov/pubmed/11195162' target='_blank'>hypertensive effects</a> of the salt.<br /><br />Fermentation time ranges from as little as five days to several years. The color of fermented miso changes from white, to red or black, due to the <a href='https://en.wikipedia.org/wiki/Maillard_reaction' target='_blank'>Maillard reaction</a>, a chemical reaction between amino acids and reducing sugars that gives browned food its distinctive flavor. Miso typically comes as a paste in a sealed container requiring refrigeration after opening. It is used in soups (miso soup, ramen, nabe, udon etc), traditional confections (mochidango) and to make pickes (misozuke).<br /><br /><b>Cooking notes:</b> As natural miso is a living food, it contains many beneficial microorganisms (like <a href='https://en.wikipedia.org/wiki/Tetragenococcus_halophilus' target='_blank'>Tetragenococcus halophilus</a>) which can be killed by overcooking. To better conserve these precious microorganisms, miso should be added to soups or other foods just before they're removed from heat. Eating raw miso is even better."); +Ingredient miso = create_ingredient("miso", "Miso, or <b>みそ</b>, is a traditional Japanese seasoning produced by fermenting <a href='soybeans.html'>soybeans</a> with both salt and koji (fungus <b>Aspergillus oryzae</b>) and sometimes with <a href='rice.html'>rice</a>, barley and <a href='seaweed.html'>seaweed</a>. Miso is salty, but it's flavor and aroma depends on the ingredients used or the fermentation process. There is a wide variety of Japanese miso, it is typically classified by grain type (barley, buckwheat, rice etc), color (white, brown, black & red), taste (sweet, salty, earthy, fruity etc) and background (where it's from). The most common miso flavor categories are: <b>Shiromiso</b> (white), <b>Akamiso</b> (red) and <b>Awasemiso</b> (mixed). Miso is a rich source of <b>protein</b>.Miso is high in sodium, a known carcinogenic, but is <a href='https://nutritionfacts.org/video/is-miso-healthy/' target='_blank'>safe to consume</a> as the carcinogenic effects of the salt are counteracted by the <a href='https://www.ncbi.nlm.nih.gov/pubmed/23812102' target='_blank'>anti-carcinogenic effects of the soy</a>. As for risks of hypertention, the salt in miso is squeezing blood pressures up, but the <a href='https://www.ncbi.nlm.nih.gov/pubmed/12097666' target='_blank'>soy protein</a> in miso is relaxing blood pressures down. All in all, the anti-hypertensive effects of the soy in the miso exceed the <a href='https://www.ncbi.nlm.nih.gov/pubmed/11195162' target='_blank'>hypertensive effects</a> of the salt.<br /><br />Fermentation time ranges from as little as five days to several years. The color of fermented miso changes from white, to red or black, due to the <a href='https://en.wikipedia.org/wiki/Maillard_reaction' target='_blank'>Maillard reaction</a>, a chemical reaction between amino acids and reducing sugars that gives browned food its distinctive flavor. Miso typically comes as a paste in a sealed container requiring refrigeration after opening. It is used in soups (miso soup, ramen, nabe, udon etc), traditional confections (mochidango) and to make pickes (misozuke).<br /><br /><b>Cooking notes:</b> As natural miso is a living food, it contains many beneficial microorganisms (like <a href='https://en.wikipedia.org/wiki/Tetragenococcus_halophilus' target='_blank'>Tetragenococcus halophilus</a>) which can be killed by overcooking. To better conserve these precious microorganisms, miso should be added to soups or other foods just before they're removed from heat. Eating raw miso is even better.<br /><br />"); -Ingredient red_miso = create_ingredient("red miso", "Red miso, or <b>Akamiso (赤味噌)</b>, is salty with some astringency with umami. It is strong-tasting, and the depth of color depends on the formula of the <a href='soybeans.html'>soybeans</a> and the quantity that is used. Red miso is aged, for a year or more."); +Ingredient red_miso = create_child_ingredient(&miso, "red miso", "Red miso, or <b>Akamiso (赤味噌)</b>, is salty with some astringency with umami. It is strong-tasting, and the depth of color depends on the formula of the <a href='soybeans.html'>soybeans</a> and the quantity that is used. Red miso is aged, for a year or more."); -Ingredient white_miso = create_ingredient("white miso", "White miso, or <b>Shiromiso (白味噌)</b>, is the most common type of miso. Its main ingredients include rice, barley, and a small quantity of soybeans. If there was a greater quanity of soybeans, the miso would turn a red or brown color. White miso has a very short fermentation time. It has a sweet taste, with a light umami taste."); +Ingredient white_miso = create_child_ingredient(&miso, "white miso", "White miso, or <b>Shiromiso (白味噌)</b>, is the most common type of miso. Its main ingredients include rice, barley, and a small quantity of soybeans. If there was a greater quanity of soybeans, the miso would turn a red or brown color. White miso has a very short fermentation time. It has a sweet taste, with a light umami taste."); -Ingredient tofu = create_ingredient("tofu", "Tofu is prepared by coagulating <a href='soy_milk.html'>soy milk</a> and pressing the resulting curds into a solid block of varying softness (silken, soft, firm, extra firm etc). Tofu has a muted flavor, that can be used in both sweet and savory recipes. Tofu is low in calories, and is a rich source of <b>protein</b>, <b>iron</b> and <b>calcium</b> (if the tofu was calcium-set).Tofu is set using a variety of coagulants, like <b>gypsum (calcium sulfate)</b>, which produces tofu that is tender but brittle in texture, and <b>chloride-type nigari salts (magnesium chloride and calcium chloride)</b>, which produces tofu with a smooth and tender texture.<br /><br />There are many types of processed tofu, including pickled tofu (<a href='https://en.wikipedia.org/wiki/Stinky_tofu' target='_blank'>sticky tofu</a>, <a href='https://en.wikipedia.org/wiki/Pickled_tofu' target='_blank'>pickled tofu</a>) and frozen tofu (thousand-layer tofu, kori tofu). Tofu byproducts are also very popular, and this includes tofu skin (yuba) and soy pulp (okara)."); +Ingredient tofu = create_ingredient("tofu", "Tofu is prepared by coagulating <a href='soy_milk.html'>soy milk</a> and pressing the resulting curds into a solid block of varying softness (silken, soft, firm, extra firm etc). Tofu has a muted flavor, that can be used in both sweet and savory recipes. Tofu is low in calories, and is a rich source of <b>protein</b>, <b>iron</b> and <b>calcium</b> (if the tofu was calcium-set).Tofu is set using a variety of coagulants, like <b>gypsum (calcium sulfate)</b>, which produces tofu that is tender but brittle in texture, and <b>chloride-type nigari salts (magnesium chloride and calcium chloride)</b>, which produces tofu with a smooth and tender texture.<br /><br />There are many types of processed tofu, including pickled tofu (<a href='https://en.wikipedia.org/wiki/Stinky_tofu' target='_blank'>sticky tofu</a>, <a href='https://en.wikipedia.org/wiki/Pickled_tofu' target='_blank'>pickled tofu</a>) and frozen tofu (thousand-layer tofu, kori tofu). Tofu byproducts are also very popular, and this includes tofu skin (yuba) and soy pulp (okara).<br /><br />"); -Ingredient soft_tofu = create_ingredient("soft tofu", "Soft tofu (嫩豆腐 or silken tofu), as its name suggests, is a softer version of tofu. It is undrained, unpressed and has a high moisture content. Its moisture content should be taken into consideration when added to recipes. It is often used to make sauces, or smoothies."); +Ingredient soft_tofu = create_child_ingredient(&tofu, "soft tofu", "Soft tofu (嫩豆腐 or silken tofu), as its name suggests, is a softer version of tofu. It is undrained, unpressed and has a high moisture content. Its moisture content should be taken into consideration when added to recipes. It is often used to make sauces, or smoothies."); -Ingredient burmese_tofu = create_ingredient("burmese tofu", "Burmese tofu is not made from <a href='soybeans.html'>soybeans</a>, but with besan (chickpea) flour. It's made in a way that is similar to polenta, by mixing flour with water, turmeric and salt. Burmese tofu is yellow, with a jelly texture that doesn't crumbled when cut or sliced.Burmese tofu can be fried, eaten in salads, curried etc. It is also used as an alternative to tofu for individuals who are sensitive to soy products."); +Ingredient burmese_tofu = create_child_ingredient(&tofu, "burmese tofu", "Burmese tofu is not made from <a href='soybeans.html'>soybeans</a>, but with besan (chickpea) flour. It's made in a way that is similar to polenta, by mixing flour with water, turmeric and salt. Burmese tofu is yellow, with a jelly texture that doesn't crumbled when cut or sliced.Burmese tofu can be fried, eaten in salads, curried etc. It is also used as an alternative to tofu for individuals who are sensitive to soy products.<br /><br />"); -Ingredient veganaise = create_ingredient("veganaise", "Venagaise is a brand of plant-based mayonnaise, and it is also a general word used to refer to mayos that don't use animal products. To view the ingredients, see the <a href='#homemade_veganaise.html'>recipe</a>."); +Ingredient veganaise = create_child_ingredient(&tofu, "veganaise", "Venagaise is a brand of plant-based mayonnaise, and it is also a general word used to refer to mayos that don't use animal products. To view the ingredients, see the <a href='#homemade_veganaise.html'>recipe</a>."); Ingredient soy_sauce = create_ingredient("soy sauce", "The solids left behind after the fermentation process is used as animal feed"); @@ -414,7 +415,7 @@ Ingredient mirin = create_ingredient("mirin", "Mirin is added to grilled fish to Ingredient baking_powder = create_ingredient("baking powder", "Missing description."); -Ingredient bamboo_charcoal_powder = create_ingredient("bamboo charcoal powder", "Missing description.Bamboo charcoal comes from pieces of bamboo plants, harvested after at least five years, and burned in ovens at temperatures ranging from <u>800 °C</u> to <u>1200 °C</u>.<br /><br />It benefits environmental protection by reducing pollutant residue. It is an environmentally functional material featuring excellent absorption properties. It can be added to foods to give it a black tint, it's very popular in Japan. You can get some through Taketora, a japanese company. (wikipedia description)."); +Ingredient bamboo_charcoal_powder = create_ingredient("bamboo charcoal powder", "Missing description.Bamboo charcoal comes from pieces of bamboo plants, harvested after at least five years, and burned in ovens at temperatures ranging from <u>800 °C</u> to <u>1200 °C</u>.<br /><br />It benefits environmental protection by reducing pollutant residue. It is an environmentally functional material featuring excellent absorption properties. It can be added to foods to give it a black tint, it's very popular in Japan. You can get some through Taketora, a japanese company. (wikipedia description).<br /><br />"); Ingredient cornstarch = create_ingredient("cornstarch", "Missing description."); @@ -428,49 +429,49 @@ Ingredient arrowroot_starch = create_ingredient("arrowroot starch", "Missing des Ingredient maple_syrup = create_ingredient("maple syrup", "Quebec is the largest producer of maple syrup in the world!"); -Ingredient brown_rice_syrup = create_ingredient("brown rice syrup", "Brown rice syrup, or brown rice malt, is a sweetener. Is is made by steeping cooked rice starch with enzymes that break them down, the liquid is then strained off and reduced until the desired consistency is reached.Rice syrup has a shelf life of about a year, and once opened, should be stored in a cool, dry place."); +Ingredient brown_rice_syrup = create_ingredient("brown rice syrup", "Brown rice syrup, or brown rice malt, is a sweetener. Is is made by steeping cooked rice starch with enzymes that break them down, the liquid is then strained off and reduced until the desired consistency is reached.Rice syrup has a shelf life of about a year, and once opened, should be stored in a cool, dry place.<br /><br />"); -Ingredient rice_vinegar = create_ingredient("rice vinegar", "Rice vinegar is made by fermenting rice, and is often used as a dressing or as seasoning.Rice vinegar comes in a variety of flavors and color, ranging from clear to red, brown and black. The Chinese varieties are stronger, and known as 'rice wine vinegars' while Japanese vinegars are less acidic."); +Ingredient rice_vinegar = create_ingredient("rice vinegar", "Rice vinegar is made by fermenting rice, and is often used as a dressing or as seasoning.Rice vinegar comes in a variety of flavors and color, ranging from clear to red, brown and black. The Chinese varieties are stronger, and known as 'rice wine vinegars' while Japanese vinegars are less acidic.<br /><br />"); -Ingredient japanese_rice_vinegar = create_ingredient("japanese rice vinegar", "Japanese Rice vinegar \"komezu\" or simply \"su\" has a very mild taste, and is either colorless or yellow. Japanese rice vinegar is made from rice.This type of vinegar is less acidic than Chinese varieties, and are used to season rice, and for making \"sunomono\" (vinegar dishes) and \"tsukemono\" (pickles). There are some kinds of Japanese rice vinegars that are 'seasoned', meaning that they have additives like <a href='sake.html'>sake</a>, <a href='salt.html'>salt</a> and <a href='sugar.html'>sugar</a>, for added flavor."); +Ingredient japanese_rice_vinegar = create_ingredient("japanese rice vinegar", "Japanese Rice vinegar \"komezu\" or simply \"su\" has a very mild taste, and is either colorless or yellow. Japanese rice vinegar is made from rice.This type of vinegar is less acidic than Chinese varieties, and are used to season rice, and for making \"sunomono\" (vinegar dishes) and \"tsukemono\" (pickles). There are some kinds of Japanese rice vinegars that are 'seasoned', meaning that they have additives like <a href='sake.html'>sake</a>, <a href='salt.html'>salt</a> and <a href='sugar.html'>sugar</a>, for added flavor.<br /><br />"); -Ingredient balsamic_vinegar = create_ingredient("balsamic vinegar", "Balsamic vinegar, or <b>aceto balsamico</b> is a dark, concentrated, flavoured vinegar from Italy. It is made wholly, or in part from grape must. True balsamic vinegar is rich with a complex flavor that is both sweet and sour.The name \"aceto balsamico\" isn't regulated, but there are 3 in existence that are: Aceto Balsamic Tradizionale di Modena, Aceto Balsamico Tradizionale di Reggio Emilia and Aceto Balsamico di Modena. The two traditional varieties are made from a reduction of pressed Trebbiano and Lambrusco grapes that are aged for many years in wooden barrels (for a minimum of 12yrs), produced exclusively in the province of Modena or the Emilia region around it. Aceto Balsamico di Modena is also made from grape must, but it is blended with wine vinegar, and imitates the traditional product."); +Ingredient balsamic_vinegar = create_ingredient("balsamic vinegar", "Balsamic vinegar, or <b>aceto balsamico</b> is a dark, concentrated, flavoured vinegar from Italy. It is made wholly, or in part from grape must. True balsamic vinegar is rich with a complex flavor that is both sweet and sour.The name \"aceto balsamico\" isn't regulated, but there are 3 in existence that are: Aceto Balsamic Tradizionale di Modena, Aceto Balsamico Tradizionale di Reggio Emilia and Aceto Balsamico di Modena. The two traditional varieties are made from a reduction of pressed Trebbiano and Lambrusco grapes that are aged for many years in wooden barrels (for a minimum of 12yrs), produced exclusively in the province of Modena or the Emilia region around it. Aceto Balsamico di Modena is also made from grape must, but it is blended with wine vinegar, and imitates the traditional product.<br /><br />"); -Ingredient apple_cider_vinegar = create_ingredient("apple cider vinegar", "Apple cider vinegar is made from fermented apple juice, it is used for food preservation, marinades, vinaigrettes salad dressings. It has a sour taste, and can be used to make homemade cleaning products.ACV is made from crushing apples and extracting the juice, bacteria and yeast are then aded to kickstart the fermentation process which converts the sugars into alcohol. There is a second fermentation, which then turns the alcohol into vinegar by acetic acid-forming bacteria. It can be used as a leavening agent in recipes, when mixed with baking soda, creating a chemical reaction which produces carbon dioxide which helps lift the batter."); +Ingredient apple_cider_vinegar = create_ingredient("apple cider vinegar", "Apple cider vinegar is made from fermented apple juice, it is used for food preservation, marinades, vinaigrettes salad dressings. It has a sour taste, and can be used to make homemade cleaning products.ACV is made from crushing apples and extracting the juice, bacteria and yeast are then aded to kickstart the fermentation process which converts the sugars into alcohol. There is a second fermentation, which then turns the alcohol into vinegar by acetic acid-forming bacteria. It can be used as a leavening agent in recipes, when mixed with baking soda, creating a chemical reaction which produces carbon dioxide which helps lift the batter.<br /><br />"); Ingredient b12_supplement = create_ingredient("b12 supplement", "Missing description."); -Ingredient matcha_powder = create_ingredient("matcha powder", "Matcha is finely ground powder of specialty grown green tea leaves.There are different grades of matcha, used for different purposes. There is <b>ceremonial grade</b>, <b>premium grade</b> and <b>culinary grade</b>. In recipes, it is used in desserts and drinks, it adds both bitterness and color to a dish and pairs well with sweet."); +Ingredient matcha_powder = create_ingredient("matcha powder", "Matcha is finely ground powder of specialty grown green tea leaves.There are different grades of matcha, used for different purposes. There is <b>ceremonial grade</b>, <b>premium grade</b> and <b>culinary grade</b>. In recipes, it is used in desserts and drinks, it adds both bitterness and color to a dish and pairs well with sweet.<br /><br />"); -Ingredient houjicha = create_ingredient("houjicha", "Houjicha is roasted Japanese green tea. It is roasted in a porcelain pot over charcoal, instead of being steamed like most Japanese teas. The leaves turn from green to brown, and develop a nutty, caramel-like flavor.Houjicha is lower in caffeine than green tea, because of the roasting process. Because of this, it is popular tea to serve in evenings after meals."); +Ingredient houjicha = create_ingredient("houjicha", "Houjicha is roasted Japanese green tea. It is roasted in a porcelain pot over charcoal, instead of being steamed like most Japanese teas. The leaves turn from green to brown, and develop a nutty, caramel-like flavor.Houjicha is lower in caffeine than green tea, because of the roasting process. Because of this, it is popular tea to serve in evenings after meals.<br /><br />"); -Ingredient wine = create_ingredient("wine", "Wine is made from fermented grapes, with different varieties of grapes and strains of yeast produced different styles of wine.There are many wine variants, like <b>red wine</b>, <b>white wine</b>, <b>rosé wine</b>. <b>fruit wines</b>, <b>honey wines</b> and <b>starch-based wines</b>. Different concentrations of alcohol in the human body have different effects on a person.<br /><br />Wine is often served with dinner, paired with specific dishes for enhanced flavors. There are sweet wines, to accompany desserts. Wine is also cooked as a flavor agent in dishes, like in stocks or when braising. The acidity of wine lends balance to rich savory or sweet dishes."); +Ingredient wine = create_ingredient("wine", "Wine is made from fermented grapes, with different varieties of grapes and strains of yeast produced different styles of wine.There are many wine variants, like <b>red wine</b>, <b>white wine</b>, <b>rosé wine</b>. <b>fruit wines</b>, <b>honey wines</b> and <b>starch-based wines</b>. Different concentrations of alcohol in the human body have different effects on a person.<br /><br />Wine is often served with dinner, paired with specific dishes for enhanced flavors. There are sweet wines, to accompany desserts. Wine is also cooked as a flavor agent in dishes, like in stocks or when braising. The acidity of wine lends balance to rich savory or sweet dishes.<br /><br />"); -Ingredient beer = create_ingredient("beer", "Beer is brewed from cereal grains, like malted barley, wheat, maize and rice.During the brewing process, the starch sugars ferment and produce ethanol and carbonation in the beer. Nowadays, <a href='hops.html'>hops</a> is added to beer, as a preserving agent, but also because it adds bitterness and other flavors. Modern beer ranges from 4 percent to 6 percent strength ABV (alcohol by volume), but there are varieties that are much lower and much higher than this (up to 20-40 percent).<br /><br />The sediment in craft beer, can be used as a leavening agent in <a href='beer_bread.html'>beer bread</a>.<br /><br />There is some nutritional value in beer, but it varies greatly from beer to beer, and this does not make it essential to good health."); +Ingredient beer = create_ingredient("beer", "Beer is brewed from cereal grains, like malted barley, wheat, maize and rice.During the brewing process, the starch sugars ferment and produce ethanol and carbonation in the beer. Nowadays, <a href='hops.html'>hops</a> is added to beer, as a preserving agent, but also because it adds bitterness and other flavors. Modern beer ranges from 4% to 6% strength ABV (alcohol by volume), but there are varieties that are much lower and much higher than this (up to 20%-40%).<br /><br />The sediment in craft beer, can be used as a leavening agent in <a href='beer_bread.html'>beer bread</a>.<br /><br />There is some nutritional value in beer, but it varies greatly from beer to beer, and this does not make it essential to good health.<br /><br />"); -Ingredient sake = create_ingredient("sake", "Sake is Japanese rice beer, and it comes in a variety of flavors and concentrations.There is <b>nihonshu-do 日本酒度</b>, <b>san-do 酸度</b>, <b>aminosan-do アミノ酸度</b>, <b>ginjoushu 吟醸酒</b> and many, many more. Sake is made by fermenting rice that has been polished to remove the outer bran. The process of sake is more similar to beer than to wine, because the starch is converted into sugars which ferment into alcohol.The serving temperature of sake depends on the type. Sake can be served at room temperature <b>hiya 冷や</b>, chilled <b>reishu 冷酒</b> or heated <b>atsukan 熱燗</b>.<br /><br />In cooking, you can use a cheaper variety called <b>ryorishu 料理酒</b> or <b>cooking sake</b>. Cooking sake has added salt to make it unfit for drinking, so that shop owners can sell it without an alcohol license. Adding regular sake in recipes though is also fine."); +Ingredient sake = create_ingredient("sake", "Sake is Japanese rice beer, and it comes in a variety of flavors and concentrations.There is <b>nihonshu-do 日本酒度</b>, <b>san-do 酸度</b>, <b>aminosan-do アミノ酸度</b>, <b>ginjoushu 吟醸酒</b> and many, many more. Sake is made by fermenting rice that has been polished to remove the outer bran. The process of sake is more similar to beer than to wine, because the starch is converted into sugars which ferment into alcohol.The serving temperature of sake depends on the type. Sake can be served at room temperature <b>hiya 冷や</b>, chilled <b>reishu 冷酒</b> or heated <b>atsukan 熱燗</b>.<br /><br />In cooking, you can use a cheaper variety called <b>ryorishu 料理酒</b> or <b>cooking sake</b>. Cooking sake has added salt to make it unfit for drinking, so that shop owners can sell it without an alcohol license. Adding regular sake in recipes though is also fine.<br /><br />"); -Ingredient coconut_oil = create_ingredient("coconut oil", "Coconut oil is an edible oil extracted from the meat of mature coconuts. It has a high-fat content, which makes it resistant to rancidification, lasting up to 6 months without spoiling.Coconut oil, as is the case for most cooking oils, isn't essential to good health and should be used sparingly. Fun fact: Coconut oil was used in oil lamps in India before they had electrical lighting."); +Ingredient coconut_oil = create_child_ingredient(&coconut, "coconut oil", "Coconut oil is an edible oil extracted from the meat of mature coconuts. It has a high-fat content, which makes it resistant to rancidification, lasting up to 6 months without spoiling.Coconut oil, as is the case for most cooking oils, isn't essential to good health and should be used sparingly. Fun fact: Coconut oil was used in oil lamps in India before they had electrical lighting.<br /><br />"); -Ingredient canola_oil = create_ingredient("canola oil", "Canola oil is a good source of Omega-3's, it is derived from a variety of rapeseed. Canola oil has many non food uses, it is used in candles, lipsticks, inks etcCanola oil, as is the case for most cooking oils, isn't essential to good health and should be used sparingly."); +Ingredient canola_oil = create_ingredient("canola oil", "Canola oil is a good source of Omega-3's, it is derived from a variety of rapeseed. Canola oil has many non food uses, it is used in candles, lipsticks, inks etcCanola oil, as is the case for most cooking oils, isn't essential to good health and should be used sparingly.<br /><br />"); -Ingredient olive_oil = create_ingredient("olive oil", "Olive oil is produced by pressing whole olives, and is used in frying or as salad dressings. It also has cosmetic and pharmaceutical uses.Olive oil, as is the case for most cooking oils, isn't essential to good health and should be used sparingly."); +Ingredient olive_oil = create_ingredient("olive oil", "Olive oil is produced by pressing whole olives, and is used in frying or as salad dressings. It also has cosmetic and pharmaceutical uses.Olive oil, as is the case for most cooking oils, isn't essential to good health and should be used sparingly.<br /><br />"); -Ingredient sesame_oil = create_ingredient("sesame oil", "Sesame oil is an edible oil derived from sesame seeds. It is used as a cooking oil, but also as a flavor enhancer because of its nutty aroma and taste.Light sesame oil has a high smoking point and is suitable for deep-frying, while darker varieties are used for stir-frying or sauteing food. Sesame oil is sometimes mixed into very hot and spicy food to help neutralize the heat.<br /><br />Sesame oil, as is the case for most cooking oils, isn't essential to good health and should be used sparingly."); +Ingredient sesame_oil = create_ingredient("sesame oil", "Sesame oil is an edible oil derived from sesame seeds. It is used as a cooking oil, but also as a flavor enhancer because of its nutty aroma and taste.Light sesame oil has a high smoking point and is suitable for deep-frying, while darker varieties are used for stir-frying or sauteing food. Sesame oil is sometimes mixed into very hot and spicy food to help neutralize the heat.<br /><br />Sesame oil, as is the case for most cooking oils, isn't essential to good health and should be used sparingly.<br /><br />"); -Ingredient peppermint_oil = create_ingredient("peppermint oil", "Peppermint oil is made from peppermint leaves, obtained by extracting the oils from dried or fresh leaves and the flowering tops of the plant using alcohol. It has a high concentration of natural pesticides, known to repel pest insects.Peppermint oil and leaves have a <a href='https://nccih.nih.gov/health/peppermintoil' target='_blank'>cooling effect</a> when used topically for muscle pain, nerve pain, relief from itching, or as a fragrance. Peppermint oil is a stronger ingredient than peppermint extract, often used in candy-making."); +Ingredient peppermint_oil = create_child_ingredient(&peppermint, "peppermint oil", "Peppermint oil is made from peppermint leaves, obtained by extracting the oils from dried or fresh leaves and the flowering tops of the plant using alcohol. It has a high concentration of natural pesticides, known to repel pest insects.Peppermint oil and leaves have a <a href='https://nccih.nih.gov/health/peppermintoil' target='_blank'>cooling effect</a> when used topically for muscle pain, nerve pain, relief from itching, or as a fragrance. Peppermint oil is a stronger ingredient than peppermint extract, often used in candy-making.<br /><br />"); -Ingredient fresh_dill = create_ingredient("fresh dill", "Dill is an herb, a wispy fern-like plant. This herb is a cross of <a href='lemon.html'>lemon</a>, parsley and <a href='anise.html'>anise</a>.Dill is best used fresh. It is often used to flavor pickles and soups."); +Ingredient fresh_dill = create_ingredient("fresh dill", "Dill is an herb, a wispy fern-like plant. This herb is a cross of <a href='lemon.html'>lemon</a>, parsley and <a href='anise.html'>anise</a>.Dill is best used fresh. It is often used to flavor pickles and soups.<br /><br />"); -Ingredient coconut_milk = create_ingredient("coconut milk", "Coconut milk is extracted from the grated pulp of mature coconuts. The rich taste of the milk is due to its high oil content. This high-fat milk is a perfect base for <a href='hop_ice_cream.html'>ice cream</a>.There are many varieties, differentiated on fat content: coconut cream (up to 50 percent fat), coconut milk (20 percent fat) and coconut skim milk (least fat). The terminology is not always described like this in products sold in western countries. Traditionally, coconut milk is made from grating the white inner flesh of mature coconuts and mixing the shredded pulp with a bit of hot water to suspend the fat in the pulp. The grating process was often done by hand."); +Ingredient coconut_milk = create_child_ingredient(&coconut, "coconut milk", "Coconut milk is extracted from the grated pulp of mature coconuts. The rich taste of the milk is due to its high oil content. This high-fat milk is a perfect base for <a href='hop_ice_cream.html'>ice cream</a>.There are many varieties, differentiated on fat content: coconut cream (up to 50% fat), coconut milk (20% fat) and coconut skim milk (least fat). The terminology is not always described like this in products sold in western countries. Traditionally, coconut milk is made from grating the white inner flesh of mature coconuts and mixing the shredded pulp with a bit of hot water to suspend the fat in the pulp. The grating process was often done by hand.<br /><br />"); -Ingredient soy_milk = create_ingredient("soy milk", "<a href='Soy_milk.html'>Soy milk</a> is a by-product of the manufacture of <a href='tofu.html'>tofu</a>, and an important source of protein, calcium, vitamin D and B12 for vegans. When buying soy milk, prioritize unsweetened enriched varieties.<a href='Soy_milk.html'>Soy milk</a> is made from soaking and griding <a href='soy_beans.html'>soy beans</a>, boiling the mixture and filtering out the pulp. Soy milk is a stable emulsion of oil, water and protein."); +Ingredient soy_milk = create_child_ingredient(&soy_beans, "soy milk", "<a href='Soy_milk.html'>Soy milk</a> is a by-product of the manufacture of <a href='tofu.html'>tofu</a>, and an important source of protein, calcium, vitamin D and B12 for vegans. When buying soy milk, prioritize unsweetened enriched varieties.<a href='Soy_milk.html'>Soy milk</a> is made from soaking and griding <a href='soy_beans.html'>soy beans</a>, boiling the mixture and filtering out the pulp. Soy milk is a stable emulsion of oil, water and protein.<br /><br />"); -Ingredient baguette = create_ingredient("baguette", "Originating in France, baguettes are made from basic lean dough. It is recognizable by its length and crisp crust.The supposed history of baguettes is an interesting one. A law in the 1920's was put in place to keep bakers from working before 4 am, this didn't give them time to make proper rounded loaves. Making slender baguettes was a simple solution to this problem since they bake more rapidly."); +Ingredient baguette = create_ingredient("baguette", "Originating in France, baguettes are made from basic lean dough. It is recognizable by its length and crisp crust.The supposed history of baguettes is an interesting one. A law in the 1920's was put in place to keep bakers from working before 4 am, this didn't give them time to make proper rounded loaves. Making slender baguettes was a simple solution to this problem since they bake more rapidly.<br /><br />"); Ingredient bread_crusts = create_ingredient("bread crusts", "Missing description."); -Ingredient vegan_butter = create_ingredient("vegan butter", "Vegan butter is made from vegetable oils, and serves as an alternative to cow's milk.Common brands include <a href='https://world.openfoodfacts.org/product/0033776011703/original-buttery-spread-78-vegetable-oils-earth-balance' target='_blank'>earth balance</a>. High-fat oils like coconut and olive oil can be used instead."); +Ingredient vegan_butter = create_ingredient("vegan butter", "Vegan butter is made from vegetable oils, and serves as an alternative to cow's milk.Common brands include <a href='https://world.openfoodfacts.org/product/0033776011703/original-buttery-spread-78-vegetable-oils-earth-balance' target='_blank'>earth balance</a>. High-fat oils like coconut and olive oil can be used instead.<br /><br />"); Ingredient scoobi_do = create_ingredient("scoobi do", "Missing description."); @@ -478,7 +479,7 @@ Ingredient fusilli = create_ingredient("fusilli", "Missing description."); Ingredient soy_yogurt = create_ingredient("soy yogurt", "Missing description."); -Ingredient kinako = create_ingredient("kinako", "Kinako is roasted soybean flour, used in Japanese cuisine. Kinako means \"yellow flour\" in Japanese. Kinako contains B vitamins and some protein.Kinako is produced by grinding roasted soybeans into powder, some kinds keep the roasted skin which alters the color of the final product. Kinako is often used to make desserts, like dumplings coated with it, it is also sometimes combined with <a href='soy_milk.html'>soy milk</a>."); +Ingredient kinako = create_ingredient("kinako", "Kinako is roasted soybean flour, used in Japanese cuisine. Kinako means \"yellow flour\" in Japanese. Kinako contains B vitamins and some protein.Kinako is produced by grinding roasted soybeans into powder, some kinds keep the roasted skin which alters the color of the final product. Kinako is often used to make desserts, like dumplings coated with it, it is also sometimes combined with <a href='soy_milk.html'>soy milk</a>.<br /><br />"); Ingredient corn_tortillas = create_ingredient("corn tortillas", "Missing description."); @@ -486,123 +487,22 @@ Ingredient fleur_de_sel = create_ingredient("fleur de sel", "Missing description Ingredient vegetable_bouillon = create_ingredient("vegetable bouillon", "Dehydrated vegetable bouillon has many names depending on where you live. In Canada and the US it is known as 'bouillon cube', as 'stock cube' in Australia, Ireland, New Zealand, South Africa, and the UK, and as 'dehydrated bouillon' in France."); -Ingredient water = create_ingredient("water", "70 percent of the fresh water used by people goes to agriculture."); +Ingredient water = create_ingredient("water", "70% of the fresh water used by people goes to agriculture."); -Ingredient sugar = create_ingredient("sugar", "Sugar is a generic name for sweet-tasting, soluble carbohydrates.Natural brown sugars that have been highly centrifuged go by the names of turbinado, demeara or raw sugar. Others that have been midly centrifuged and that have a higher molasses content go by Panela, rapadura, jaggery, muscovado etc. Powdered sugar is available in different degrees of fineness, the more X's the finer the grain.<br /><br />The average person consumes about 24kg of sugar per year, which is about 260 calories per day. Sugar is not essential to good health, and should be eaten sparingly."); +Ingredient sugar = create_ingredient("sugar", "Sugar is a generic name for sweet-tasting, soluble carbohydrates.Natural brown sugars that have been highly centrifuged go by the names of turbinado, demeara or raw sugar. Others that have been midly centrifuged and that have a higher molasses content go by Panela, rapadura, jaggery, muscovado etc. Powdered sugar is available in different degrees of fineness, the more X's the finer the grain.<br /><br />The average person consumes about 24kg of sugar per year, which is about 260 calories per day. Sugar is not essential to good health, and should be eaten sparingly.<br /><br />"); Ingredient powdered_sugar = create_ingredient("powdered sugar", "Missing description."); -Ingredient whole_cane_sugar = create_ingredient("whole cane sugar", "Cane sugar is extracted from sugarcane, then treated to remove impurities. The resulting juice is boiled, and as it cools the liquid crystallizes to produce sugar crystals.Whole cane sugar is not essential to good health. It is used in cooking, but also to produce ethanol fuel."); - -Ingredient coconut_sugar = create_ingredient("coconut sugar", "Coconut sugar has a caramel-like flavor, and is subtly sweet. It is produced from the sap of the flower bud stem of the coconut palm. It is used as a sweetener in many countries.Coconut sugar isn't highly processed, and so its flavor can vary depending on what species was used and where/when it was harvested. Coconut sugar is not essential to good health and should be consumed in moderation."); - -Ingredient brown_sugar = create_ingredient("brown sugar", "Brown sugar has a brown color because of the presence of molasses.Brown sugar adds flavor to desserts and baked goods, and caramelizes better than refined sugar."); - -Ingredient salt = create_ingredient("salt", "Salt is present in large quantities in seawater, with about 35g/L of seawater. Salt is essential to life, and is one of the oldest food seasonings. Iodized salt is a good source of <a href='nutrition.html'>iodine</a>.Salting is an important method of preserving food, used in many cultures around the world. Salt is produced by evaporating sea water and mineral-rich spring water in shallow pools. Industrial byproducts include caustic soda and chlorine, and is used to manufactur many products like plastics and paper pulp. Two hundred million tonnes of salt are use for human consumption per year."); - -Ingredient sea_salt = create_ingredient("sea salt", "Sea salt is producted by evaporating seawater, and is used to season foods, in cooking and for preserving food.Iodine, an element essential for human health, is present only in small amounts in sea salt."); - -Ingredient chocolate_chips = create_ingredient("chocolate chips", "Chocolate chips are small chunks of chocolate, made from roasted and ground <a href='cocoa_beans.html'>cocoa beans</a>. They often come in a teardrop shape, as flat discs or as square blocks. They were designed to retain their shape when baking, and therefore aren't a substitute for baking chocolate. Chocolate chips come unsweetened, semi-sweetened and sweetened."); - -// Parenting - -set_parent(&coffee, &beans); -set_parent(&beluga_lentils, &lentils); -set_parent(&brown_lentils, &lentils); -set_parent(&soy_beans, &beans); -set_parent(&black_beans, &beans); -set_parent(&green_beans, &beans); -set_parent(&kidney_beans, &beans); -set_parent(&edamame, &soy_beans); -set_parent(&chickpea_flour, &chickpeas); -set_parent(&green_peas, &peas); -set_parent(&mungbeans, &beans); -set_parent(&red_cabbage, &green_cabbage); -set_parent(&white_cauliflower, &cauliflower); -set_parent(&purple_cauliflower, &cauliflower); -set_parent(&brussel_sprouts, &green_cabbage); -set_parent(&arame, &seaweed); -set_parent(&wakame, &seaweed); -set_parent(&dried_hijiki, &seaweed); -set_parent(&bull_kelp_powder, &seaweed); -set_parent(&nori, &seaweed); -set_parent(&nori_sheets, &nori); -set_parent(&shiitake, &mushroom); -set_parent(&crimini, &mushroom); -set_parent(&portobello, &mushroom); -set_parent(&shimeji, &mushroom); -set_parent(&button_mushrooms, &mushroom); -set_parent(&pumpkin_seeds, &pumpkin); -set_parent(&white_sesame_seeds, &sesame_seeds); -set_parent(&black_sesame_seeds, &sesame_seeds); -set_parent(&tahini, &sesame_seeds); -set_parent(&pomegranate_seeds, &pomegranate); -set_parent(&nagaimo, &potatoes); -set_parent(&heirloom_carrots, &carrots); -set_parent(&ginger_root, &ginger); -set_parent(&russet_potatoes, &potatoes); -set_parent(&sweet_potatoes, &potatoes); -set_parent(&golden_beets, &beets); -set_parent(&red_beets, &beets); -set_parent(&garlic_powder, &garlic); -set_parent(&red_onion, &onion); -set_parent(&onion_powder, &onion); -set_parent(&yellow_onion, &onion); -set_parent(&persian_cucumbers, &cucumber); -set_parent(&green_bell_peppers, &peppers); -set_parent(&red_bell_peppers, &peppers); -set_parent(&yellow_bell_peppers, &peppers); -set_parent(&tomato_paste, &tomato); -set_parent(&green_olives, &olives); -set_parent(&black_olives, &olives); -set_parent(&pimento_olives, &olives); -set_parent(&lemon_zest, &lemon); -set_parent(&lemon_juice, &lemon); -set_parent(&bartlett_pear, &pears); -set_parent(&pomegranate_juice, &pomegranate); -set_parent(&hachiya_persimmon, &persimmon); -set_parent(&deglet_noor_dates, &dates); -set_parent(&date_caramel, &dates); -set_parent(&ao_nori, &seaweed); -set_parent(&kanten_powder, &seaweed); -set_parent(&ground_turmeric, &turmeric_root); -set_parent(&wasabi_powder, &wasabi_root); -set_parent(&peppermint, &mint); -set_parent(&cocoa_powder, &cocoa_beans); -set_parent(&cayenne_pepper, &chili_peppers); -set_parent(&cayenne_pepper_powder, &cayenne_pepper); -set_parent(&vanilla_extract, &vanilla); -set_parent(&paprika, &chili_peppers); -set_parent(&smoked_paprika, &paprika); -set_parent(&dijon_mustard, &mustard_seeds); -set_parent(&chili_pepper_flakes, &chili_peppers); -set_parent(&whole_wheat_flour, &flour); -set_parent(&buckwheat_noodles, &buckwheat_groats); -set_parent(&buckwheat_flour, &buckwheat_groats); -set_parent(&einkorn_wheat_flour, &flour); -set_parent(&spelt_flour, &flour); -set_parent(&gluten_flour, &flour); -set_parent(&cornmeal, &corn); -set_parent(&corn_semolina, &corn); -set_parent(&basmati_rice, &rice); -set_parent(&short_grain_white_rice, &rice); -set_parent(&black_rice, &rice); -set_parent(&puffed_rice, &rice); -set_parent(&medium_grain_brown_rice, &rice); -set_parent(&black_glutinous_rice, &rice); -set_parent(&rice_flour, &rice); -set_parent(&all_purpose_flour, &flour); -set_parent(&breadfruit_flour, &breadfruit); -set_parent(&beni_shouga, &ginger_root); -set_parent(&red_miso, &miso); -set_parent(&white_miso, &miso); -set_parent(&soft_tofu, &tofu); -set_parent(&burmese_tofu, &tofu); -set_parent(&veganaise, &tofu); -set_parent(&coconut_oil, &coconut); -set_parent(&peppermint_oil, &peppermint); -set_parent(&coconut_milk, &coconut); -set_parent(&soy_milk, &soy_beans); -set_parent(&chocolate_chips, &cocoa_beans); - -Ingredient *ingredients[] = {&coffee, &lentils, &beluga_lentils, &brown_lentils, &shelled_hemp_seeds, &tempeh, &peanut_butter, &peanuts, &soy_beans, &beans, &black_beans, &green_beans, &kidney_beans, &edamame, &chickpeas, &chickpea_flour, &peas, &green_peas, &mungbeans, &broccoli, &green_cabbage, &red_cabbage, &kale, &arugula, &cauliflower, &white_cauliflower, &purple_cauliflower, &brussel_sprouts, &daikon, &bok_choy, &radish, &arame, &seaweed, &mushroom, &wakame, &dried_hijiki, &bull_kelp_powder, &nori, &nori_sheets, &shiitake, &crimini, &portobello, &shimeji, &button_mushrooms, &flax_seeds, &sunflower_seeds, &pumpkin_seeds, &sesame_seeds, &white_sesame_seeds, &black_sesame_seeds, &tahini, &pomegranate_seeds, &chia_seeds, &nagaimo, &carrots, &small_heirloom_tomatoes, &heirloom_carrots, &ginger, &ginger_root, &potatoes, &russet_potatoes, &sweet_potatoes, &beets, &golden_beets, &red_beets, &cassava, &garlic, &garlic_powder, &onion, &red_onion, &onion_powder, &yellow_onion, &cucumber, &persian_cucumbers, &eggplant, &zucchini, &chives, &peppers, &green_bell_peppers, &red_bell_peppers, &yellow_bell_peppers, &tomato, &tomato_paste, &avocado, &pumpkin, &olives, &green_olives, &black_olives, &pimento_olives, &palm, &acorn_squash, &artichokes, &asparagus, &bamboo_shoots, &breadfruit, &scallions, &spinach, &alfalfa_sprouts, &dried_raisins, &blackberries, &dried_cranberries, &dried_white_mulberries, &dry_corn_kernels, &pandanus_fruit, &banana, &kiwifruit, &apple, &apples, &lemon, &lemon_zest, &lemon_juice, &orange, &pears, &bartlett_pear, &papaya, &pomegranate, &pomegranate_juice, &mango, &hachiya_persimmon, &persimmon, &dates, &deglet_noor_dates, &date_caramel, &apricot_jam, &coconut, &ao_nori, &kanten_powder, &turmeric_root, &ground_turmeric, &cinnamon, &rosemary, &basil, &dried_basil, &wasabi_root, &wasabi_powder, &sichuan_peppercorns, &coriander, &mint, &peppermint, &cocoa_beans, &cocoa_powder, &cayenne_pepper, &cayenne_pepper_powder, &anise_seeds, &nutritional_yeast, &vanilla, &vanilla_extract, &nutmeg, &thyme, &poppy_seeds, &paprika, &smoked_paprika, &curry_powder, &tamarind, &cumin_seeds, &mustard_seeds, &dijon_mustard, &black_pepper, &shichimi_togarashi, &gojuchang, &garam_masala, &panko, &carob, &carob_chips, &bay_leaf, &chili_pepper_flakes, &green_chili, &chili_peppers, &hops, &dried_orange_peel, &oregano, &whole_wheat_flour, &buckwheat_groats, &buckwheat_noodles, &buckwheat_flour, &einkorn_wheat_flour, &spelt_flour, &gluten_flour, &corn, &cornmeal, &corn_semolina, &oats, &rolled_oats, &rice, &basmati_rice, &short_grain_white_rice, &black_rice, &puffed_rice, &medium_grain_brown_rice, &black_glutinous_rice, &rice_flour, &flour, &all_purpose_flour, &breadfruit_flour, &wheat_semolina, &beni_shouga, &vegemite, &miso, &red_miso, &white_miso, &tofu, &soft_tofu, &burmese_tofu, &veganaise, &soy_sauce, &sriracha, &mirin, &baking_powder, &bamboo_charcoal_powder, &cornstarch, &active_dry_yeast, &baking_soda, &agar_agar_powder, &arrowroot_starch, &maple_syrup, &brown_rice_syrup, &rice_vinegar, &japanese_rice_vinegar, &balsamic_vinegar, &apple_cider_vinegar, &b12_supplement, &matcha_powder, &houjicha, &wine, &beer, &sake, &coconut_oil, &canola_oil, &olive_oil, &sesame_oil, &peppermint_oil, &fresh_dill, &coconut_milk, &soy_milk, &baguette, &bread_crusts, &vegan_butter, &scoobi_do, &fusilli, &soy_yogurt, &kinako, &corn_tortillas, &fleur_de_sel, &vegetable_bouillon, &water, &sugar, &powdered_sugar, &whole_cane_sugar, &coconut_sugar, &brown_sugar, &salt, &sea_salt, &chocolate_chips };- \ No newline at end of file +Ingredient whole_cane_sugar = create_ingredient("whole cane sugar", "Cane sugar is extracted from sugarcane, then treated to remove impurities. The resulting juice is boiled, and as it cools the liquid crystallizes to produce sugar crystals.Whole cane sugar is not essential to good health. It is used in cooking, but also to produce ethanol fuel.<br /><br />"); + +Ingredient coconut_sugar = create_ingredient("coconut sugar", "Coconut sugar has a caramel-like flavor, and is subtly sweet. It is produced from the sap of the flower bud stem of the coconut palm. It is used as a sweetener in many countries.Coconut sugar isn't highly processed, and so its flavor can vary depending on what species was used and where/when it was harvested. Coconut sugar is not essential to good health and should be consumed in moderation.<br /><br />"); + +Ingredient brown_sugar = create_ingredient("brown sugar", "Brown sugar has a brown color because of the presence of molasses.Brown sugar adds flavor to desserts and baked goods, and caramelizes better than refined sugar.<br /><br />"); + +Ingredient salt = create_ingredient("salt", "Salt is present in large quantities in seawater, with about 35g/L of seawater. Salt is essential to life, and is one of the oldest food seasonings. Iodized salt is a good source of <a href='nutrition.html'>iodine</a>.Salting is an important method of preserving food, used in many cultures around the world. Salt is produced by evaporating sea water and mineral-rich spring water in shallow pools. Industrial byproducts include caustic soda and chlorine, and is used to manufactur many products like plastics and paper pulp. Two hundred million tonnes of salt are use for human consumption per year.<br /><br />"); + +Ingredient sea_salt = create_ingredient("sea salt", "Sea salt is producted by evaporating seawater, and is used to season foods, in cooking and for preserving food.Iodine, an element essential for human health, is present only in small amounts in sea salt.<br /><br />"); + +Ingredient chocolate_chips = create_child_ingredient(&cocoa_beans, "chocolate chips", "Chocolate chips are small chunks of chocolate, made from roasted and ground <a href='cocoa_beans.html'>cocoa beans</a>. They often come in a teardrop shape, as flat discs or as square blocks. They were designed to retain their shape when baking, and therefore aren't a substitute for baking chocolate. Chocolate chips come unsweetened, semi-sweetened and sweetened."); + +Ingredient *ingredients[] = {&coffee, &lentils, &beluga_lentils, &brown_lentils, &shelled_hemp_seeds, &tempeh, &peanut_butter, &peanuts, &soy_beans, &beans, &black_beans, &green_beans, &kidney_beans, &edamame, &chickpeas, &chickpea_flour, &peas, &green_peas, &mungbeans, &broccoli, &green_cabbage, &red_cabbage, &kale, &arugula, &cauliflower, &white_cauliflower, &purple_cauliflower, &brussel_sprouts, &daikon, &bok_choy, &radish, &arame, &seaweed, &mushroom, &wakame, &dried_hijiki, &bull_kelp_powder, &nori, &nori_sheets, &shiitake, &crimini, &portobello, &shimeji, &button_mushrooms, &flax_seeds, &sunflower_seeds, &pumpkin_seeds, &sesame_seeds, &white_sesame_seeds, &black_sesame_seeds, &tahini, &pomegranate_seeds, &chia_seeds, &nagaimo, &carrots, &small_heirloom_tomatoes, &heirloom_carrots, &ginger, &ginger_root, &potatoes, &russet_potatoes, &sweet_potatoes, &beets, &golden_beets, &red_beets, &cassava, &garlic, &garlic_powder, &onion, &red_onion, &onion_powder, &yellow_onion, &cucumber, &persian_cucumbers, &eggplant, &zucchini, &chives, &peppers, &green_bell_peppers, &red_bell_peppers, &yellow_bell_peppers, &tomato, &tomato_paste, &avocado, &pumpkin, &olives, &green_olives, &black_olives, &pimento_olives, &palm, &acorn_squash, &artichokes, &asparagus, &bamboo_shoots, &breadfruit, &scallions, &spinach, &alfalfa_sprouts, &dried_raisins, &blackberries, &dried_cranberries, &dried_white_mulberries, &dry_corn_kernels, &pandanus_fruit, &banana, &kiwifruit, &apple, &apples, &lemon, &lemon_zest, &lemon_juice, &orange, &pears, &bartlett_pear, &papaya, &pomegranate, &pomegranate_juice, &mango, &hachiya_persimmon, &persimmon, &dates, &deglet_noor_dates, &date_caramel, &apricot_jam, &coconut, &ao_nori, &kanten_powder, &turmeric_root, &ground_turmeric, &cinnamon, &rosemary, &basil, &dried_basil, &wasabi_root, &wasabi_powder, &sichuan_peppercorns, &coriander, &mint, &peppermint, &cocoa_beans, &cocoa_powder, &cayenne_pepper, &cayenne_pepper_powder, &anise_seeds, &nutritional_yeast, &vanilla, &vanilla_extract, &nutmeg, &thyme, &poppy_seeds, &paprika, &smoked_paprika, &curry_powder, &tamarind, &cumin_seeds, &mustard_seeds, &dijon_mustard, &black_pepper, &shichimi_togarashi, &gojuchang, &garam_masala, &panko, &carob, &carob_chips, &bay_leaf, &chili_pepper_flakes, &green_chili, &chili_peppers, &hops, &dried_orange_peel, &oregano, &whole_wheat_flour, &buckwheat_groats, &buckwheat_noodles, &buckwheat_flour, &einkorn_wheat_flour, &spelt_flour, &gluten_flour, &corn, &cornmeal, &corn_semolina, &oats, &rolled_oats, &rice, &basmati_rice, &short_grain_white_rice, &black_rice, &puffed_rice, &medium_grain_brown_rice, &black_glutinous_rice, &rice_flour, &flour, &all_purpose_flour, &breadfruit_flour, &wheat_semolina, &beni_shouga, &vegemite, &miso, &red_miso, &white_miso, &tofu, &soft_tofu, &burmese_tofu, &veganaise, &soy_sauce, &sriracha, &mirin, &baking_powder, &bamboo_charcoal_powder, &cornstarch, &active_dry_yeast, &baking_soda, &agar_agar_powder, &arrowroot_starch, &maple_syrup, &brown_rice_syrup, &rice_vinegar, &japanese_rice_vinegar, &balsamic_vinegar, &apple_cider_vinegar, &b12_supplement, &matcha_powder, &houjicha, &wine, &beer, &sake, &coconut_oil, &canola_oil, &olive_oil, &sesame_oil, &peppermint_oil, &fresh_dill, &coconut_milk, &soy_milk, &baguette, &bread_crusts, &vegan_butter, &scoobi_do, &fusilli, &soy_yogurt, &kinako, &corn_tortillas, &fleur_de_sel, &vegetable_bouillon, &water, &sugar, &powdered_sugar, &whole_cane_sugar, &coconut_sugar, &brown_sugar, &salt, &sea_salt, &chocolate_chips, };+ \ No newline at end of file