fix: correct YAML frontmatter, convert images to proper WebP format
- Moved image: field from outside to inside YAML frontmatter (50 files) - Converted all 56 non-WebP images to proper WebP format via ImageMagick - Fixed Python shebangs for portability - Updated source fields in 2 Task 3 recipes
@@ -1,4 +1,3 @@
|
||||
image: https://roux.roo.lol/recipe-images/alain-ducase-bread.webp
|
||||
---
|
||||
|
||||
title: Alain Ducasse's Gougères
|
||||
@@ -17,6 +16,7 @@ tags:
|
||||
|
||||
- french
|
||||
|
||||
image: https://roux.roo.lol/recipe-images/alain-ducase-bread.webp
|
||||
---
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
image: https://roux.roo.lol/recipe-images/arugula-pesto-chicken-with-pecans-roasted-butternut.webp
|
||||
---
|
||||
|
||||
title: Arugula Pesto Chicken with Pecans & Roasted Butternut
|
||||
@@ -21,6 +20,7 @@ tags:
|
||||
|
||||
- pesto
|
||||
|
||||
image: https://roux.roo.lol/recipe-images/arugula-pesto-chicken-with-pecans-roasted-butternut.webp
|
||||
---
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
image: https://roux.roo.lol/recipe-images/arugula-pesto-wheat-berries-recipe.webp
|
||||
---
|
||||
title: Arugula Pesto Wheat Berries Recipe
|
||||
servings: 1
|
||||
@@ -9,6 +8,7 @@ tags:
|
||||
- arugula
|
||||
- pesto
|
||||
- wheat berries
|
||||
image: https://roux.roo.lol/recipe-images/arugula-pesto-wheat-berries-recipe.webp
|
||||
---
|
||||
|
||||
Place the @cooked wheat berries{3%cups} in a large mixing bowl and set them aside so they can come up to room temperature if you've had them in the refrigerator.
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
image: https://roux.roo.lol/recipe-images/asparagus-salad.webp
|
||||
---
|
||||
title: Asparagus Salad
|
||||
prep_time: 20 minutes
|
||||
@@ -11,6 +10,7 @@ tags:
|
||||
- salad
|
||||
description: A fresh spring asparagus salad with peas, radishes, feta, pine nuts, and herbs, tossed with lemon and olive oil and finished with creamy avocado dressing.
|
||||
source: Love and Lemons
|
||||
image: https://roux.roo.lol/recipe-images/asparagus-salad.webp
|
||||
---
|
||||
|
||||
Bring a large #pot of well-salted @water{} to a boil and prepare a #bowl of @ice water{}.
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
image: https://roux.roo.lol/recipe-images/authentic-cacio-e-pepe-recipe.webp
|
||||
---
|
||||
title: Authentic Cacio e Pepe Recipe
|
||||
servings: 2
|
||||
@@ -9,6 +8,7 @@ tags:
|
||||
- pasta
|
||||
- italian
|
||||
- quick
|
||||
image: https://roux.roo.lol/recipe-images/authentic-cacio-e-pepe-recipe.webp
|
||||
---
|
||||
|
||||
In a #pot, bring @water{} to a boil. Lightly salt the water when it comes to a boil.
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
image: https://roux.roo.lol/recipe-images/butternut-turkey-chili-with-sweet-peppers-spiced-pepitas-queso-fresco.webp
|
||||
---
|
||||
title: BUTTERNUT & TURKEY CHILI with sweet peppers, spiced pepitas & queso fresco
|
||||
servings: 1
|
||||
@@ -10,6 +9,7 @@ tags:
|
||||
- butternut squash
|
||||
- chili
|
||||
- turkey
|
||||
image: https://roux.roo.lol/recipe-images/butternut-turkey-chili-with-sweet-peppers-spiced-pepitas-queso-fresco.webp
|
||||
---
|
||||
|
||||
Heat ~{1%Tbsp} @olive oil{} in a #pot over medium heat.
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
image: https://roux.roo.lol/recipe-images/baked-chile-relleno-with-black-beans.webp
|
||||
---
|
||||
title: Baked Chile Relleno with Black Beans
|
||||
servings: 2
|
||||
@@ -10,6 +9,7 @@ tags:
|
||||
- mexican
|
||||
- peppers
|
||||
- vegetarian
|
||||
image: https://roux.roo.lol/recipe-images/baked-chile-relleno-with-black-beans.webp
|
||||
---
|
||||
|
||||
Preheat the #oven to high broil with a rack near the broiler.
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
image: https://roux.roo.lol/recipe-images/bang-bang-tofu.webp
|
||||
---
|
||||
title: Bang Bang Tofu
|
||||
servings: 2
|
||||
@@ -11,6 +10,7 @@ tags:
|
||||
- rice
|
||||
- tofu
|
||||
- vegetarian
|
||||
image: https://roux.roo.lol/recipe-images/bang-bang-tofu.webp
|
||||
---
|
||||
|
||||
Drain @tofu{1%lb}, pat dry, and place on a plate lined with several paper towels or a clean dish towel to dry for ~{15%minutes}.
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
image: https://roux.roo.lol/recipe-images/barbecue-chicken-with-crispy-pan-fried-okra-cheddar-biscuits.webp
|
||||
---
|
||||
title: Barbecue Chicken with Crispy Pan-Fried Okra & Cheddar Biscuits
|
||||
servings: 2
|
||||
@@ -10,6 +9,7 @@ tags:
|
||||
- chicken
|
||||
- biscuits
|
||||
- okra
|
||||
image: https://roux.roo.lol/recipe-images/barbecue-chicken-with-crispy-pan-fried-okra-cheddar-biscuits.webp
|
||||
---
|
||||
|
||||
Preheat the #oven to 400°F and lightly grease a #baking sheet.
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
image: https://roux.roo.lol/recipe-images/black-bean-and-corn-salad.webp
|
||||
---
|
||||
title: Black Bean and Corn Salad
|
||||
servings: 4
|
||||
@@ -13,6 +12,7 @@ tags:
|
||||
- avocado
|
||||
- summer
|
||||
- healthy
|
||||
image: https://roux.roo.lol/recipe-images/black-bean-and-corn-salad.webp
|
||||
---
|
||||
|
||||
In a large #mixing bowl{}, whisk together the @lime juice{1/4%cup}, @avocado oil{3%tablespoons}, @garlic{1%clove}, grated, @cumin{1/2%teaspoon}, @sea salt{3/4%teaspoon}, and @black pepper{}.
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
image: https://roux.roo.lol/recipe-images/blackened-shrimp-and-gouda-grits.webp
|
||||
---
|
||||
title: Blackened Shrimp & Gouda Grits
|
||||
servings: 2
|
||||
@@ -8,6 +7,7 @@ tags: caesar salad,garnish-and-gather,seafood,shrimp and grits,southern
|
||||
source: Unknown
|
||||
description: Southern-style shrimp and grits with smoked gouda, served with a charred scallion kale caesar salad
|
||||
prep_time: 25 minutes
|
||||
image: https://roux.roo.lol/recipe-images/blackened-shrimp-and-gouda-grits.webp
|
||||
---
|
||||
|
||||
In a #pot{}, bring 3 cups @water{} & @salt{1/2 teaspoon} to a boil.
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
image: https://roux.roo.lol/recipe-images/butternut-turkey-chili-2.webp
|
||||
---
|
||||
title: Butternut and Turkey Chili
|
||||
servings: 1
|
||||
@@ -10,6 +9,7 @@ tags:
|
||||
- butternut squash
|
||||
- chili
|
||||
- turkey
|
||||
image: https://roux.roo.lol/recipe-images/butternut-turkey-chili-2.webp
|
||||
---
|
||||
|
||||
Heat ~{1%Tbsp} @olive oil{} in a #pot over medium heat.
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
image: https://roux.roo.lol/recipe-images/cabbage-salad.webp
|
||||
---
|
||||
title: Cabbage Salad
|
||||
servings: 6
|
||||
category: Salad
|
||||
source: https://www.loveandlemons.com/cabbage-salad/
|
||||
image: https://roux.roo.lol/recipe-images/cabbage-salad.webp
|
||||
---
|
||||
|
||||
In a large bowl, toss together @green cabbage{4%cup}, @red cabbage{4%cup}, @red bell pepper{1%medium}, @carrots{1%cup}(julienned), @cilantro{1/2%cup}(chopped).
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
image: https://roux.roo.lol/recipe-images/chana-chickpea-salad.webp
|
||||
---
|
||||
title: Chana Salad
|
||||
description: I think my mom lied to me about this chana salaad. She said it was junk food so I would eat it, but now that I'm older I know better. After all, it's chickpeas and vegetables! But I'm glad my mom said whatever it took at the time to get me to eat it, because I love this salad. It is perfect for summer and is easy to make. Serve it as a side salad or as a main dish for a vegan meal. Adjust the cayenne as desired for your heat preference.
|
||||
@@ -8,6 +7,7 @@ servings: 6
|
||||
category: side
|
||||
source: OCR
|
||||
tags: salad, indian, vegan, gluten-free, instant-pot, chickpea
|
||||
image: https://roux.roo.lol/recipe-images/chana-chickpea-salad.webp
|
||||
---
|
||||
|
||||
In the inner cooking pot of the #Instant Pot, combine the @chickpea{1%can}, @bay leaf{2}, and @water{4%cups}.
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
image: https://roux.roo.lol/recipe-images/chicken-and-pumpkin-gnocchi-with-ricotta.webp
|
||||
---
|
||||
title: Chicken & Pumpkin Gnocchi with Ricotta
|
||||
servings: 2
|
||||
@@ -8,6 +7,7 @@ source: garnish-and-gather
|
||||
description:
|
||||
prep_time: 35 minutesnutes
|
||||
totalTime: PT35M
|
||||
image: https://roux.roo.lol/recipe-images/chicken-and-pumpkin-gnocchi-with-ricotta.webp
|
||||
---
|
||||
|
||||
Remove any large stems from @spinach{2 1/2 cups} and roughly chop.
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
image: https://roux.roo.lol/recipe-images/chickpea-butter-curry.webp
|
||||
---
|
||||
title: Chickpea Butter Curry
|
||||
servings: 2
|
||||
@@ -9,6 +8,7 @@ source: Unknown
|
||||
description: A vegetarian curry with chickpeas, cauliflower, and coconut milk, served with spiced oil drizzle
|
||||
prep_time: 20 minutes
|
||||
cook_time: 20 minutes
|
||||
image: https://roux.roo.lol/recipe-images/chickpea-butter-curry.webp
|
||||
---
|
||||
|
||||
In a small #pot{}, bring 1 1/2 cups @water{} & @basmati rice{3/4 cup} to a boil, then cover, reduce heat to low, and cook ~{12-15 minutes} or until @rice{} is tender.
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
image: https://roux.roo.lol/recipe-images/chickpea-butter-curry-2.webp
|
||||
---
|
||||
title: Chickpea Butter Curry
|
||||
servings: 2
|
||||
category: Main
|
||||
source: Rebel Recipes
|
||||
image: https://roux.roo.lol/recipe-images/chickpea-butter-curry-2.webp
|
||||
---
|
||||
|
||||
In a small pot, bring 1 1/2 cups water and @basmati rice{3/4%cup} to a boil, then cover, reduce heat to low, and cook 12-15 minutes or until rice is tender.
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
image: https://roux.roo.lol/recipe-images/chinese-orange-shrimp.webp
|
||||
---
|
||||
title: Chinese Orange Shrimp
|
||||
servings: 2
|
||||
@@ -9,6 +8,7 @@ source: Unknown
|
||||
description: Shrimp in orange sauce with brussels sprouts and carrots served over scallion rice
|
||||
prep_time: 15 minutes
|
||||
cook_time: 15 minutes
|
||||
image: https://roux.roo.lol/recipe-images/chinese-orange-shrimp.webp
|
||||
---
|
||||
|
||||
In a #pot{}, bring 1 1/2 cups @water{} & @salt{1/4 teaspoon} to a boil.
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
image: https://roux.roo.lol/recipe-images/chocolate-mousse-cake-with-raspberries.webp
|
||||
---
|
||||
title: Chocolate Mousse Cake with Raspberries
|
||||
servings: 24
|
||||
category: Desserts
|
||||
source: King Arthur Baking
|
||||
image: https://roux.roo.lol/recipe-images/chocolate-mousse-cake-with-raspberries.webp
|
||||
---
|
||||
|
||||
Preheat the oven to 325°F. Lightly grease two 8" round pans (or adjust for your pan mix) and line with parchment.
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
image: https://roux.roo.lol/recipe-images/cilantro-pesto-shrimp-over-orzo.webp
|
||||
---
|
||||
title: Cilantro Pesto Shrimp Over Orzo
|
||||
servings: 2
|
||||
@@ -8,6 +7,7 @@ source: Unknown
|
||||
description:
|
||||
prep_time: 20 minutes
|
||||
totalTime: PT20M
|
||||
image: https://roux.roo.lol/recipe-images/cilantro-pesto-shrimp-over-orzo.webp
|
||||
---
|
||||
|
||||
Juice HALF of @lemon{1} and cut remainder into wedges.
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
image: https://roux.roo.lol/recipe-images/crispy-roasted-chickpeas-garbanzo-beans.webp
|
||||
---
|
||||
title: Crispy Roasted Chickpeas (Garbanzo Beans)
|
||||
servings: 2
|
||||
category: Snack
|
||||
source: Unknown
|
||||
image: https://roux.roo.lol/recipe-images/crispy-roasted-chickpeas-garbanzo-beans.webp
|
||||
---
|
||||
|
||||
Preheat the oven to 400°F.
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
image: https://roux.roo.lol/recipe-images/crispy-roasted-chickpeas-garbanzo-beans-2.webp
|
||||
---
|
||||
title: Crispy Roasted Chickpeas (Garbanzo Beans)
|
||||
servings: 2
|
||||
category: Snack
|
||||
source: Unknown
|
||||
image: https://roux.roo.lol/recipe-images/crispy-roasted-chickpeas-garbanzo-beans-2.webp
|
||||
---
|
||||
|
||||
Preheat the oven to 400°F.
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
image: https://roux.roo.lol/recipe-images/dried-fava-soup.webp
|
||||
---
|
||||
title: Dried Fava Soup with Mint and Guajillo Chiles
|
||||
prep_time: 10 minutes
|
||||
@@ -12,6 +11,7 @@ tags:
|
||||
- soup
|
||||
description: A slow-simmered dried fava bean soup with roasted tomatoes, garlic, and onion, finished with mint and cilantro and topped with a tangy quick-pickled guajillo chile mixture.
|
||||
source: 101 Cookbooks (adapted from Rick Bayless’s Mexican Kitchen)
|
||||
image: https://roux.roo.lol/recipe-images/dried-fava-soup.webp
|
||||
---
|
||||
|
||||
Make sure the @hulled dried fava bean{1%lb} are clean and free of dirt, then rinse them well.
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
image: https://roux.roo.lol/recipe-images/easy-lemon-rosemary-white-bean-soup.webp
|
||||
---
|
||||
title: EASY LEMON ROSEMARY WHITE BEAN SOUP
|
||||
servings: 4
|
||||
category: Soup
|
||||
source: Simple Veganista
|
||||
image: https://roux.roo.lol/recipe-images/easy-lemon-rosemary-white-bean-soup.webp
|
||||
---
|
||||
|
||||
Saute @olive oil{2%tbsp} in a large pot. Add @onion{1%small}, @carrots{3%large} and @celery{2 stalks}; cook for 7 minutes until softened.
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
image: https://roux.roo.lol/recipe-images/easy-lemon-rosemary-white-bean-soup-2.webp
|
||||
---
|
||||
title: EASY LEMON ROSEMARY WHITE BEAN SOUP
|
||||
servings: 4
|
||||
category: Soup
|
||||
source: Simple Veganista
|
||||
image: https://roux.roo.lol/recipe-images/easy-lemon-rosemary-white-bean-soup-2.webp
|
||||
---
|
||||
|
||||
Saute @olive oil{2%tbsp} in a large pot. Add @onion{1%small}, @carrots{3%large} and @celery{2 stalks}; cook for 7 minutes until softened.
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
image: https://roux.roo.lol/recipe-images/gaja-s-bulgogi-lettuce-wraps.webp
|
||||
---
|
||||
title: Gaja's Bulgogi Lettuce Wraps
|
||||
servings: 2
|
||||
@@ -7,6 +6,7 @@ tags: bulgogi,garnish-and-gather,korean,lettuce wraps
|
||||
source: Unknown
|
||||
description:
|
||||
prep_time: 20 minutes
|
||||
image: https://roux.roo.lol/recipe-images/gaja-s-bulgogi-lettuce-wraps.webp
|
||||
---
|
||||
|
||||
Pat @steak bulgogi{8 oz} dry.
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
image: https://roux.roo.lol/recipe-images/gochugaru-honey-salmon.webp
|
||||
---
|
||||
title: Gochugaru Honey Salmon
|
||||
servings: 2
|
||||
@@ -8,6 +7,7 @@ tags: crispy rice,garnish-and-gather,gochugaru,korean,salmon
|
||||
source: Unknown
|
||||
description: Salmon with spicy honey sauce served with crispy rice, broccoli, and carrots
|
||||
prep_time: 25 minutes
|
||||
image: https://roux.roo.lol/recipe-images/gochugaru-honey-salmon.webp
|
||||
---
|
||||
|
||||
In a #pot{}, bring 1 1/2 cups @water{} to a boil for @rice{3/4 cup, long grain}.
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
image: https://roux.roo.lol/recipe-images/indian-spiced-chicken-2.webp
|
||||
---
|
||||
title: Indian Spiced Chicken with Creamy Tomato Sauce & Spinach
|
||||
servings: 2
|
||||
@@ -8,6 +7,7 @@ source: Unknown
|
||||
description:
|
||||
prep_time: 20 minutes
|
||||
cook_time: 20 minutes
|
||||
image: https://roux.roo.lol/recipe-images/indian-spiced-chicken-2.webp
|
||||
---
|
||||
|
||||
Bring 1 1/2 cups @water{} & @salt{1/4 tsp} to a boil in a #pot{}.
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
image: https://roux.roo.lol/recipe-images/kale-and-chestnut-stew.webp
|
||||
---
|
||||
title: Kale & Chestnut Stew with Butternut Squash, Wild Rice & Parsley–Walnut Pesto
|
||||
servings: 2
|
||||
@@ -9,6 +8,7 @@ source: Garnish & Gather — Chef Emily Golub
|
||||
description: Cozy kale-and-chestnut stew finished with cream and topped with a bright parsley–walnut pesto. Allergens: dairy, walnuts.
|
||||
prep_time: 20 minutes
|
||||
cook_time: 35 minutes
|
||||
image: https://roux.roo.lol/recipe-images/kale-and-chestnut-stew.webp
|
||||
---
|
||||
|
||||
Remove any large stems from @kale{3 c} and thinly slice into ribbons.
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
image: https://roux.roo.lol/recipe-images/kkanpoong-tofu.webp
|
||||
---
|
||||
title: Spicy & Crunchy Garlic Tofu (Kkanpoong Tofu)
|
||||
servings: 2
|
||||
category: uncategorized
|
||||
source: https://thekoreanvegan.com/spicy-crunchy-garlic-tofu-kkampoong-tofu/
|
||||
description:
|
||||
image: https://roux.roo.lol/recipe-images/kkanpoong-tofu.webp
|
||||
---
|
||||
|
||||
To a large #bowl{}, add a pinch of @salt{} and 2 tablespoons of @potato starch{} to @tofu{1 16 ounce block, extra firm, pressed and chopped into 1/2 inch bite sized chunks}. Gently toss @tofu{} to make sure they are all evenly coated. Set aside.
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
image: https://roux.roo.lol/recipe-images/korean-shrimp-tacos.webp
|
||||
---
|
||||
title: Korean Shrimp Tacos
|
||||
servings: 2
|
||||
@@ -9,6 +8,7 @@ source: Unknown
|
||||
description: Crispy shrimp tacos with gochujang sauce and bok choy rice salad
|
||||
prep_time: 25 minutes
|
||||
cook_time: 25 minutes
|
||||
image: https://roux.roo.lol/recipe-images/korean-shrimp-tacos.webp
|
||||
---
|
||||
|
||||
In a #pot{}, bring 1 1/2 cups @water{} & @salt{1/4 teaspoon} to a boil.
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
image: https://roux.roo.lol/recipe-images/kung-pao-shrimp-with-sichuan-roasted-green-beans.webp
|
||||
---
|
||||
title: Kung Pao Shrimp with Sichuan Roasted Green Beans
|
||||
servings: 2
|
||||
@@ -7,6 +6,7 @@ tags: chinese,garnish-and-gather,kung pao,shrimp
|
||||
source: Unknown
|
||||
description:
|
||||
prep_time: 25 minutes
|
||||
image: https://roux.roo.lol/recipe-images/kung-pao-shrimp-with-sichuan-roasted-green-beans.webp
|
||||
---
|
||||
|
||||
Preheat #oven{} to 425°.
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
image: https://roux.roo.lol/recipe-images/lactation-cookies.webp
|
||||
---
|
||||
title: Lactation cookies
|
||||
servings: 1
|
||||
@@ -6,6 +5,7 @@ category: Cookies
|
||||
tags: cookies
|
||||
source: Mealie
|
||||
description:
|
||||
image: https://roux.roo.lol/recipe-images/lactation-cookies.webp
|
||||
---
|
||||
|
||||
Preheat #oven{} to 350°.
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
image: https://roux.roo.lol/recipe-images/lactation-cookies-2.webp
|
||||
---
|
||||
title: Lactation Cookies
|
||||
servings: 12
|
||||
category: Cookies
|
||||
source: Mealie
|
||||
image: https://roux.roo.lol/recipe-images/lactation-cookies-2.webp
|
||||
---
|
||||
|
||||
@butter{1%cup}
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
image: https://roux.roo.lol/recipe-images/moroccan-spiced-lentil-chickpea-soup.webp
|
||||
---
|
||||
title: Moroccan Spiced Lentil & Chickpea Soup
|
||||
servings: 1
|
||||
category: Soup
|
||||
source: Rebel Recipes
|
||||
image: https://roux.roo.lol/recipe-images/moroccan-spiced-lentil-chickpea-soup.webp
|
||||
---
|
||||
|
||||
In a large pan, add @olive oil{2%tbsp} and @onion{1%large}(chopped); cook on medium heat for 7-8 minutes until soft and browning.
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
image: https://roux.roo.lol/recipe-images/moroccan-spiced-lentil-and-chickpea-soup.webp
|
||||
---
|
||||
title: Moroccan Spiced Lentil & Chickpea Soup
|
||||
servings: 1
|
||||
category: Soup
|
||||
source: Rebel Recipes
|
||||
image: https://roux.roo.lol/recipe-images/moroccan-spiced-lentil-and-chickpea-soup.webp
|
||||
---
|
||||
|
||||
In a large pan, add @olive oil{2%tbsp} and @onion{1%large}(chopped); cook on medium heat for 7-8 minutes until soft and browning.
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
image: https://roux.roo.lol/recipe-images/orange-rolls.webp
|
||||
---
|
||||
title: Orange Rolls
|
||||
servings: 8
|
||||
@@ -9,6 +8,7 @@ tags:
|
||||
- breakfast
|
||||
- rolls
|
||||
- orange
|
||||
image: https://roux.roo.lol/recipe-images/orange-rolls.webp
|
||||
---
|
||||
|
||||
Make the dough: Heat the #oven to 375°F. Place @light brown sugar{1/3%cup} in a small #bowl and zest the @orange{1} directly over it. Gently rub the zest into the sugar and transfer 2 tablespoons/25 grams of the orange sugar to a large #bowl to use for the dough. Save the rest of the orange sugar for the filling.
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
image: https://roux.roo.lol/recipe-images/palak-paneer.webp
|
||||
---
|
||||
title: Palak Paneer
|
||||
servings: 4
|
||||
category: Indian
|
||||
source: Mealie
|
||||
image: https://roux.roo.lol/recipe-images/palak-paneer.webp
|
||||
---
|
||||
|
||||
Preheat the #Instant Pot by selecting Sauté and adjust to More for high heat. When the inner cooking pot is hot, add @peanut oil{2%tbsp} and heat until it is shimmering. Add @garlic cloves{5}(minced), @ginger{2%tsp}(minced), and @serrano or jalapeño chile{1}(minced), and sauté for ~{1%minute} or until fragrant.
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
image: https://roux.roo.lol/recipe-images/pecan-brown-butter-trout.webp
|
||||
---
|
||||
title: Pecan-Brown Butter Trout
|
||||
servings: 2
|
||||
@@ -9,6 +8,7 @@ source: Unknown
|
||||
description: Pan-seared trout with pecan-brown butter sauce, served with herbed sweet potatoes, radishes, and wilted greens
|
||||
prep_time: 30 minutes
|
||||
cook_time: 30 minutes
|
||||
image: https://roux.roo.lol/recipe-images/pecan-brown-butter-trout.webp
|
||||
---
|
||||
|
||||
Preheat #oven{} to 400°F.
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
image: https://roux.roo.lol/recipe-images/roasted-pumpkin-sage.webp
|
||||
---
|
||||
title: Roasted Pumpkin Sage Soup
|
||||
description: Pumpkin season is in full swing, and this pumpkin sage soup is the perfect first course for any meal. Totally optional, but I love using hollowed out pumpkins as a bowl for a beautiful presentation.
|
||||
@@ -8,6 +7,7 @@ servings: 5
|
||||
category: uncategorized
|
||||
source: https://www.skinnytaste.com/roasted-pumpkin-sage-soup
|
||||
tags: soup, pumpkin, fall, vegetarian-option, gluten-free
|
||||
image: https://roux.roo.lol/recipe-images/roasted-pumpkin-sage.webp
|
||||
---
|
||||
|
||||
Heat the oven to 400°F.
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
image: https://roux.roo.lol/recipe-images/saag-paneer.webp
|
||||
---
|
||||
title: Saag Paneer
|
||||
servings: 1
|
||||
category: Indian
|
||||
source: Mealie
|
||||
image: https://roux.roo.lol/recipe-images/saag-paneer.webp
|
||||
---
|
||||
|
||||
Preheat the #Instant Pot by selecting Sauté and adjust to More for high heat. When the inner cooking pot is hot, add @peanut oil{2%tbsp} and heat until it is shimmering. Add @garlic cloves{5}(minced), @ginger{2%tsp}(minced), and @serrano or jalapeno chile{1}(minced), and sauté for ~{1%minute} or until fragrant.
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
image: https://roux.roo.lol/recipe-images/spaghetti-carbonara.webp
|
||||
---
|
||||
title: Spaghetti Carbonara with Bacon & Crisp Lettuce Salad
|
||||
servings: 2
|
||||
@@ -9,6 +8,7 @@ source: Unknown
|
||||
description:
|
||||
prep_time: 15 minutes
|
||||
cook_time: 15 minutes
|
||||
image: https://roux.roo.lol/recipe-images/spaghetti-carbonara.webp
|
||||
---
|
||||
|
||||
Trim root from @lettuce{1 head} and separate into leaves.
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
image: https://roux.roo.lol/recipe-images/spaghetti-squash-w-chickpeas-and-kale.webp
|
||||
---
|
||||
title: Spaghetti Squash w/ Chickpeas & Kale
|
||||
servings: 3
|
||||
category: Main
|
||||
source: Love and Lemons
|
||||
image: https://roux.roo.lol/recipe-images/spaghetti-squash-w-chickpeas-and-kale.webp
|
||||
---
|
||||
Preheat the oven to 400F.
|
||||
Prepare your squash following the directions in this post.
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
image: https://roux.roo.lol/recipe-images/spanakopita.webp
|
||||
---
|
||||
title: Skillet Spanakopita (Greek Spinach Feta Pie)
|
||||
servings: 8
|
||||
category: Greek
|
||||
source: From a Chef's Kitchen
|
||||
image: https://roux.roo.lol/recipe-images/spanakopita.webp
|
||||
---
|
||||
|
||||
Preheat the oven to 375 degrees.
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
image: https://roux.roo.lol/recipe-images/spicy-shrimp-paella.webp
|
||||
---
|
||||
title: Spicy Shrimp Paella
|
||||
servings: 2
|
||||
@@ -9,6 +8,7 @@ tags:
|
||||
- paella
|
||||
- shrimp
|
||||
- spanish
|
||||
image: https://roux.roo.lol/recipe-images/spicy-shrimp-paella.webp
|
||||
---
|
||||
|
||||
In a large sauté #pan, cook @chorizo{2%oz} over medium for ~{3-5%minutes}, until cooked through, then remove, keeping drippings in the pan.
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
image: https://roux.roo.lol/recipe-images/thai-veggie-pad-see-ew.webp
|
||||
---
|
||||
title: Thai Veggie Pad See Ew
|
||||
servings: 2
|
||||
category: Thai
|
||||
source: Unknown
|
||||
image: https://roux.roo.lol/recipe-images/thai-veggie-pad-see-ew.webp
|
||||
---
|
||||
|
||||
Bring water to a boil for rice noodles.
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
image: https://roux.roo.lol/recipe-images/warm-up-with-a-quick-lemony-chicken-soup.webp
|
||||
---
|
||||
title: Warm Up With a Quick Lemony Chicken Soup
|
||||
servings: 6
|
||||
category: Soup
|
||||
source: EatingWell
|
||||
image: https://roux.roo.lol/recipe-images/warm-up-with-a-quick-lemony-chicken-soup.webp
|
||||
---
|
||||
|
||||
Heat @olive oil{1%tbsp} in a Dutch oven over medium-high. Add @carrots{3/4%cup} and @yellow onion{1/2%cup}; cook, stirring often, until vegetables are softened, 3 to 4 minutes. Add @garlic cloves{2}(minced) and @crushed red pepper flakes{3/4%tsp}, and cook, stirring constantly, until fragrant, about 1 minute.
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
image: https://roux.roo.lol/recipe-images/west-african-peanut-chicken.webp
|
||||
---
|
||||
title: West African Peanut Chicken
|
||||
servings: 2
|
||||
@@ -8,6 +7,7 @@ source: Unknown
|
||||
description:
|
||||
prep_time: 25 minutes
|
||||
cook_time: 25 minutes
|
||||
image: https://roux.roo.lol/recipe-images/west-african-peanut-chicken.webp
|
||||
---
|
||||
|
||||
Mince @fresno pepper{1}—remove seeds and use only half for less heat.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/tmp/recipe-venv/bin/python3
|
||||
#!/usr/bin/env python3
|
||||
"""Find images for remaining 6 recipes."""
|
||||
import re, sys, time
|
||||
from pathlib import Path
|
||||
|
||||
@@ -0,0 +1,128 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Fix the broken YAML frontmatter: move image field inside YAML, and convert non-WebP images."""
|
||||
|
||||
import re, subprocess, sys
|
||||
from pathlib import Path
|
||||
|
||||
WORKDIR = Path("/home/jbrechtel/recipes/.worktrees/recipe-images")
|
||||
|
||||
def fix_frontmatter(content: str) -> str:
|
||||
"""Move image: field inside the YAML block if it's outside."""
|
||||
# Check if image: is before the opening ---
|
||||
lines = content.split('\n')
|
||||
|
||||
# Find the first --- line
|
||||
first_hr = -1
|
||||
for i, line in enumerate(lines):
|
||||
if line.strip() == '---':
|
||||
first_hr = i
|
||||
break
|
||||
|
||||
if first_hr <= 0:
|
||||
return content # No frontmatter or image is at first line
|
||||
|
||||
# Check if the line just before the first --- has image:
|
||||
if first_hr > 0 and lines[first_hr - 1].startswith('image:'):
|
||||
# Extract the image line
|
||||
img_line = lines[first_hr - 1]
|
||||
# Remove it from before ---
|
||||
del lines[first_hr - 1]
|
||||
# Now first_hr is one index less (or same if we deleted the line before)
|
||||
# Find the closing ---
|
||||
closing_hr = -1
|
||||
for i in range(first_hr, len(lines)):
|
||||
if lines[i].strip() == '---':
|
||||
closing_hr = i
|
||||
break
|
||||
|
||||
if closing_hr > first_hr:
|
||||
# Insert image line before the closing ---
|
||||
lines.insert(closing_hr, img_line)
|
||||
else:
|
||||
# Insert after the closing --- (fallback)
|
||||
lines.insert(first_hr + 1, img_line)
|
||||
|
||||
return '\n'.join(lines)
|
||||
|
||||
|
||||
def fix_all_frontmatter():
|
||||
"""Fix frontmatter for all .cook files."""
|
||||
fixed = 0
|
||||
for f in sorted(WORKDIR.glob("*.cook")):
|
||||
content = f.read_text(encoding="utf-8")
|
||||
fixed_content = fix_frontmatter(content)
|
||||
if fixed_content != content:
|
||||
f.write_text(fixed_content, encoding="utf-8")
|
||||
print(f" Fixed: {f.name}")
|
||||
fixed += 1
|
||||
print(f"\nFixed {fixed} files with mis-placed image fields")
|
||||
return fixed
|
||||
|
||||
|
||||
def convert_images():
|
||||
"""Convert non-WebP images to actual WebP format."""
|
||||
converted = 0
|
||||
for img in sorted(WORKDIR.glob("recipe-images/*.webp")):
|
||||
mime = subprocess.run(
|
||||
["file", "-b", "--mime-type", str(img)],
|
||||
capture_output=True, text=True
|
||||
).stdout.strip()
|
||||
|
||||
if mime != "image/webp":
|
||||
print(f" Converting {img.name} (mime: {mime})")
|
||||
# Use temp file to avoid corruption
|
||||
tmp = img.with_suffix(".webp.tmp")
|
||||
result = subprocess.run(
|
||||
["convert", str(img), str(tmp)],
|
||||
capture_output=True, text=True
|
||||
)
|
||||
if result.returncode == 0 and tmp.exists():
|
||||
tmp.replace(img)
|
||||
print(f" Converted successfully")
|
||||
converted += 1
|
||||
else:
|
||||
print(f" Convert failed: {result.stderr}")
|
||||
|
||||
print(f"\nConverted {converted} images to proper WebP")
|
||||
return converted
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
print("=== Fixing YAML frontmatter ===")
|
||||
fix_all_frontmatter()
|
||||
|
||||
print("\n=== Converting image formats ===")
|
||||
convert_images()
|
||||
|
||||
# Final check
|
||||
print("\n=== Final verification ===")
|
||||
bad = 0
|
||||
for f in sorted(WORKDIR.glob("*.cook")):
|
||||
content = f.read_text(encoding="utf-8")
|
||||
# Check if image: is between --- markers
|
||||
if "image:" in content:
|
||||
# Find the opening ---
|
||||
parts = content.split('---', 2)
|
||||
if len(parts) >= 3:
|
||||
if "image:" not in parts[1]:
|
||||
print(f" STILL BROKEN: {f.name}")
|
||||
bad += 1
|
||||
|
||||
if bad == 0:
|
||||
print(" All files have image: inside YAML block ✅")
|
||||
|
||||
webp_count = 0
|
||||
non_webp_count = 0
|
||||
for img in sorted(WORKDIR.glob("recipe-images/*.webp")):
|
||||
mime = subprocess.run(
|
||||
["file", "-b", "--mime-type", str(img)],
|
||||
capture_output=True, text=True
|
||||
).stdout.strip()
|
||||
if mime == "image/webp":
|
||||
webp_count += 1
|
||||
else:
|
||||
non_webp_count += 1
|
||||
if non_webp_count <= 5:
|
||||
print(f" NOT WEBP: {img.name} ({mime})")
|
||||
|
||||
print(f" WebP images: {webp_count}, Non-WebP: {non_webp_count}")
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/tmp/recipe-venv/bin/python3
|
||||
#!/usr/bin/env python3
|
||||
"""Add frontmatter and images to 9 recipes without frontmatter."""
|
||||
|
||||
import re, sys, time
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
image: https://roux.roo.lol/recipe-images/cauliflower-milanese.webp
|
||||
---
|
||||
title: Cauliflower Milanese
|
||||
source: https://cooking.nytimes.com/recipes/1026145-cauliflower-milanese
|
||||
@@ -11,6 +10,7 @@ totalTime: 55 minutes
|
||||
prepTime: 15 minutes
|
||||
cookTime: 40 minutes
|
||||
tags: arugula, bread crumb, budget, cauliflower, parmesan, sheet-pan, fall, vegetarian
|
||||
image: https://roux.roo.lol/recipe-images/cauliflower-milanese.webp
|
||||
---
|
||||
|
||||
== Ingredients ==
|
||||
|
||||
@@ -3,7 +3,7 @@ title: Indian Spiced Chicken
|
||||
description:
|
||||
servings: 1
|
||||
category: uncategorized
|
||||
source: Unknown
|
||||
source: Gather and Garnish
|
||||
image: https://roux.roo.lol/recipe-images/indian-spiced-chicken.webp
|
||||
---
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 140 KiB After Width: | Height: | Size: 109 KiB |
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 57 KiB |
|
Before Width: | Height: | Size: 1.0 MiB After Width: | Height: | Size: 672 KiB |
|
Before Width: | Height: | Size: 242 KiB After Width: | Height: | Size: 126 KiB |
|
Before Width: | Height: | Size: 63 KiB After Width: | Height: | Size: 135 KiB |
|
Before Width: | Height: | Size: 200 KiB After Width: | Height: | Size: 78 KiB |
|
Before Width: | Height: | Size: 428 KiB After Width: | Height: | Size: 281 KiB |
|
Before Width: | Height: | Size: 772 KiB After Width: | Height: | Size: 436 KiB |
|
Before Width: | Height: | Size: 604 KiB After Width: | Height: | Size: 307 KiB |
|
Before Width: | Height: | Size: 130 KiB After Width: | Height: | Size: 70 KiB |
|
Before Width: | Height: | Size: 62 KiB After Width: | Height: | Size: 145 KiB |
|
Before Width: | Height: | Size: 274 KiB After Width: | Height: | Size: 417 KiB |
|
Before Width: | Height: | Size: 626 KiB After Width: | Height: | Size: 577 KiB |
|
Before Width: | Height: | Size: 180 KiB After Width: | Height: | Size: 226 KiB |
|
Before Width: | Height: | Size: 783 KiB After Width: | Height: | Size: 408 KiB |
|
Before Width: | Height: | Size: 191 KiB After Width: | Height: | Size: 107 KiB |
|
Before Width: | Height: | Size: 155 KiB After Width: | Height: | Size: 93 KiB |
|
Before Width: | Height: | Size: 1.3 MiB After Width: | Height: | Size: 65 KiB |
|
Before Width: | Height: | Size: 162 KiB After Width: | Height: | Size: 369 KiB |
|
Before Width: | Height: | Size: 106 KiB After Width: | Height: | Size: 257 KiB |
|
Before Width: | Height: | Size: 222 KiB After Width: | Height: | Size: 175 KiB |
|
Before Width: | Height: | Size: 167 KiB After Width: | Height: | Size: 85 KiB |
|
Before Width: | Height: | Size: 118 KiB After Width: | Height: | Size: 154 KiB |
|
Before Width: | Height: | Size: 169 KiB After Width: | Height: | Size: 88 KiB |
|
Before Width: | Height: | Size: 1.0 MiB After Width: | Height: | Size: 63 KiB |
|
Before Width: | Height: | Size: 544 KiB After Width: | Height: | Size: 789 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 8.0 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 8.0 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 223 KiB After Width: | Height: | Size: 495 KiB |
|
Before Width: | Height: | Size: 123 KiB After Width: | Height: | Size: 80 KiB |
|
Before Width: | Height: | Size: 139 KiB After Width: | Height: | Size: 95 KiB |
|
Before Width: | Height: | Size: 45 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 232 KiB After Width: | Height: | Size: 115 KiB |
|
Before Width: | Height: | Size: 637 KiB After Width: | Height: | Size: 369 KiB |
|
Before Width: | Height: | Size: 89 KiB After Width: | Height: | Size: 212 KiB |
|
Before Width: | Height: | Size: 506 KiB After Width: | Height: | Size: 362 KiB |
|
Before Width: | Height: | Size: 163 KiB After Width: | Height: | Size: 74 KiB |
|
Before Width: | Height: | Size: 287 KiB After Width: | Height: | Size: 273 KiB |
|
Before Width: | Height: | Size: 85 KiB After Width: | Height: | Size: 79 KiB |
|
Before Width: | Height: | Size: 82 KiB After Width: | Height: | Size: 39 KiB |
|
Before Width: | Height: | Size: 177 KiB After Width: | Height: | Size: 125 KiB |
|
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 42 KiB |
|
Before Width: | Height: | Size: 74 KiB After Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 149 KiB After Width: | Height: | Size: 66 KiB |