module Chez.Grater.Test.ParsedIngredients where import Chez.Grater.Internal.Prelude import Chez.Grater.Types (Ingredient(..), IngredientName(..), Quantity(..), Step(..), Unit(..)) import qualified Data.CaseInsensitive as CI allParsedIngredients :: [[Ingredient]] allParsedIngredients :: [[Ingredient]] allParsedIngredients = [ [Ingredient] allRecipesIngredients , [Ingredient] pillsburyIngredients , [Ingredient] tasteOfHomeIngredients , [Ingredient] rachelMansfieldIngredients , [Ingredient] foodNetworkIngredients ] pureIngredient :: Double -> Text -> Text -> Ingredient pureIngredient :: Double -> Text -> Text -> Ingredient pureIngredient Double q Text u Text i = Ingredient :: IngredientName -> Quantity -> Unit -> Ingredient Ingredient { ingredientName :: IngredientName ingredientName = CI Text -> IngredientName IngredientName (CI Text -> IngredientName) -> CI Text -> IngredientName forall a b. (a -> b) -> a -> b $ Text -> CI Text forall s. FoldCase s => s -> CI s CI.mk Text i , ingredientQuantity :: Quantity ingredientQuantity = Double -> Quantity Quantity Double q , ingredientUnit :: Unit ingredientUnit = CI Text -> Unit Unit (CI Text -> Unit) -> CI Text -> Unit forall a b. (a -> b) -> a -> b $ Text -> CI Text forall s. FoldCase s => s -> CI s CI.mk Text u } pureIngredientNoQuantity :: Text -> Text -> Ingredient pureIngredientNoQuantity :: Text -> Text -> Ingredient pureIngredientNoQuantity Text u Text i = Ingredient :: IngredientName -> Quantity -> Unit -> Ingredient Ingredient { ingredientName :: IngredientName ingredientName = CI Text -> IngredientName IngredientName (CI Text -> IngredientName) -> CI Text -> IngredientName forall a b. (a -> b) -> a -> b $ Text -> CI Text forall s. FoldCase s => s -> CI s CI.mk Text i , ingredientQuantity :: Quantity ingredientQuantity = Quantity QuantityMissing , ingredientUnit :: Unit ingredientUnit = CI Text -> Unit Unit (CI Text -> Unit) -> CI Text -> Unit forall a b. (a -> b) -> a -> b $ Text -> CI Text forall s. FoldCase s => s -> CI s CI.mk Text u } pureIngredientNoUnit :: Double -> Text -> Ingredient pureIngredientNoUnit :: Double -> Text -> Ingredient pureIngredientNoUnit Double q Text i = Ingredient :: IngredientName -> Quantity -> Unit -> Ingredient Ingredient { ingredientName :: IngredientName ingredientName = CI Text -> IngredientName IngredientName (CI Text -> IngredientName) -> CI Text -> IngredientName forall a b. (a -> b) -> a -> b $ Text -> CI Text forall s. FoldCase s => s -> CI s CI.mk Text i , ingredientQuantity :: Quantity ingredientQuantity = Double -> Quantity Quantity Double q , ingredientUnit :: Unit ingredientUnit = Unit UnitMissing } pureIngredientName :: Text -> Ingredient pureIngredientName :: Text -> Ingredient pureIngredientName Text i = Ingredient :: IngredientName -> Quantity -> Unit -> Ingredient Ingredient { ingredientName :: IngredientName ingredientName = CI Text -> IngredientName IngredientName (CI Text -> IngredientName) -> CI Text -> IngredientName forall a b. (a -> b) -> a -> b $ Text -> CI Text forall s. FoldCase s => s -> CI s CI.mk Text i , ingredientQuantity :: Quantity ingredientQuantity = Quantity QuantityMissing , ingredientUnit :: Unit ingredientUnit = Unit UnitMissing } allRecipesIngredients :: [Ingredient] allRecipesIngredients :: [Ingredient] allRecipesIngredients = [ Double -> Text -> Text -> Ingredient pureIngredient Double 1 Text "pound" Text "skinless, boneless chicken breast halves - cubed" , Double -> Text -> Text -> Ingredient pureIngredient Double 1 Text "cup" Text "sliced carrots" , Double -> Text -> Text -> Ingredient pureIngredient Double 1 Text "cup" Text "frozen green peas" , Double -> Text -> Text -> Ingredient pureIngredient Double 0.5 Text "cup" Text "sliced celery" , Double -> Text -> Text -> Ingredient pureIngredient (Double 1 Double -> Double -> Double forall a. Fractional a => a -> a -> a / Double 3) Text "cup" Text "butter" , Double -> Text -> Text -> Ingredient pureIngredient (Double 1 Double -> Double -> Double forall a. Fractional a => a -> a -> a / Double 3) Text "cup" Text "chopped onion" , Double -> Text -> Text -> Ingredient pureIngredient (Double 1 Double -> Double -> Double forall a. Fractional a => a -> a -> a / Double 3) Text "cup" Text "all-purpose flour" , Double -> Text -> Text -> Ingredient pureIngredient Double 0.5 Text "tsp" Text "salt" , Double -> Text -> Text -> Ingredient pureIngredient Double 0.25 Text "tsp" Text "black pepper" , Double -> Text -> Text -> Ingredient pureIngredient Double 0.25 Text "tsp" Text "celery seed" , Double -> Text -> Text -> Ingredient pureIngredient Double 1.75 Text "cup" Text "chicken broth" , Double -> Text -> Text -> Ingredient pureIngredient (Double 2 Double -> Double -> Double forall a. Fractional a => a -> a -> a / Double 3) Text "cup" Text "milk" , Double -> Text -> Ingredient pureIngredientNoUnit Double 2 Text "(9 inch) unbaked pie crusts" ] allRecipesSteps :: [Step] allRecipesSteps :: [Step] allRecipesSteps = [ Text -> Step Step Text "Preheat oven to 425 degrees F (220 degrees C.)" , Text -> Step Step Text "In a saucepan, combine chicken, carrots, peas, and celery. Add water to cover and boil for 15 minutes. Remove from heat, drain and set aside." , Text -> Step Step Text "In the saucepan over medium heat, cook onions in butter until soft and translucent. Stir in flour, salt, pepper, and celery seed. Slowly stir in chicken broth and milk. Simmer over medium-low heat until thick. Remove from heat and set aside." , Text -> Step Step Text "Place the chicken mixture in bottom pie crust. Pour hot liquid mixture over. Cover with top crust, seal edges, and cut away excess dough. Make several small slits in the top to allow steam to escape." , Text -> Step Step Text "Bake in the preheated oven for 30 to 35 minutes, or until pastry is golden brown and filling is bubbly. Cool for 10 minutes before serving." ] foodIngredients :: [Ingredient] foodIngredients :: [Ingredient] foodIngredients = [ Double -> Text -> Ingredient pureIngredientNoUnit Double 1 Text "(10 ounce) packaged frozen chopped spinach, thawed" , Double -> Text -> Ingredient pureIngredientNoUnit Double 1 Text "(14 ounce) can diced tomatoes, undrained" , Double -> Text -> Ingredient pureIngredientNoUnit Double 3 Text "(14 ounce) cans chicken broth" , Double -> Text -> Ingredient pureIngredientNoUnit Double 2 Text "(15 ounce) cans white beans, any variety" , Double -> Text -> Ingredient pureIngredientNoUnit Double 1 Text "bay leaf" , Double -> Text -> Ingredient pureIngredientNoUnit Double 2 Text "carrots, chopped" , Double -> Text -> Ingredient pureIngredientNoUnit Double 4 Text "garlic cloves, minced" , Text -> Ingredient pureIngredientName Text "grated parmesan cheese, and or pecorino romano cheese, to serve" , Double -> Text -> Ingredient pureIngredientNoUnit Double 1 Text "medium onion, chopped" , Text -> Ingredient pureIngredientName Text "salt and pepper" , Double -> Text -> Ingredient pureIngredientNoUnit Double 2 Text "stalks celery, chopped" , Double -> Text -> Text -> Ingredient pureIngredient Double 0.75 Text "cup" Text "macaroni, uncooked" , Double -> Text -> Text -> Ingredient pureIngredient Double 0.25 Text "cup" Text "olive oil" , Double -> Text -> Text -> Ingredient pureIngredient Double 0.25 Text "tsp" Text "dried thyme" ] foodSteps :: [Step] foodSteps :: [Step] foodSteps = [ Text -> Step Step Text "Heat the oil in a 4 quart soup pot over medium heat." , Text -> Step Step Text "Add the onion, garlic, carrots, celery and thyme and cook until the vegetables are tender, about 10 minutes." , Text -> Step Step Text "Add the chicken broth, tomatoes and bay leaf." , Text -> Step Step Text "Drain the beans and roughly mash 1/2 a can of beans. Add the beans and mashed beans to the pot." , Text -> Step Step Text "Squeeze the water from the thawed spinach and add to the pot." , Text -> Step Step Text "Season with salt and pepper and simmer for at least 10 minutes and up to 30 minutes." , Text -> Step Step Text "Add the macaroni and cook until tender according to package directions. (About 10 minutes.)." , Text -> Step Step Text "Serve sprinkled with grated parmesan and/or pecorino romano." ] pillsburyIngredients :: [Ingredient] pillsburyIngredients :: [Ingredient] pillsburyIngredients = [ Double -> Text -> Text -> Ingredient pureIngredient Double 1 Text "box" Text "(14.1 oz) refrigerated pillsbury\8482 pie crusts (2 count), softened as directed on box" , Double -> Text -> Text -> Ingredient pureIngredient (Double 1 Double -> Double -> Double forall a. Fractional a => a -> a -> a / Double 3) Text "cup" Text "butter or margarine" , Double -> Text -> Text -> Ingredient pureIngredient (Double 1 Double -> Double -> Double forall a. Fractional a => a -> a -> a / Double 3) Text "cup" Text "chopped onion" , Double -> Text -> Text -> Ingredient pureIngredient (Double 1 Double -> Double -> Double forall a. Fractional a => a -> a -> a / Double 3) Text "cup" Text "all-purpose flour" , Double -> Text -> Text -> Ingredient pureIngredient Double 0.5 Text "tsp" Text "salt" , Double -> Text -> Text -> Ingredient pureIngredient Double 0.25 Text "tsp" Text "pepper" , Double -> Text -> Text -> Ingredient pureIngredient Double 1.75 Text "cup" Text "progresso\8482 chicken broth (from 32-oz carton)" , Double -> Text -> Text -> Ingredient pureIngredient Double 0.5 Text "cup" Text "milk" , Double -> Text -> Text -> Ingredient pureIngredient Double 2.5 Text "cup" Text "shredded cooked chicken or turkey" , Double -> Text -> Text -> Ingredient pureIngredient Double 2 Text "cup" Text "frozen mixed vegetables, thawed" ] pillsburySteps :: [Step] pillsburySteps :: [Step] pillsburySteps = [ Text -> Step Step Text "1 Heat oven to 425\176F. Prepare pie crusts as directed on box for Two-Crust Pie using 9-inch glass pie pan." , Text -> Step Step Text "2 In 2-quart saucepan, melt butter over medium heat. Add onion; cook 2 minutes, stirring frequently, until tender. Stir in flour, salt and pepper until well blended. Gradually stir in broth and milk, cooking and stirring until bubbly and thickened." , Text -> Step Step Text "3 Stir in chicken and mixed vegetables. Remove from heat. Spoon chicken mixture into crust-lined pan. Top with second crust; seal edge and flute. Cut slits in several places in top crust." , Text -> Step Step Text "4 Bake 30 to 40 minutes or until crust is golden brown. During last 15 to 20 minutes of baking, cover crust edge with strips of foil to prevent excessive browning. Let stand 5 minutes before serving." ] bettyCrockerIngredients :: [Ingredient] bettyCrockerIngredients :: [Ingredient] bettyCrockerIngredients = [ Double -> Text -> Text -> Ingredient pureIngredient Double 1 Text "box" Text "(18.3 oz) Betty Crocker\8482 traditional fudge brownie mix" , Double -> Text -> Text -> Ingredient pureIngredient Double 1 Text "cup" Text "Betty Crocker\8482 Rich & Creamy vanilla frosting (from 16-oz container)" , Double -> Text -> Text -> Ingredient pureIngredient Double 2 Text "cup" Text "Cool Whip frozen whipped topping (from 8-oz container), thawed" , Double -> Text -> Text -> Ingredient pureIngredient (Double 1 Double -> Double -> Double forall a. Fractional a => a -> a -> a / Double 3) Text "cup" Text "heavy whipping cream" , Double -> Text -> Text -> Ingredient pureIngredient Double 1 Text "cup" Text "miniature marshmallows" , Double -> Text -> Ingredient pureIngredientNoUnit Double 20 Text "Oreo chocolate sandwich cookies, coarsely chopped (about 2 2/3 cups)" , Double -> Text -> Text -> Ingredient pureIngredient Double 0.5 Text "cup" Text "semisweet chocolate chips" , Text -> Ingredient pureIngredientName Text "Water, vegetable oil and eggs called for on brownie mix box for cakelike brownies" ] bettyCrockerSteps :: [Step] bettyCrockerSteps :: [Step] bettyCrockerSteps = [ Text -> Step Step Text "1 Heat oven to 350\176F. Spray bottom only of 13x9-inch pan with cooking spray." , Text -> Step Step Text "2 Make brownie batter as directed on box for cakelike brownies. Stir in 1 cup chopped cookies. Spread in pan. Bake 22 to 25 minutes or until toothpick inserted 2 inches from side of pan comes out almost clean. Cool completely, about 1 hour." , Text -> Step Step Text "3 In medium bowl, beat frosting and whipped topping with spoon until well blended. Spread over top of brownie. Sprinkle marshmallows over frosting layer. Top with remaining chopped cookies." , Text -> Step Step Text "4 In small microwavable bowl, microwave chocolate chips and whipping cream uncovered on High 45 seconds; stir. Continue to microwave in 15-second increments until chips are melted. Stir until smooth. Drizzle over top. Refrigerate about 1 hour or until chocolate is set." , Text -> Step Step Text "5 Cut into 6 rows by 4 rows. Store loosely covered in refrigerator." ] tasteOfHomeIngredients :: [Ingredient] tasteOfHomeIngredients :: [Ingredient] tasteOfHomeIngredients = [ Double -> Text -> Text -> Ingredient pureIngredient Double 2 Text "cup" Text "diced peeled potatoes" , Double -> Text -> Text -> Ingredient pureIngredient Double 1.75 Text "cup" Text "sliced carrots" , Double -> Text -> Text -> Ingredient pureIngredient Double 1 Text "cup" Text "butter, cubed" , Double -> Text -> Text -> Ingredient pureIngredient (Double 2 Double -> Double -> Double forall a. Fractional a => a -> a -> a / Double 3) Text "cup" Text "chopped onion" , Double -> Text -> Text -> Ingredient pureIngredient Double 1 Text "cup" Text "all-purpose flour" , Double -> Text -> Text -> Ingredient pureIngredient Double 1.75 Text "tsp" Text "salt" , Double -> Text -> Text -> Ingredient pureIngredient Double 1 Text "tsp" Text "dried thyme" , Double -> Text -> Text -> Ingredient pureIngredient Double 0.75 Text "tsp" Text "pepper" , Double -> Text -> Text -> Ingredient pureIngredient Double 3 Text "cup" Text "chicken broth" , Double -> Text -> Text -> Ingredient pureIngredient Double 1.5 Text "cup" Text "whole milk" , Double -> Text -> Text -> Ingredient pureIngredient Double 4 Text "cup" Text "cubed cooked chicken" , Double -> Text -> Text -> Ingredient pureIngredient Double 1 Text "cup" Text "frozen peas" , Double -> Text -> Text -> Ingredient pureIngredient Double 1 Text "cup" Text "frozen corn" , Double -> Text -> Ingredient pureIngredientNoUnit Double 4 Text "sheets refrigerated pie crust" ] tasteOfHomeSteps :: [Step] tasteOfHomeSteps :: [Step] tasteOfHomeSteps = [ Text -> Step Step Text "Preheat oven to 425\194\176. Place potatoes and carrots in a large saucepan; add water to cover. Bring to a boil. Reduce heat; cook, covered, 8-10 minutes or until crisp-tender; drain." , Text -> Step Step Text "In a large skillet, heat butter over medium-high heat. Add onion; cook and stir until tender. Stir in flour and seasonings until blended. Gradually stir in broth and milk. Bring to a boil, stirring constantly; cook and stir 2 minutes or until thickened. Stir in chicken, peas, corn and potato-carrot mixture; remove from heat." , Text -> Step Step Text "Unroll a pie crust into each of two 9-in. pie plates; trim crusts even with rims of plates. Add chicken mixture. Unroll remaining crusts; place over filling. Trim, seal and flute edges. Cut slits in tops." , Text -> Step Step Text "Bake 35-40 minutes or until crust is lightly browned. Let stand 15 minutes before cutting." ] rachelMansfieldIngredients :: [Ingredient] rachelMansfieldIngredients :: [Ingredient] rachelMansfieldIngredients = [ Double -> Text -> Text -> Ingredient pureIngredient (Double 1 Double -> Double -> Double forall a. Fractional a => a -> a -> a / Double 3) Text "cup" Text "+ 2 tablespoons coconut flour" , Double -> Text -> Ingredient pureIngredientNoUnit Double 3 Text "eggs at room temperature" , Double -> Text -> Text -> Ingredient pureIngredient Double 1 Text "tbsp" Text "maple syrup" , Double -> Text -> Ingredient pureIngredientNoUnit Double 3 Text "medium/large ripe bananas mashed" , Double -> Text -> Text -> Ingredient pureIngredient Double 1 Text "tbsp" Text "melted & cooled coconut oil" , Double -> Text -> Text -> Ingredient pureIngredient Double 0.5 Text "tsp" Text "of baking powder" , Double -> Text -> Text -> Ingredient pureIngredient Double 0.5 Text "cup" Text "of dark chocolate chips" , Double -> Text -> Text -> Ingredient pureIngredient Double 0.5 Text "cup" Text "creamy nut butter" , Text -> Text -> Ingredient pureIngredientNoQuantity Text "sprinkle" Text "of cinnamon" , Text -> Text -> Ingredient pureIngredientNoQuantity Text "splash" Text "of vanilla extract" ] rachelMansfieldSteps :: [Step] rachelMansfieldSteps :: [Step] rachelMansfieldSteps = [ Text -> Step Step Text "Preheat oven to 350 and line or spray a loaf pan with parchment paper (I used 8.5 x 4.5 x 2.5)" , Text -> Step Step Text "Place wet ingredients in a medium mixing bowl and mix with kitchen aid" , Text -> Step Step Text "Once mixed well, add dry ingredients to wet ingredients and continue to mix with kitchen aid" , Text -> Step Step Text "Fold in dark chocolate chips once everything is mixed well (I also saved some to sprinkle on top)" , Text -> Step Step Text "Bake in oven for 35-45 minutes (or until ends are golden)" , Text -> Step Step Text "Finally, enjoy with your toppings of choice or deliciously as is" , Text -> Step Step Text "You can keep in fridge for about 7 days or freeze for longer!" ] foodNetworkIngredients :: [Ingredient] foodNetworkIngredients :: [Ingredient] foodNetworkIngredients = [ Double -> Text -> Ingredient pureIngredientNoUnit Double 1 Text "(5 to 6 pound) roasting chicken" , Text -> Ingredient pureIngredientName Text "kosher salt" , Text -> Ingredient pureIngredientName Text "freshly ground black pepper" , Double -> Text -> Ingredient pureIngredientNoUnit Double 1 Text "large bunch fresh thyme, plus 20 sprigs" , Double -> Text -> Ingredient pureIngredientNoUnit Double 1 Text "lemon, halved" , Double -> Text -> Ingredient pureIngredientNoUnit Double 1 Text "head garlic, cut in half crosswise" , Double -> Text -> Text -> Ingredient pureIngredient Double 2 Text "tbsp" Text "(1/4 stick) butter, melted" , Double -> Text -> Ingredient pureIngredientNoUnit Double 1 Text "large yellow onion, thickly sliced" , Double -> Text -> Ingredient pureIngredientNoUnit Double 4 Text "carrots cut into 2-inch chunks" , Double -> Text -> Ingredient pureIngredientNoUnit Double 1 Text "bulb of fennel, tops removed, and cut into wedges" , Text -> Ingredient pureIngredientName Text "olive oil" ] foodNetworkSteps :: [Step] foodNetworkSteps :: [Step] foodNetworkSteps = [ Text -> Step Step Text "Preheat the oven to 425 degrees F." , Text -> Step Step Text "Remove the chicken giblets. Rinse the chicken inside and out. Remove any excess fat and leftover pin feathers and pat the outside dry. Liberally salt and pepper the inside of the chicken. Stuff the cavity with the bunch of thyme, both halves of lemon, and all the garlic. Brush the outside of the chicken with the butter and sprinkle again with salt and pepper. Tie the legs together with kitchen string and tuck the wing tips under the body of the chicken. Place the onions, carrots, and fennel in a roasting pan. Toss with salt, pepper, 20 sprigs of thyme, and olive oil. Spread around the bottom of the roasting pan and place the chicken on top." , Text -> Step Step Text "Roast the chicken for 1 1/2 hours, or until the juices run clear when you cut between a leg and thigh. Remove the chicken and vegetables to a platter and cover with aluminum foil for about 20 minutes. Slice the chicken onto a platter and serve it with the vegetables." ] sallysBakingIngredients :: [Ingredient] sallysBakingIngredients :: [Ingredient] sallysBakingIngredients = [ Double -> Text -> Text -> Ingredient pureIngredient Double 0.5 Text "cup" Text "(115g; 1 stick) unsalted butter" , Double -> Text -> Text -> Ingredient pureIngredient Double 6.0 Text "oz" Text "(170g) high quality semi-sweet chocolate*" , Double -> Text -> Text -> Ingredient pureIngredient Double 0.25 Text "cup" Text "(31g) all-purpose flour (spoon & leveled)" , Double -> Text -> Text -> Ingredient pureIngredient Double 0.5 Text "cup" Text "(60g) confectioners\8217 sugar" , Double -> Text -> Ingredient pureIngredientNoUnit Double 2 Text "large egg yolks*" , Double -> Text -> Ingredient pureIngredientNoUnit Double 2 Text "large eggs" , Text -> Ingredient pureIngredientName Text "optional for topping: ice cream, raspberries, and/or chocolate syrup" , Double -> Text -> Text -> Ingredient pureIngredient Double 0.125 Text "tsp" Text "salt" ] sallysBakingSteps :: [Step] sallysBakingSteps :: [Step] sallysBakingSteps = [ Text -> Step Step Text "Spray four 6 ounce ramekin with nonstick cooking spray and dust with cocoa powder. This ensures the cakes will seamlessly come out of the ramekins when inverted onto a plate in step 7. *Or spray half of a 12-count muffin pan and dust with cocoa powder. If baking in a muffin pan, the recipe will yield 6 cakes." , Text -> Step Step Text "Preheat oven to 425\194\176F (218\194\176C)." , Text -> Step Step Text "Coarsely chop the chocolate. Place butter into a medium heat-proof bowl, then add chopped chocolate on top. Microwave on high in 10 second increments, stirring after each until completely smooth. Set aside." , Text -> Step Step Text "Whisk the flour, confectioners\8217 sugar, and salt together in a small bowl. Whisk the eggs and egg yolks together until combined in another small bowl. Pour the flour mixture and eggs into the bowl of chocolate. Slowly stir everything together using a rubber spatula or wooden spoon. If there are any lumps, gently use your whisk to rid them. The batter\194 will be slightly thick." , Text -> Step Step Text "Spoon chocolate batter evenly into each prepared ramekin or muffin cup." , Text -> Step Step Text "Place ramekins onto a baking sheet and bake for 12-14 minutes until the sides appear solid and firm\8211 the tops will still look soft. *If baking in a muffin pan, the cakes only take about 8-10 minutes." , Text -> Step Step Text "Allow to cool for 1 minute, then cover each with an inverted plate and turn over. Use an oven mitt because those ramekins are hot! The cakes should release easily from the ramekin. *If you used a muffin pan, use a spoon to release the cakes from the pan and place each upside down on plates." , Text -> Step Step Text "Add toppings. Serve immediately." ] cafeDelitesIngredients :: [Ingredient] cafeDelitesIngredients :: [Ingredient] cafeDelitesIngredients = [ Double -> Text -> Text -> Ingredient pureIngredient Double 14 Text "oz" Text "(400g) tomato puree (tomato sauce/Passata)" , Double -> Text -> Text -> Ingredient pureIngredient Double 28 Text "oz" Text "(800g) boneless and skinless chicken thighs cut into bite-sized pieces" , Double -> Text -> Text -> Ingredient pureIngredient Double 1 Text "tsp" Text "brown sugar" , Double -> Text -> Text -> Ingredient pureIngredient Double 2 Text "tbsp" Text "butter" , Double -> Text -> Text -> Ingredient pureIngredient Double 4 Text "tbsp" Text "Fresh cilantro or coriander to garnish" , Double -> Text -> Text -> Ingredient pureIngredient Double 1.5 Text "tsp" Text "garam masala" , Double -> Text -> Text -> Ingredient pureIngredient Double 2 Text "tsp" Text "garam masala" , Double -> Text -> Text -> Ingredient pureIngredient Double 1.5 Text "tbsp" Text "garlic finely grated" , Double -> Text -> Text -> Ingredient pureIngredient Double 1 Text "tbsp" Text "ginger" , Double -> Text -> Text -> Ingredient pureIngredient Double 1.0 Text "tbsp" Text "ginger finely grated" , Double -> Text -> Text -> Ingredient pureIngredient Double 1 Text "tsp" Text "ground coriander" , Double -> Text -> Text -> Ingredient pureIngredient Double 1 Text "tsp" Text "ground cumin" , Double -> Text -> Text -> Ingredient pureIngredient Double 1.5 Text "tsp" Text "ground cumin" , Double -> Text -> Text -> Ingredient pureIngredient Double 1 Text "tsp" Text "ground red chili powder (adjust to your taste preference)" , Double -> Text -> Text -> Ingredient pureIngredient Double 1 Text "tsp" Text "Kashmiri chili (optional for colour and flavour)" , Double -> Text -> Text -> Ingredient pureIngredient Double 1 Text "tsp" Text "Kashmiri chili (or 1/2 teaspoon ground red chili powder)" , Double -> Text -> Text -> Ingredient pureIngredient Double 1.5 Text "tbsp" Text "minced garlic" , Double -> Text -> Text -> Ingredient pureIngredient Double 1.25 Text "cup" Text "of heavy or thickened cream (use evaporated milk for lower calories)" , Double -> Text -> Text -> Ingredient pureIngredient Double 1 Text "tsp" Text "of salt" , Double -> Text -> Text -> Ingredient pureIngredient Double 2 Text "tbsp" Text "of vegetable/canola oil" , Double -> Text -> Text -> Ingredient pureIngredient Double 1 Text "cup" Text "plain yogurt" , Double -> Text -> Text -> Ingredient pureIngredient Double 1 Text "tsp" Text "salt" , Double -> Text -> Ingredient pureIngredientNoUnit Double 2 Text "small onions (or 1 large onion) finely diced" , Double -> Text -> Text -> Ingredient pureIngredient Double 1 Text "tsp" Text "turmeric" , Double -> Text -> Text -> Ingredient pureIngredient Double 1 Text "tsp" Text "turmeric powder" , Double -> Text -> Text -> Ingredient pureIngredient Double 0.25 Text "cup" Text "water if needed" ] cafeDelitesSteps :: [Step] cafeDelitesSteps :: [Step] cafeDelitesSteps = [ Text -> Step Step Text "In a bowl, combine chicken with all of the ingredients for the chicken marinade; let marinate for 10 minutes to an hour (or overnight if time allows)." , Text -> Step Step Text "Heat oil in a large skillet or pot over medium-high heat. When sizzling, add chicken pieces in batches of two or three, making sure not to crowd the pan. Fry until browned for only 3 minutes on each side. Set aside and keep warm. (You will finish cooking the chicken in the sauce.)" , Text -> Step Step Text "Melt the butter in the same pan. Fry the onions until soft (about 3 minutes) while scraping up any browned bits stuck on the bottom of the pan." , Text -> Step Step Text "Add garlic and ginger and saut\195\169 for 1 minute until fragrant, then add garam masala, cumin, turmeric and coriander. Fry for about 20 seconds until fragrant, while stirring occasionally." , Text -> Step Step Text "Pour in the tomato puree, chili powders and salt. Let simmer for about 10-15 minutes, stirring occasionally until sauce thickens and becomes a deep brown red colour." , Text -> Step Step Text "Stir the cream and sugar through the sauce. Add the chicken and its juices back into the pan and cook for an additional 8-10 minutes until chicken is cooked through and the sauce is thick and bubbling. Pour in the water to thin out the sauce, if needed." , Text -> Step Step Text "Garnish with cilantro (coriander) and serve with hot\194 garlic butter rice\194 and fresh homemade\194 Naan bread!" ] eatingWellIngredients :: [Ingredient] eatingWellIngredients :: [Ingredient] eatingWellIngredients = [ Double -> Text -> Ingredient pureIngredientNoUnit Double 1 Text "(5-ounce) block feta cheese" , Double -> Text -> Text -> Ingredient pureIngredient Double 2 Text "cup" Text "boiling water" , Double -> Text -> Text -> Ingredient pureIngredient Double 1 Text "tsp" Text "dried dill" , Double -> Text -> Text -> Ingredient pureIngredient Double 3 Text "tbsp" Text "extra-virgin olive oil" , Double -> Text -> Text -> Ingredient pureIngredient Double 0.25 Text "tsp" Text "ground pepper" , Double -> Text -> Text -> Ingredient pureIngredient Double 0.25 Text "tsp" Text "kosher salt" , Double -> Text -> Ingredient pureIngredientNoUnit Double 2 Text "large cloves garlic, minced" , Double -> Text -> Text -> Ingredient pureIngredient Double 8 Text "cup" Text "lightly packed baby spinach (about 5 ounces)" , Double -> Text -> Text -> Ingredient pureIngredient Double 8 Text "oz" Text "penne or rotini" ] eatingWellSteps :: [Step] eatingWellSteps :: [Step] eatingWellSteps = [ Text -> Step Step Text "Preheat oven to 400°F." , Text -> Step Step Text "Place feta in the center of a 9-by-13-inch baking dish. Bake until softened and starting to brown, about 15 minutes." , Text -> Step Step Text "Meanwhile, combine spinach, oil, garlic, dill, salt and pepper in a large bowl. Use your hands to massage the spinach until it's reduced in volume by half. Stir in pasta." , Text -> Step Step Text "After the feta has baked for 15 minutes, add the spinach and pasta mixture to the baking dish. Pour boiling water over the mixture and gently stir. Cover with foil and bake until the pasta is tender, about 18 minutes. Remove from the oven and stir. Cover and let stand for at least 3 minutes before serving." ]