Import recipes from original repo.
58
.claude/CLAUDE.md
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
# Cooking Site — Project Context
|
||||||
|
|
||||||
|
## What This Is
|
||||||
|
|
||||||
|
A personal recipe website. Content-first, no-nonsense. The name of the third homepage illustration (`recipe_sites_suck.svg`) sums up the philosophy: no popups, no life stories, just recipes.
|
||||||
|
|
||||||
|
## Tech Stack
|
||||||
|
|
||||||
|
- **Next.js 15** with App Router, TypeScript, Tailwind CSS
|
||||||
|
- **MDX** for recipe content with YAML frontmatter
|
||||||
|
- **ReactMarkdown + remark-gfm** for rendering recipe sections client-side
|
||||||
|
- **Static site generation (SSG)** — all pages are prerendered at build time
|
||||||
|
- **No database** — recipes are MDX files on disk
|
||||||
|
|
||||||
|
## Project Structure
|
||||||
|
|
||||||
|
```
|
||||||
|
app/ # Next.js App Router pages
|
||||||
|
page.tsx # Homepage (server component)
|
||||||
|
layout.tsx # Root layout with Header/Footer
|
||||||
|
recipes/
|
||||||
|
page.tsx # Recipe listing (server, passes data to RecipesClient)
|
||||||
|
[category]/[slug]/
|
||||||
|
page.tsx # Recipe detail (server, passes data to RecipePageClient)
|
||||||
|
|
||||||
|
components/
|
||||||
|
Header.tsx / Footer.tsx # Site chrome
|
||||||
|
RecipesClient.tsx # Recipe listing with filter state
|
||||||
|
RecipeLayout.tsx # Sidebar layout (mobile drawer, desktop persistent)
|
||||||
|
RecipesSidebar.tsx # Search + category + tag filters
|
||||||
|
SelectedTags.tsx # Active tag chips
|
||||||
|
TagSelector.tsx # Tag dropdown picker
|
||||||
|
RecipeCard.tsx # Recipe grid card
|
||||||
|
RecipePageClient.tsx # Recipe detail page wrapper
|
||||||
|
RecipeTabs.tsx # Section tabs (Photos/Ingredients/Instructions/Notes/References)
|
||||||
|
|
||||||
|
lib/
|
||||||
|
recipes.ts # Recipe file loader with in-memory cache; reads from public/recipes/
|
||||||
|
parseRecipe.ts # Splits MDX content into ## sections for tabs
|
||||||
|
|
||||||
|
public/
|
||||||
|
assets/ # Site-level images (homepage SVGs)
|
||||||
|
authors.json # Author metadata
|
||||||
|
recipes/ # ALL recipe content lives here (MDX + images together)
|
||||||
|
[category]/
|
||||||
|
recipe-slug/
|
||||||
|
recipe-slug.mdx
|
||||||
|
assets/
|
||||||
|
hero.jpg
|
||||||
|
...
|
||||||
|
```
|
||||||
|
|
||||||
|
## Design Principles
|
||||||
|
|
||||||
|
- **Content first**: recipe pages are minimal — no sidebar, just the recipe
|
||||||
|
- **Server components by default**: only add `'use client'` when interactivity is needed
|
||||||
|
- **No taxonomy file**: categories and tags are derived directly from frontmatter across all recipes — no external registry to keep in sync
|
||||||
|
- **Single content location**: MDX and images are colocated in `public/recipes/` so they can be served directly without a copy step
|
||||||
16
.claude/rules/architecture.md
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
# Component Architecture
|
||||||
|
|
||||||
|
## State and Data Flow
|
||||||
|
|
||||||
|
- **RecipeLayout** owns sidebar open/close state; passes `handleFilterChange` (memoised with `useCallback`) down to RecipesSidebar
|
||||||
|
- **RecipesSidebar** owns filter state (search, category, selectedTags) and reports changes via `useEffect` → `onFilterChange`
|
||||||
|
- **RecipesClient** owns filtered recipe list (memoised with `useMemo`) and passes `setFilters` as `onFilterChange`
|
||||||
|
- **RecipeTabs** renders content with ReactMarkdown; custom `img` component rewrites `./` paths to `/recipes/[folderPath]/`
|
||||||
|
|
||||||
|
## Known Constraints
|
||||||
|
|
||||||
|
- `folderPath` in recipe metadata uses backslashes on Windows (from `path.join`) — always `.replace(/\\/g, '/')` before using in URLs
|
||||||
|
- Images in recipe MDX are wrapped in `<p>` by ReactMarkdown — use `<img>` not `<figure>` to avoid invalid HTML nesting (`<p><figure>` is invalid)
|
||||||
|
- `lib/recipes.ts` uses Node.js `fs` — server-side only; never import in client components
|
||||||
|
- Build warning about `<img>` vs `<Image />` in RecipeTabs is intentional — markdown images can't use Next.js Image component
|
||||||
|
- Never add redundant ARIA roles on semantic elements (`<main>`, `<aside>`, `<footer>` already carry implicit roles)
|
||||||
45
.claude/rules/recipe-format.md
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
# Recipe MDX Format
|
||||||
|
|
||||||
|
## Frontmatter Fields
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
---
|
||||||
|
title: "Recipe Title"
|
||||||
|
slug: "recipe-slug"
|
||||||
|
date: "YYYY-MM-DD"
|
||||||
|
lastUpdated: "YYYY-MM-DD"
|
||||||
|
category: "mains" # free-form string (e.g. "mains", "soups", "desserts")
|
||||||
|
tags: ["tag1", "tag2"] # free-form strings (e.g. ["italian", "chicken"])
|
||||||
|
dietary: ["gluten-free"] # free-form strings
|
||||||
|
cookTime: 45 # minutes
|
||||||
|
prepTime: 20 # minutes
|
||||||
|
totalTime: 65 # minutes
|
||||||
|
difficulty: "easy" # easy | medium | hard
|
||||||
|
servings: 4
|
||||||
|
author: "PWS" # ID from public/authors.json
|
||||||
|
description: "Short description for SEO and previews"
|
||||||
|
featured: false
|
||||||
|
display: true # set to false to hide without deleting
|
||||||
|
displayPhoto: "./assets/hero.jpg"
|
||||||
|
---
|
||||||
|
```
|
||||||
|
|
||||||
|
## Content Sections
|
||||||
|
|
||||||
|
Content uses `## ` (h2) headings to define tabs rendered in the UI:
|
||||||
|
|
||||||
|
- `## Photos` — images with italic captions (`*caption text*`)
|
||||||
|
- `## Ingredients` — bullet lists, optionally grouped with h3 subheadings
|
||||||
|
- `## Instructions` — numbered steps, optionally grouped with h3 subheadings
|
||||||
|
- `## Notes` — tips, variations, storage (optional)
|
||||||
|
- `## References` — credits and sources (optional)
|
||||||
|
|
||||||
|
## Image Paths
|
||||||
|
|
||||||
|
Images use relative paths: `./assets/image.jpg`
|
||||||
|
|
||||||
|
These are rewritten at render time to `/recipes/[category]/[slug]/assets/image.jpg`.
|
||||||
|
|
||||||
|
## Italic Captions in Photos Section
|
||||||
|
|
||||||
|
Italic text (`*caption*`) in the `## Photos` section renders as a styled block caption beneath images. In all other sections, italic renders normally.
|
||||||
5
lib/types.ts
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
export interface FilterState {
|
||||||
|
search: string;
|
||||||
|
category: string;
|
||||||
|
selectedTags: string[];
|
||||||
|
}
|
||||||
59366
public/assets/online_cookbook.svg
Normal file
|
After Width: | Height: | Size: 3.0 MiB |
37162
public/assets/recipe_sites_suck.svg
Normal file
|
After Width: | Height: | Size: 1.9 MiB |
39417
public/assets/want_to_cook.svg
Normal file
|
After Width: | Height: | Size: 2.1 MiB |
71
public/recipes/baking/apple-pie/apple-pie.mdx
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
---
|
||||||
|
title: "Apple Pie"
|
||||||
|
slug: "apple-pie"
|
||||||
|
date: "2026-02-10"
|
||||||
|
lastUpdated: "2026-02-10"
|
||||||
|
category: "baking"
|
||||||
|
tags: ["baking"]
|
||||||
|
dietary: []
|
||||||
|
cookTime: 0
|
||||||
|
prepTime: 0
|
||||||
|
totalTime: 0
|
||||||
|
difficulty: "medium"
|
||||||
|
servings: 4
|
||||||
|
author: "pws"
|
||||||
|
description: "Just like grandma used to make?"
|
||||||
|
featured: false
|
||||||
|
display: true
|
||||||
|
displayPhoto: "./assets/apple-pie.png"
|
||||||
|
---
|
||||||
|
|
||||||
|
# Apple Pie
|
||||||
|
|
||||||
|
Just like grandma used to make?
|
||||||
|
|
||||||
|
## Photos
|
||||||
|
|
||||||
|

|
||||||
|
*Just like grandma used to make?*
|
||||||
|
|
||||||
|
## Ingredients
|
||||||
|
|
||||||
|
### Egg Wash
|
||||||
|
- 1 large egg, beaten with 1 tablespoon milk
|
||||||
|
### Apple Pie
|
||||||
|
- 2 pie crusts, homemade or store bought (1 for bottom and 1 for top)
|
||||||
|
- 10 cups 1/4-inch-thick apple slices (about 8 large peeled and cored apples)
|
||||||
|
- 1/2 cup granulated sugar or packed brown sugar
|
||||||
|
- 1/4 cup all-purpose flour
|
||||||
|
- 1 tablespoon lemon juice
|
||||||
|
- 1 1/2 teaspoons ground cinnamon
|
||||||
|
- 1/4 teaspoon ground allspice
|
||||||
|
- 1/4 teaspoon ground nutmeg
|
||||||
|
- Coarse sugar for sprinkling on crust (optional)
|
||||||
|
|
||||||
|
## Instructions
|
||||||
|
|
||||||
|
1. Prep **pie crust** if making from scrath. Keep prepared or store-bought pie crust chilled untill using.
|
||||||
|
2. Stir the **apple slices**, **sugar**, **flour**, **lemon juice**, **cinnamon**, **allspice**, and **nutmeg** together until thoroughly combined.
|
||||||
|
3. (Optional) Pre-cook the apples by pouring into a very large skillet/dutch oven, and place over medium-low heat. Stir and cook for 5 minutes until the apples begin to soften. Remove from heat and set aside.
|
||||||
|
4. Preheat oven to 400°F.
|
||||||
|
5. On a floured work surface, roll out one of the discs of **chilled dough** (keep the other one in the refrigerator). Turn the dough about a quarter turn after every few rolls until you have a circle 12 inches in diameter. Carefully place the dough into a 9-inch pie dish that’s 1.5 to 2 inches deep. Tuck the dough in with your fingers, making sure it is smooth.
|
||||||
|
6. Spoon the **filling** into the crust. It’s ok if it is still warm from the precooking step. It will seem like a lot of apples; that’s ok. Pile them high, and tightly together.
|
||||||
|
7. Remove the **other disc of chilled pie dough** from the refrigerator. Roll the dough into a circle that is 12 inches diameter. Cover the pie in a lattice design or whatever the intended pattern is. Use a small paring knife or kitchen shears to trim off excess dough. Fold the overhang back towards the center of the pie, and pinch the edges to adhere the top and bottom crusts together. Crimp or flute the pie crust edges to seal.
|
||||||
|
8. Lightly brush the top of the pie crust with the **egg wash**. Sprinkle the top with **coarse sugar**, if using.
|
||||||
|
9. Place the pie onto a large baking sheet and bake for 25 minutes.
|
||||||
|
10. Keeping the pie in the oven, reduce the oven temperature down to 375°F. Place a **pie crust shield** (or cover edges with tinfoil) on the edges to prevent them from over-browning.
|
||||||
|
11. Continue baking the pie until the filling is bubbling around the edges, 35–40 more minutes. The internal temperature of the filling should be around 200°F (93°C) when done.
|
||||||
|
12. Remove pie from the oven, place on a cooling rack, and cool for at least 3 hours before slicing and serving. Filling will be too juicy if the pie is warm when you slice it.
|
||||||
|
13. Cover and store leftover pie at room temperature for up to 1 day or in the refrigerator for up to 5 days.
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
### Hat on a Hat
|
||||||
|
- A frozen pie shell stacked on top will melt into a good covering if you don't want to make a nice top for the pie.
|
||||||
|
|
||||||
|
### Golden Brown
|
||||||
|
- Don't forget the egg wash!
|
||||||
|
|
||||||
|
## References
|
||||||
|
|
||||||
|
- https://sallysbakingaddiction.com/apple-pie-recipe/
|
||||||
BIN
public/recipes/baking/apple-pie/assets/apple-pie.png
Normal file
|
After Width: | Height: | Size: 1.4 MiB |
80
public/recipes/cajun/gumbo/gumbo.mdx
Normal file
@ -0,0 +1,80 @@
|
|||||||
|
---
|
||||||
|
title: "Chicken, Sausage, and Shrimp Gumbo"
|
||||||
|
slug: "gumbo"
|
||||||
|
date: "2026-02-10"
|
||||||
|
lastUpdated: "2026-02-10"
|
||||||
|
category: "cajun"
|
||||||
|
tags: ["cajun"]
|
||||||
|
dietary: []
|
||||||
|
cookTime: 0
|
||||||
|
prepTime: 0
|
||||||
|
totalTime: 0
|
||||||
|
difficulty: "medium"
|
||||||
|
servings: 4
|
||||||
|
author: "pws"
|
||||||
|
description: "A dish with Cajun and Creole roots made with chicken, sausage, and shrimp."
|
||||||
|
featured: false
|
||||||
|
display: true
|
||||||
|
displayPhoto: ""
|
||||||
|
---
|
||||||
|
|
||||||
|
# Chicken, Sausage, and Shrimp Gumbo
|
||||||
|
|
||||||
|
A dish with Cajun and Creole roots made with chicken, sausage, and shrimp.
|
||||||
|
|
||||||
|
## Photos
|
||||||
|
|
||||||
|
A dish with Cajun and Creole roots made with chicken, sausage, and shrimp.
|
||||||
|
|
||||||
|
|
||||||
|
## Ingredients
|
||||||
|
|
||||||
|
- 1 cup all-purpose flour
|
||||||
|
- 1 cup vegetable oil (plus 1 tablespoon)
|
||||||
|
- 3 ribs celery, diced small
|
||||||
|
- 2 large yellow onions, diced small
|
||||||
|
- 2 large green bell peppers, seeded and diced small
|
||||||
|
- 5 cloves garlic, minced
|
||||||
|
- 2 teaspoons creole seasoning
|
||||||
|
- 6 to 8 cups chicken stock
|
||||||
|
- 2 bay leaves
|
||||||
|
- 1 teaspoon dried thyme
|
||||||
|
- 2 (14-ounce) cans diced tomatoes
|
||||||
|
- 1 pound andouille or cajun smoked sausage, sliced
|
||||||
|
- 6 cups shredded cooked chicken*
|
||||||
|
- 1 pound okra, trimmed and chopped** ((frozen works, too))
|
||||||
|
- salt
|
||||||
|
- pepper
|
||||||
|
- 1 pound large shrimp, peeled and deveined***
|
||||||
|
- cooked white rice, sliced green onion, and hot sauce for serving
|
||||||
|
|
||||||
|
## Instructions
|
||||||
|
|
||||||
|
1. In a large dutch oven, heat **vegetable oil** over low heat. Add **flour** and stir essentially constantly until the roux becomes dark brown. This can take between 30-60 mins depending on the stove.
|
||||||
|
2. Place the dutch oven with the finished roux over medium heat and add **celery**, **onion**, and **bell pepper**. Cook for 8 to 10 minutes, stirring frequently, until the vegetables have softened and the **onions** are translucent.
|
||||||
|
3. Add the **garlic** and **creole seasoning** and cook for about 1 minute or until the **garlic** is fragrant.
|
||||||
|
4. Gradually add **chicken stock**, **bay leaves**, and **thyme** and undrained **tomatoes**. Stir to combine. Add **salt**, **pepper**, and additional **creole seasoning** to taste. Bring to a boil, reduce to a simmer and cook uncovered for about 45 minutes, stirring occasionally.
|
||||||
|
5. At the same time, in a large skillet, heat 1 tablespoon of **oil**, add the sliced **sausage** and brown.
|
||||||
|
6. Once the gumbo has simmered, add the cooked **sausage** and shredded **chicken**. Stir to combine.
|
||||||
|
7. Add the **okra** and simmer uncovered for an additional 30 to 45 minutes or until thickened.
|
||||||
|
8. Add additional **broth**, if desired. Spoon away any excess grease that may accumulate on the top. Remove the **bay leaves**.
|
||||||
|
9. Once cooked, remove from the heat and stir in the **shrimp**. The hot stock will cook the **shrimp** through in about 5 minutes.
|
||||||
|
Every 15 seconds or so precipitate will form in the roux, which you need to scrape off the bottom. A whisk is a pretty good tool for this.
|
||||||
|
If bits get stuck to the bottom, they will burn and the roux will be ruined; you can confirm this by tasting it.
|
||||||
|
The roux should be a dark brown color and have a nutty aroma.
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
### About the Roux
|
||||||
|
- A dark roux adds deep flavor but can burn easily. Stir constantly over low heat.
|
||||||
|
|
||||||
|
### Keeping the Roux from Burning
|
||||||
|
- Every 15 seconds or so precipitate will form in the roux, which you need to scrape off the bottom. A whisk is a pretty good tool for this.
|
||||||
|
|
||||||
|
If bits get stuck to the bottom, they will burn and the roux will be ruined; you can confirm this by tasting it.
|
||||||
|
|
||||||
|
The roux should be a dark brown color and have a nutty aroma.
|
||||||
|
|
||||||
|
## References
|
||||||
|
|
||||||
|
- [Original Recipe](https://southernbite.com/chicken-sausage-and-shrimp-gumbo/)
|
||||||
|
After Width: | Height: | Size: 1.5 MiB |
@ -0,0 +1,69 @@
|
|||||||
|
---
|
||||||
|
title: "Broccoli Beef in Oyster Sauce"
|
||||||
|
slug: "broccoli-beef-in-oyster-sauce"
|
||||||
|
date: "2026-02-10"
|
||||||
|
lastUpdated: "2026-02-10"
|
||||||
|
category: "chinese"
|
||||||
|
tags: ["chinese"]
|
||||||
|
dietary: []
|
||||||
|
cookTime: 0
|
||||||
|
prepTime: 0
|
||||||
|
totalTime: 0
|
||||||
|
difficulty: "medium"
|
||||||
|
servings: 4
|
||||||
|
author: "pws"
|
||||||
|
description: "Broccoli Beef! Just like the restaurant!"
|
||||||
|
featured: false
|
||||||
|
display: true
|
||||||
|
displayPhoto: "./assets/broccoli-beef.png"
|
||||||
|
---
|
||||||
|
|
||||||
|
# Broccoli Beef in Oyster Sauce
|
||||||
|
|
||||||
|
Broccoli Beef! Just like the restaurant!
|
||||||
|
|
||||||
|
## Photos
|
||||||
|
|
||||||
|

|
||||||
|
*Broccoli Beef! Just like the restaurant!*
|
||||||
|
|
||||||
|
## Ingredients
|
||||||
|
|
||||||
|
### Marinade
|
||||||
|
- Kosher salt and freshly ground pepper
|
||||||
|
- 1/2 teaspoon granulated sugar
|
||||||
|
- 1/2 tablespoon vegetable oil
|
||||||
|
- 3 tablespoons water
|
||||||
|
- 1/2 teaspoon sodium bicarbonate
|
||||||
|
- 1 1/2 tablespoons corn starch
|
||||||
|
- 1 tablespoon rice wine
|
||||||
|
- 1 tablespoon finely diced ginger
|
||||||
|
### Cornflour Slurry
|
||||||
|
- 1 tablespoon cornflour
|
||||||
|
- 5 tablespoons water
|
||||||
|
|
||||||
|
## Instructions
|
||||||
|
|
||||||
|
1. Chop the **beef** into thin, long, bite-sized strips. Place in a bowl that can hold the beef and the rest of the marinade.
|
||||||
|
2. Add a pinch of **salt**, **sugar**, **vegetable oil**, **sodium bicarbonate**, **corn starch**, **rice wine**, and **ginger** to the bowl with the beef.
|
||||||
|
3. Give the marinade a good mix and leave in the fridge for at least 60 minutes.
|
||||||
|
4. Chop the **broccoli** into manageable pieces and bring a pot of **salted water** to a boil.
|
||||||
|
5. Blanch the broccoli quickly and drain it from the water. Don't leave it too long or you'll lose the crunch.
|
||||||
|
6. Put **vegetable oil** into a wok over high heat.
|
||||||
|
7. Add the **garlic** and **ginger** and immediately add in the **beef** before they burn.
|
||||||
|
8. Layer the beef in a single layer and sear to develop a crust. Then stir fry until golden brown.
|
||||||
|
9. Add **broccoli** along with the **oyster sauce**. Stir through to coat.
|
||||||
|
10. Turn the heat down to low.
|
||||||
|
11. Mix the **cornflour slurry ingredients** and add it to the wok. Gradually turn the heat back to medium as you stir fry. Continue until the sauce thickens and becomes translucent.
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
### Substitute
|
||||||
|
- Replace rice wine with dry sherry if not available.
|
||||||
|
|
||||||
|
### Healthy Era
|
||||||
|
- Use more broccoli than you think you need!
|
||||||
|
|
||||||
|
## References
|
||||||
|
|
||||||
|
- https://www.youtube.com/watch?v=fSO83XlKcPI
|
||||||
BIN
public/recipes/chinese/egg-flower-soup/assets/egg-flour-soup.png
Normal file
|
After Width: | Height: | Size: 1.1 MiB |
69
public/recipes/chinese/egg-flower-soup/egg-flower-soup.mdx
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
---
|
||||||
|
title: "Egg Flower Soup"
|
||||||
|
slug: "egg-flower-soup"
|
||||||
|
date: "2026-02-10"
|
||||||
|
lastUpdated: "2026-02-10"
|
||||||
|
category: "chinese"
|
||||||
|
tags: ["chinese"]
|
||||||
|
dietary: []
|
||||||
|
cookTime: 0
|
||||||
|
prepTime: 0
|
||||||
|
totalTime: 0
|
||||||
|
difficulty: "medium"
|
||||||
|
servings: 4
|
||||||
|
author: "pws"
|
||||||
|
description: "The classic egg drop soup. Tastes pretty similar to the store, and super easy to make!"
|
||||||
|
featured: false
|
||||||
|
display: true
|
||||||
|
displayPhoto: "./assets/egg-flour-soup.png"
|
||||||
|
---
|
||||||
|
|
||||||
|
# Egg Flower Soup
|
||||||
|
|
||||||
|
The classic egg drop soup. Tastes pretty similar to the store, and super easy to make!
|
||||||
|
|
||||||
|
## Photos
|
||||||
|
|
||||||
|

|
||||||
|
*The classic egg drop soup. Tastes pretty similar to the store, and super easy to make!*
|
||||||
|
|
||||||
|
## Ingredients
|
||||||
|
|
||||||
|
- 4 cups chicken stock
|
||||||
|
- 1/2 teaspoon sesame oil
|
||||||
|
- 3/4 teaspoon salt
|
||||||
|
- 1/8 teaspoon sugar
|
||||||
|
- 1/8 teaspoon while pepper
|
||||||
|
- 3 tablespoons cornstarch
|
||||||
|
- 1/3 cup water (to mix with cornstarch)
|
||||||
|
- 3 eggs lightly beaten
|
||||||
|
- 1 scallion
|
||||||
|
- 1/2 teaspoon shaoxing cooking wine (optional)
|
||||||
|
- 1/4 teaspoon msg (optional)
|
||||||
|
- 1/2 teaspoon turmeric (optional)
|
||||||
|
|
||||||
|
## Instructions
|
||||||
|
|
||||||
|
1. Bring the **chicken stock** to a simmer in a pot.
|
||||||
|
2. Stir in **sesame oil**, **salt**, **sugar**, **white pepper**. Adjust to taste at this point.
|
||||||
|
3. If using, also stir in the **msg**, **cooking wine**, and **turmeric**.
|
||||||
|
4. Mix the **cornstarch** and **water** together to make a slurry.
|
||||||
|
5. Before the solution settles, stir the soup continuously and drizzle in the **slurry** until the soup is the desired thickness.
|
||||||
|
6. Lightly beat the **egg** so that the egg and yolk don't completely mix together.
|
||||||
|
7. Stir with a ladle and slowly drizzle in the egg, making ribbons in the soup.
|
||||||
|
8. Top with **scallions** and extra **white pepper** if desired.
|
||||||
|
Stir SLOWLY when adding in the egg for the best results. Stirring quickly yields a pretty homogenous result.
|
||||||
|
Also give the cooking wine addition a try (thanks, mom)
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
### Eyeball It
|
||||||
|
- It's pretty good regardless of the exact ratios. Also I'm a fan of excess pepper when sick.
|
||||||
|
|
||||||
|
### Ribbons
|
||||||
|
- Stir SLOWLY when adding in the egg for the best results. Stirring quickly yields a pretty homogenous result.
|
||||||
|
Also give the cooking wine addition a try (thanks, mom)
|
||||||
|
|
||||||
|
## References
|
||||||
|
|
||||||
|
- https://thewoksoflife.com/egg-drop-soup/
|
||||||
@ -0,0 +1,79 @@
|
|||||||
|
---
|
||||||
|
title: "Tangy Runyan Eggroll"
|
||||||
|
slug: "tangy-runyan-eggroll"
|
||||||
|
date: "2026-02-10"
|
||||||
|
lastUpdated: "2026-02-10"
|
||||||
|
category: "chinese"
|
||||||
|
tags: ["chinese"]
|
||||||
|
dietary: []
|
||||||
|
cookTime: 0
|
||||||
|
prepTime: 0
|
||||||
|
totalTime: 0
|
||||||
|
difficulty: "medium"
|
||||||
|
servings: 4
|
||||||
|
author: "pws"
|
||||||
|
description: "A delicious fusion-style eggroll that can be fried as an eggroll or adapted into wontons."
|
||||||
|
featured: false
|
||||||
|
display: true
|
||||||
|
displayPhoto: ""
|
||||||
|
---
|
||||||
|
|
||||||
|
# Tangy Runyan Eggroll
|
||||||
|
|
||||||
|
A delicious fusion-style eggroll that can be fried as an eggroll or adapted into wontons.
|
||||||
|
|
||||||
|
## Photos
|
||||||
|
|
||||||
|
A delicious fusion-style eggroll that can be fried as an eggroll or adapted into wontons.
|
||||||
|
|
||||||
|
|
||||||
|
## Ingredients
|
||||||
|
|
||||||
|
- 1 package bean thread noodles
|
||||||
|
- 1 lb ground pork
|
||||||
|
- 2 tbsp dark soy sauce
|
||||||
|
- 2-3 stalks green onion/leek, finely chopped
|
||||||
|
- 1 cup wood ear mushroom, rehydrated and chopped
|
||||||
|
- 1 tbsp fish sauce
|
||||||
|
- 1 medium carrot, finely diced
|
||||||
|
- 1 tbsp ginger, minced
|
||||||
|
- 3 cloves garlic, minced
|
||||||
|
- 1 egg (plus one extra for sealing wrappers)
|
||||||
|
- 1 package lumpia wrappers
|
||||||
|
- Oil for frying
|
||||||
|
|
||||||
|
## Instructions
|
||||||
|
|
||||||
|
1. Soak the **bean thread noodles** in hot water until soft, then chop into small pieces.
|
||||||
|
2. In a large mixing bowl, combine the **ground pork**, **noodles**, **soy sauce**, **green onion**, **wood ear mushroom**, **fish sauce**, **carrot**, **ginger**, **garlic**, and **egg**.
|
||||||
|
3. Mix thoroughly until well combined.
|
||||||
|
4. Test the seasoning by microwaving a small amount on a paper towel and tasting.
|
||||||
|
5. Place about 1/2 to 1 tablespoon of filling on each **wrapper**.
|
||||||
|
6. Fold and roll tightly, sealing the edges with water or beaten egg.
|
||||||
|
7. Deep fry at 350°F (175°C) until golden brown.
|
||||||
|
8. Drain on paper towels and serve hot.
|
||||||
|
It's most efficient to prepare all eggrolls at once in an assembly line fashion.
|
||||||
|
Lay out multiple wrappers, add filling to each, then roll and seal them all together.
|
||||||
|
They can be frozen on a tray (not touching) then transferred to a freezer bag for later use.
|
||||||
|
To make wontons instead, use wonton wrappers and fold into triangles or nurse's caps.
|
||||||
|
Instead of frying, boil in water or broth for 3-4 minutes until the wrapper becomes translucent.
|
||||||
|
These make excellent additions to soup!
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
### Wrapper Options
|
||||||
|
- Lumpia wrappers are thinner than traditional eggroll wrappers, but either will work. For wontons, use wonton wrappers instead.
|
||||||
|
|
||||||
|
### Bulk Preparation
|
||||||
|
- It's most efficient to prepare all eggrolls at once in an assembly line fashion.
|
||||||
|
Lay out multiple wrappers, add filling to each, then roll and seal them all together.
|
||||||
|
They can be frozen on a tray (not touching) then transferred to a freezer bag for later use.
|
||||||
|
|
||||||
|
### Wonton Variation
|
||||||
|
- To make wontons instead, use wonton wrappers and fold into triangles or nurse's caps.
|
||||||
|
Instead of frying, boil in water or broth for 3-4 minutes until the wrapper becomes translucent.
|
||||||
|
These make excellent additions to soup!
|
||||||
|
|
||||||
|
## References
|
||||||
|
|
||||||
|
- Thanks to my sister for providing the recipe!
|
||||||
@ -0,0 +1,59 @@
|
|||||||
|
---
|
||||||
|
title: "Peach Simple Syrup"
|
||||||
|
slug: "peach-simple-syrup"
|
||||||
|
date: "2026-02-10"
|
||||||
|
lastUpdated: "2026-02-10"
|
||||||
|
category: "drinks"
|
||||||
|
tags: ["drinks"]
|
||||||
|
dietary: []
|
||||||
|
cookTime: 0
|
||||||
|
prepTime: 0
|
||||||
|
totalTime: 0
|
||||||
|
difficulty: "medium"
|
||||||
|
servings: 4
|
||||||
|
author: "pws"
|
||||||
|
description: "A wonderfully fruity, sweet, and versatile syrup perfect for adding a peachy twist to cocktails, mocktails, iced tea, and lemonade."
|
||||||
|
featured: false
|
||||||
|
display: true
|
||||||
|
displayPhoto: ""
|
||||||
|
---
|
||||||
|
|
||||||
|
# Peach Simple Syrup
|
||||||
|
|
||||||
|
A wonderfully fruity, sweet, and versatile syrup perfect for adding a peachy twist to cocktails, mocktails, iced tea, and lemonade.
|
||||||
|
|
||||||
|
## Photos
|
||||||
|
|
||||||
|
A wonderfully fruity, sweet, and versatile syrup perfect for adding a peachy twist to cocktails, mocktails, iced tea, and lemonade.
|
||||||
|
|
||||||
|
|
||||||
|
## Ingredients
|
||||||
|
|
||||||
|
- 1 cup peaches (about 2 medium), fresh or frozen, chopped
|
||||||
|
- 1 cup sugar (unrefined cane, granulated, or brown)
|
||||||
|
- 1 cup water
|
||||||
|
- 1/2 tsp vanilla extract (optional)
|
||||||
|
|
||||||
|
## Instructions
|
||||||
|
|
||||||
|
1. Wash and chop the **peaches** into small pieces. There's no need to peel them.
|
||||||
|
2. In a medium saucepan, combine the chopped **peaches**, **sugar**, and **water**.
|
||||||
|
3. Bring the mixture to a simmer over medium heat, stirring until the **sugar** is fully dissolved.
|
||||||
|
4. Reduce the heat to low and let it simmer gently for 15-20 minutes. Use a spoon or potato masher to gently mash the **peaches** to release more flavor.
|
||||||
|
5. Turn off the heat and allow the syrup to steep and cool in the pan for at least 30 minutes. The longer it steeps, the more flavorful it will be.
|
||||||
|
6. Pour the syrup through a fine-mesh sieve into a clean jar or bottle. Press the peach pulp with a spoon to extract all the liquid.
|
||||||
|
7. If using, stir in the **vanilla extract** once the syrup has been strained.
|
||||||
|
8. Store in an airtight container in the refrigerator for up to 2 weeks.
|
||||||
|
This peach syrup is perfect for cocktails (like a Peach Mojito or Bellini), mocktails, sweetening iced tea or lemonade, drizzling over pancakes, or adding to sparkling water for a refreshing peach soda.
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
### Sugar Choice
|
||||||
|
- Unrefined cane sugar is a great choice, but regular granulated white sugar or even brown sugar will also work well. Brown sugar will result in a slightly darker syrup with a hint of caramel flavor.
|
||||||
|
|
||||||
|
### How to Use
|
||||||
|
- This peach syrup is perfect for cocktails (like a Peach Mojito or Bellini), mocktails, sweetening iced tea or lemonade, drizzling over pancakes, or adding to sparkling water for a refreshing peach soda.
|
||||||
|
|
||||||
|
## References
|
||||||
|
|
||||||
|
- [How to Make Peach Simple Syrup](https://www.alphafoodie.com/how-to-make-peach-simple-syrup/)
|
||||||
148
public/recipes/example/example-recipe-1/assets/not-found.svg
Normal file
@ -0,0 +1,148 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
<svg
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
id="svg2"
|
||||||
|
sodipodi:docname="_svgclean2.svg"
|
||||||
|
viewBox="0 0 260 310"
|
||||||
|
version="1.1"
|
||||||
|
inkscape:version="0.48.3.1 r9886"
|
||||||
|
>
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="base"
|
||||||
|
bordercolor="#666666"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:window-y="19"
|
||||||
|
fit-margin-left="0"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
fit-margin-top="0"
|
||||||
|
inkscape:window-maximized="0"
|
||||||
|
inkscape:zoom="1.4142136"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-height="768"
|
||||||
|
showgrid="false"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:current-layer="layer1"
|
||||||
|
inkscape:cx="-57.248774"
|
||||||
|
inkscape:cy="-575.52494"
|
||||||
|
fit-margin-right="0"
|
||||||
|
fit-margin-bottom="0"
|
||||||
|
inkscape:window-width="1024"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
>
|
||||||
|
<inkscape:grid
|
||||||
|
id="grid3769"
|
||||||
|
originy="-752.36218px"
|
||||||
|
enabled="true"
|
||||||
|
originx="-35.03125px"
|
||||||
|
visible="true"
|
||||||
|
snapvisiblegridlinesonly="true"
|
||||||
|
type="xygrid"
|
||||||
|
empspacing="4"
|
||||||
|
/>
|
||||||
|
</sodipodi:namedview
|
||||||
|
>
|
||||||
|
<g
|
||||||
|
id="layer1"
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
transform="translate(-242.06 -371.19)"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
id="rect3757"
|
||||||
|
style="stroke:#636363;stroke-width:6;fill:#ffffff"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
d="m38 53v304h254v-226.22l-77.78-77.78h-176.22z"
|
||||||
|
transform="translate(207.06 321.19)"
|
||||||
|
/>
|
||||||
|
<g
|
||||||
|
id="g3915"
|
||||||
|
transform="translate(0 17.678)"
|
||||||
|
>
|
||||||
|
<rect
|
||||||
|
id="rect3759"
|
||||||
|
style="stroke-linejoin:round;stroke:#a6a6a6;stroke-linecap:round;stroke-width:6;fill:#ffffff"
|
||||||
|
height="150"
|
||||||
|
width="130"
|
||||||
|
y="451.19"
|
||||||
|
x="307.06"
|
||||||
|
/>
|
||||||
|
<path
|
||||||
|
id="path3761"
|
||||||
|
d="m343.53 497.65 57.065 57.065"
|
||||||
|
style="stroke-linejoin:round;stroke:#e00000;stroke-linecap:round;stroke-width:12;fill:none"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
/>
|
||||||
|
<path
|
||||||
|
id="path3763"
|
||||||
|
style="stroke-linejoin:round;stroke:#e00000;stroke-linecap:round;stroke-width:12;fill:none"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
d="m400.6 497.65-57.065 57.065"
|
||||||
|
/>
|
||||||
|
</g
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
id="rect3911"
|
||||||
|
sodipodi:nodetypes="ccc"
|
||||||
|
style="stroke-linejoin:round;stroke:#636363;stroke-width:6;fill:none"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
d="m499.06 451.97h-77.782v-77.782"
|
||||||
|
/>
|
||||||
|
</g
|
||||||
|
>
|
||||||
|
<metadata
|
||||||
|
id="metadata13"
|
||||||
|
>
|
||||||
|
<rdf:RDF
|
||||||
|
>
|
||||||
|
<cc:Work
|
||||||
|
>
|
||||||
|
<dc:format
|
||||||
|
>image/svg+xml</dc:format
|
||||||
|
>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage"
|
||||||
|
/>
|
||||||
|
<cc:license
|
||||||
|
rdf:resource="http://creativecommons.org/licenses/publicdomain/"
|
||||||
|
/>
|
||||||
|
<dc:publisher
|
||||||
|
>
|
||||||
|
<cc:Agent
|
||||||
|
rdf:about="http://openclipart.org/"
|
||||||
|
>
|
||||||
|
<dc:title
|
||||||
|
>Openclipart</dc:title
|
||||||
|
>
|
||||||
|
</cc:Agent
|
||||||
|
>
|
||||||
|
</dc:publisher
|
||||||
|
>
|
||||||
|
</cc:Work
|
||||||
|
>
|
||||||
|
<cc:License
|
||||||
|
rdf:about="http://creativecommons.org/licenses/publicdomain/"
|
||||||
|
>
|
||||||
|
<cc:permits
|
||||||
|
rdf:resource="http://creativecommons.org/ns#Reproduction"
|
||||||
|
/>
|
||||||
|
<cc:permits
|
||||||
|
rdf:resource="http://creativecommons.org/ns#Distribution"
|
||||||
|
/>
|
||||||
|
<cc:permits
|
||||||
|
rdf:resource="http://creativecommons.org/ns#DerivativeWorks"
|
||||||
|
/>
|
||||||
|
</cc:License
|
||||||
|
>
|
||||||
|
</rdf:RDF
|
||||||
|
>
|
||||||
|
</metadata
|
||||||
|
>
|
||||||
|
</svg
|
||||||
|
>
|
||||||
|
After Width: | Height: | Size: 3.9 KiB |
101
public/recipes/example/example-recipe-1/example-recipe-1.mdx
Normal file
@ -0,0 +1,101 @@
|
|||||||
|
---
|
||||||
|
title: "Classic Chicken Parmesan"
|
||||||
|
slug: "chicken-parmesan"
|
||||||
|
date: "2026-02-05"
|
||||||
|
lastUpdated: "2026-02-05"
|
||||||
|
category: "mains"
|
||||||
|
tags: ["italian", "chicken", "comfort-food", "family-friendly"]
|
||||||
|
dietary: ["gluten-free-option"]
|
||||||
|
cookTime: 45
|
||||||
|
prepTime: 20
|
||||||
|
totalTime: 65
|
||||||
|
difficulty: "medium"
|
||||||
|
servings: 4
|
||||||
|
author: "pws"
|
||||||
|
description: "A classic Italian-American dish featuring crispy breaded chicken topped with marinara sauce and melted cheese."
|
||||||
|
featured: true
|
||||||
|
display: false
|
||||||
|
displayPhoto: "./assets/not-found.svg"
|
||||||
|
---
|
||||||
|
|
||||||
|
# Classic Chicken Parmesan
|
||||||
|
|
||||||
|
A beloved Italian-American comfort food that combines crispy breaded chicken cutlets with rich marinara sauce and gooey melted cheese. Perfect for a family dinner or special occasion.
|
||||||
|
|
||||||
|
## Photos
|
||||||
|
|
||||||
|

|
||||||
|
*Golden-brown chicken topped with bubbling cheese*
|
||||||
|
|
||||||
|

|
||||||
|
*Perfectly crispy coating with melted mozzarella*
|
||||||
|
|
||||||
|

|
||||||
|
*Served alongside spaghetti with fresh basil*
|
||||||
|
|
||||||
|
## Ingredients
|
||||||
|
|
||||||
|
### For the Chicken
|
||||||
|
- 4 boneless, skinless chicken breasts (about 6-8 oz each)
|
||||||
|
- 1 cup all-purpose flour
|
||||||
|
- 2 large eggs, beaten
|
||||||
|
- 2 cups Italian-style breadcrumbs
|
||||||
|
- 1 cup grated Parmesan cheese (divided)
|
||||||
|
- 1 teaspoon garlic powder
|
||||||
|
- 1 teaspoon dried oregano
|
||||||
|
- Salt and freshly ground black pepper to taste
|
||||||
|
- 1/2 cup olive oil (for frying)
|
||||||
|
|
||||||
|
### For the Sauce & Topping
|
||||||
|
- 2 cups marinara sauce (homemade or quality store-bought)
|
||||||
|
- 1 1/2 cups shredded mozzarella cheese
|
||||||
|
- 1/4 cup fresh basil leaves, torn
|
||||||
|
- Extra Parmesan for serving
|
||||||
|
|
||||||
|
## Instructions
|
||||||
|
|
||||||
|
### Prep the Chicken
|
||||||
|
1. Place **chicken breasts** between two sheets of **plastic wrap** and pound to an even 1/2-inch thickness using a meat mallet.
|
||||||
|
2. Season both sides generously with **salt** and **pepper**.
|
||||||
|
|
||||||
|
### Set Up Breading Station
|
||||||
|
3. Prepare three shallow dishes:
|
||||||
|
- Dish 1: **All-purpose flour**
|
||||||
|
- Dish 2: Beaten **eggs** with 1 tablespoon **water**
|
||||||
|
- Dish 3: **Breadcrumbs** mixed with 1/2 cup **Parmesan**, **garlic powder**, and **oregano**
|
||||||
|
|
||||||
|
### Bread and Fry
|
||||||
|
4. Dredge each breast in **flour** (shake off excess), dip in **egg** mixture, then press firmly into **breadcrumb** mixture, coating both sides thoroughly.
|
||||||
|
5. In a large skillet, heat **olive oil** over medium-high heat until shimmering.
|
||||||
|
6. Cook **chicken** for 4-5 minutes per side until golden brown and cooked through (internal temp 165°F). Work in batches if needed. Transfer to a paper towel-lined plate.
|
||||||
|
|
||||||
|
### Assemble and Bake
|
||||||
|
7. Preheat oven to 400°F (200°C) or turn on broiler.
|
||||||
|
8. Place fried **chicken** in a baking dish. Spoon **marinara sauce** over each piece, then top with **mozzarella** and remaining **Parmesan**.
|
||||||
|
9. Bake for 10-12 minutes (or broil for 3-4 minutes) until cheese is melted and bubbly.
|
||||||
|
10. Top with fresh torn **basil** and serve immediately with **pasta** or a side salad.
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
### Tips for Success
|
||||||
|
- **Even thickness**: Pounding the chicken ensures even cooking
|
||||||
|
- **Don't overcrowd**: Fry in batches to maintain oil temperature
|
||||||
|
- **Quality ingredients**: Use good marinara sauce for best flavor
|
||||||
|
- **Make ahead**: Bread chicken up to 4 hours ahead and refrigerate
|
||||||
|
- **Gluten-free option**: Substitute with gluten-free flour and breadcrumbs
|
||||||
|
|
||||||
|
### Storage
|
||||||
|
- **Refrigerate**: Store leftovers in an airtight container for up to 3 days
|
||||||
|
- **Reheat**: Warm in a 350°F oven for 15-20 minutes to maintain crispiness
|
||||||
|
- **Freeze**: Freeze breaded (uncooked) chicken for up to 2 months
|
||||||
|
|
||||||
|
### Variations
|
||||||
|
- **Baked version**: Skip frying and bake breaded chicken at 425°F for 20-25 minutes
|
||||||
|
- **Spicy**: Add red pepper flakes to the breadcrumb mixture
|
||||||
|
- **Extra crispy**: Use panko breadcrumbs instead of Italian breadcrumbs
|
||||||
|
|
||||||
|
## References
|
||||||
|
|
||||||
|
- Adapted from traditional Italian-American recipes
|
||||||
|
- Inspired by *The Silver Spoon* Italian cookbook
|
||||||
|
- Breading technique from classic French *cotoletta* method
|
||||||
148
public/recipes/example/example-recipe-2/assets/not-found.svg
Normal file
@ -0,0 +1,148 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
<svg
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
id="svg2"
|
||||||
|
sodipodi:docname="_svgclean2.svg"
|
||||||
|
viewBox="0 0 260 310"
|
||||||
|
version="1.1"
|
||||||
|
inkscape:version="0.48.3.1 r9886"
|
||||||
|
>
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="base"
|
||||||
|
bordercolor="#666666"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:window-y="19"
|
||||||
|
fit-margin-left="0"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
fit-margin-top="0"
|
||||||
|
inkscape:window-maximized="0"
|
||||||
|
inkscape:zoom="1.4142136"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-height="768"
|
||||||
|
showgrid="false"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:current-layer="layer1"
|
||||||
|
inkscape:cx="-57.248774"
|
||||||
|
inkscape:cy="-575.52494"
|
||||||
|
fit-margin-right="0"
|
||||||
|
fit-margin-bottom="0"
|
||||||
|
inkscape:window-width="1024"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
>
|
||||||
|
<inkscape:grid
|
||||||
|
id="grid3769"
|
||||||
|
originy="-752.36218px"
|
||||||
|
enabled="true"
|
||||||
|
originx="-35.03125px"
|
||||||
|
visible="true"
|
||||||
|
snapvisiblegridlinesonly="true"
|
||||||
|
type="xygrid"
|
||||||
|
empspacing="4"
|
||||||
|
/>
|
||||||
|
</sodipodi:namedview
|
||||||
|
>
|
||||||
|
<g
|
||||||
|
id="layer1"
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
transform="translate(-242.06 -371.19)"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
id="rect3757"
|
||||||
|
style="stroke:#636363;stroke-width:6;fill:#ffffff"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
d="m38 53v304h254v-226.22l-77.78-77.78h-176.22z"
|
||||||
|
transform="translate(207.06 321.19)"
|
||||||
|
/>
|
||||||
|
<g
|
||||||
|
id="g3915"
|
||||||
|
transform="translate(0 17.678)"
|
||||||
|
>
|
||||||
|
<rect
|
||||||
|
id="rect3759"
|
||||||
|
style="stroke-linejoin:round;stroke:#a6a6a6;stroke-linecap:round;stroke-width:6;fill:#ffffff"
|
||||||
|
height="150"
|
||||||
|
width="130"
|
||||||
|
y="451.19"
|
||||||
|
x="307.06"
|
||||||
|
/>
|
||||||
|
<path
|
||||||
|
id="path3761"
|
||||||
|
d="m343.53 497.65 57.065 57.065"
|
||||||
|
style="stroke-linejoin:round;stroke:#e00000;stroke-linecap:round;stroke-width:12;fill:none"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
/>
|
||||||
|
<path
|
||||||
|
id="path3763"
|
||||||
|
style="stroke-linejoin:round;stroke:#e00000;stroke-linecap:round;stroke-width:12;fill:none"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
d="m400.6 497.65-57.065 57.065"
|
||||||
|
/>
|
||||||
|
</g
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
id="rect3911"
|
||||||
|
sodipodi:nodetypes="ccc"
|
||||||
|
style="stroke-linejoin:round;stroke:#636363;stroke-width:6;fill:none"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
d="m499.06 451.97h-77.782v-77.782"
|
||||||
|
/>
|
||||||
|
</g
|
||||||
|
>
|
||||||
|
<metadata
|
||||||
|
id="metadata13"
|
||||||
|
>
|
||||||
|
<rdf:RDF
|
||||||
|
>
|
||||||
|
<cc:Work
|
||||||
|
>
|
||||||
|
<dc:format
|
||||||
|
>image/svg+xml</dc:format
|
||||||
|
>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage"
|
||||||
|
/>
|
||||||
|
<cc:license
|
||||||
|
rdf:resource="http://creativecommons.org/licenses/publicdomain/"
|
||||||
|
/>
|
||||||
|
<dc:publisher
|
||||||
|
>
|
||||||
|
<cc:Agent
|
||||||
|
rdf:about="http://openclipart.org/"
|
||||||
|
>
|
||||||
|
<dc:title
|
||||||
|
>Openclipart</dc:title
|
||||||
|
>
|
||||||
|
</cc:Agent
|
||||||
|
>
|
||||||
|
</dc:publisher
|
||||||
|
>
|
||||||
|
</cc:Work
|
||||||
|
>
|
||||||
|
<cc:License
|
||||||
|
rdf:about="http://creativecommons.org/licenses/publicdomain/"
|
||||||
|
>
|
||||||
|
<cc:permits
|
||||||
|
rdf:resource="http://creativecommons.org/ns#Reproduction"
|
||||||
|
/>
|
||||||
|
<cc:permits
|
||||||
|
rdf:resource="http://creativecommons.org/ns#Distribution"
|
||||||
|
/>
|
||||||
|
<cc:permits
|
||||||
|
rdf:resource="http://creativecommons.org/ns#DerivativeWorks"
|
||||||
|
/>
|
||||||
|
</cc:License
|
||||||
|
>
|
||||||
|
</rdf:RDF
|
||||||
|
>
|
||||||
|
</metadata
|
||||||
|
>
|
||||||
|
</svg
|
||||||
|
>
|
||||||
|
After Width: | Height: | Size: 3.9 KiB |
116
public/recipes/example/example-recipe-2/example-recipe-2.mdx
Normal file
@ -0,0 +1,116 @@
|
|||||||
|
---
|
||||||
|
title: "Perfect Chocolate Chip Cookies"
|
||||||
|
slug: "chocolate-chip-cookies"
|
||||||
|
date: "2026-02-08"
|
||||||
|
lastUpdated: "2026-02-08"
|
||||||
|
category: "desserts"
|
||||||
|
tags: ["cookies", "chocolate", "baking", "dessert", "american"]
|
||||||
|
dietary: ["vegetarian"]
|
||||||
|
cookTime: 12
|
||||||
|
prepTime: 15
|
||||||
|
totalTime: 27
|
||||||
|
difficulty: "easy"
|
||||||
|
servings: 24
|
||||||
|
author: "pws"
|
||||||
|
description: "Classic chewy chocolate chip cookies with crispy edges and gooey centers, loaded with chocolate chips."
|
||||||
|
featured: true
|
||||||
|
display: false
|
||||||
|
displayPhoto: "./assets/not-found.svg"
|
||||||
|
---
|
||||||
|
|
||||||
|
# Perfect Chocolate Chip Cookies
|
||||||
|
|
||||||
|
The ultimate chocolate chip cookie recipe that delivers crispy edges, chewy centers, and loads of melty chocolate chips in every bite. This recipe has been tested and perfected to create bakery-style cookies at home.
|
||||||
|
|
||||||
|
## Photos
|
||||||
|
|
||||||
|

|
||||||
|
*A stack of golden-brown cookies showing the perfect texture*
|
||||||
|
|
||||||
|

|
||||||
|
*Gooey chocolate chips and perfect chewy texture*
|
||||||
|
|
||||||
|

|
||||||
|
*Fresh from the oven with melted chocolate*
|
||||||
|
|
||||||
|

|
||||||
|
*The perfect cookie and milk pairing*
|
||||||
|
|
||||||
|
## Ingredients
|
||||||
|
|
||||||
|
### Dry Ingredients
|
||||||
|
- 2 1/4 cups (280g) all-purpose flour
|
||||||
|
- 1 teaspoon baking soda
|
||||||
|
- 1 teaspoon fine sea salt
|
||||||
|
|
||||||
|
### Wet Ingredients
|
||||||
|
- 1 cup (2 sticks / 226g) unsalted butter, softened to room temperature
|
||||||
|
- 3/4 cup (150g) granulated sugar
|
||||||
|
- 3/4 cup (165g) packed light brown sugar
|
||||||
|
- 2 large eggs, room temperature
|
||||||
|
- 2 teaspoons pure vanilla extract
|
||||||
|
|
||||||
|
### Mix-ins
|
||||||
|
- 2 cups (340g) semi-sweet chocolate chips
|
||||||
|
- 1 cup (170g) milk chocolate chips (optional, for extra chocolate)
|
||||||
|
- Flaky sea salt for topping (optional)
|
||||||
|
|
||||||
|
## Instructions
|
||||||
|
|
||||||
|
### Prepare
|
||||||
|
1. Preheat oven to 375°F (190°C). Line two baking sheets with **parchment paper**.
|
||||||
|
2. In a medium bowl, whisk together **flour**, **baking soda**, and **salt**. Set aside.
|
||||||
|
|
||||||
|
### Make the Dough
|
||||||
|
3. In a large bowl or stand mixer, beat softened **butter** with both **sugars** on medium speed for 2-3 minutes until light and fluffy.
|
||||||
|
4. Beat in **eggs** one at a time, then add **vanilla extract**. Mix until well combined, scraping down the sides of the bowl.
|
||||||
|
5. With mixer on low speed, gradually add the **flour** mixture. Mix just until no flour streaks remain (don't overmix).
|
||||||
|
6. Use a spatula or wooden spoon to fold in **chocolate chips** until evenly distributed.
|
||||||
|
|
||||||
|
### Chill (Important!)
|
||||||
|
7. Cover bowl with **plastic wrap** and refrigerate for at least 30 minutes (or up to 72 hours for even better flavor). Cold dough = thicker cookies!
|
||||||
|
|
||||||
|
### Bake
|
||||||
|
8. Use a cookie scoop or tablespoon to form balls (about 2 tablespoons each). Place 2 inches apart on prepared baking sheets.
|
||||||
|
9. If using, sprinkle a tiny pinch of **flaky sea salt** on top of each dough ball.
|
||||||
|
10. Bake for 10-12 minutes until edges are golden brown but centers still look slightly underdone.
|
||||||
|
11. Let cookies cool on the baking sheet for 5 minutes (they'll continue to set), then transfer to a wire rack.
|
||||||
|
|
||||||
|
### Serve
|
||||||
|
12. Serve warm or at room temperature. Best enjoyed with cold **milk**!
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
### Tips for Success
|
||||||
|
- **Room temperature ingredients**: Softened butter and eggs create the best texture
|
||||||
|
- **Don't skip chilling**: Cold dough prevents spreading and creates thicker cookies
|
||||||
|
- **Underbake slightly**: Cookies will look underdone but will set as they cool
|
||||||
|
- **Use parchment paper**: Prevents sticking and promotes even browning
|
||||||
|
- **Measure flour correctly**: Spoon and level flour, don't pack it
|
||||||
|
|
||||||
|
### Storage & Freezing
|
||||||
|
- **Room temperature**: Store in an airtight container for up to 5 days
|
||||||
|
- **Refresh**: Warm in a 300°F oven for 3-4 minutes to restore chewiness
|
||||||
|
- **Freeze dough**: Scoop dough balls and freeze for up to 3 months. Bake from frozen, adding 1-2 minutes
|
||||||
|
- **Freeze baked cookies**: Freeze baked cookies for up to 2 months
|
||||||
|
|
||||||
|
### Variations
|
||||||
|
- **Brown butter cookies**: Brown the butter for a nutty, caramel flavor
|
||||||
|
- **Thick and bakery-style**: Increase flour to 2 1/2 cups and chill overnight
|
||||||
|
- **Double chocolate**: Add 1/4 cup cocoa powder to dry ingredients
|
||||||
|
- **Mix-ins**: Try nuts, toffee bits, or different chocolate varieties
|
||||||
|
- **Giant cookies**: Use 1/4 cup dough per cookie, bake 14-16 minutes
|
||||||
|
|
||||||
|
### Science Behind the Recipe
|
||||||
|
- **Brown sugar**: Creates chewiness and moisture
|
||||||
|
- **Granulated sugar**: Creates crispy edges
|
||||||
|
- **Baking soda**: Promotes spreading and browning
|
||||||
|
- **Chilling**: Allows flour to hydrate and flavors to develop
|
||||||
|
- **Underbaking**: Keeps centers soft and gooey
|
||||||
|
|
||||||
|
## References
|
||||||
|
|
||||||
|
- Based on the classic Nestlé Toll House recipe
|
||||||
|
- Chilling technique from *The Food Lab* by J. Kenji López-Alt
|
||||||
|
- Brown butter variation inspired by *BraveTart* by Stella Parks
|
||||||
|
- Tested with feedback from family and friends over multiple batches
|
||||||
BIN
public/recipes/indian/brown-lentils/assets/brown-lentils.png
Normal file
|
After Width: | Height: | Size: 1.5 MiB |
79
public/recipes/indian/brown-lentils/brown-lentils.mdx
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
---
|
||||||
|
title: "Lentils"
|
||||||
|
slug: "brown-lentils"
|
||||||
|
date: "2026-02-10"
|
||||||
|
lastUpdated: "2026-02-10"
|
||||||
|
category: "indian"
|
||||||
|
tags: ["indian"]
|
||||||
|
dietary: []
|
||||||
|
cookTime: 0
|
||||||
|
prepTime: 0
|
||||||
|
totalTime: 0
|
||||||
|
difficulty: "medium"
|
||||||
|
servings: 4
|
||||||
|
author: "pws"
|
||||||
|
description: "A neutral, lentil dish that complements any other curry or gravy. This recipe uses brown lentils (Whole Masoor Dal), as well as their hulled (red dal) and split (split red dal) forms. The whole dal retain their consistency, and the hulled and split dal thicken the gravy. Both are recommended to be used. Some substitutes for the whole dal can be done, I have used whole mung beans (Green Moong Dal) as a replacement, and any split dal can be used instead of the split red dal."
|
||||||
|
featured: false
|
||||||
|
display: true
|
||||||
|
displayPhoto: "./assets/brown-lentils.png"
|
||||||
|
---
|
||||||
|
|
||||||
|
# Lentils
|
||||||
|
|
||||||
|
A neutral, lentil dish that complements any other curry or gravy. This recipe uses brown lentils (Whole Masoor Dal), as well as their hulled (red dal) and split (split red dal) forms. The whole dal retain their consistency, and the hulled and split dal thicken the gravy. Both are recommended to be used. Some substitutes for the whole dal can be done, I have used whole mung beans (Green Moong Dal) as a replacement, and any split dal can be used instead of the split red dal.
|
||||||
|
|
||||||
|
## Photos
|
||||||
|
|
||||||
|

|
||||||
|
*A neutral, lentil dish that complements any other curry or gravy. This recipe uses brown lentils (Whole Masoor Dal), as well as their hulled (red dal) and split (split red dal) forms. The whole dal retain their consistency, and the hulled and split dal thicken the gravy. Both are recommended to be used. Some substitutes for the whole dal can be done, I have used whole mung beans (Green Moong Dal) as a replacement, and any split dal can be used instead of the split red dal.*
|
||||||
|
|
||||||
|
## Ingredients
|
||||||
|
|
||||||
|
### Brown & Red Lentils
|
||||||
|
- 1 cup whole masoor dal (brown lentils)
|
||||||
|
- 1 cup split masoor dal (hulled and split brown lentils aka red lentils)
|
||||||
|
### Gravy
|
||||||
|
- 1 cup onion (finely chopped)
|
||||||
|
- 1 1/2 cups medium tomatoes (finely chopped)
|
||||||
|
- 1 tbsp cumin seeds
|
||||||
|
- 1 tbsp fennel seeds (optional)
|
||||||
|
- 3 dried red chilies or 1/2 tsp chili flakes
|
||||||
|
- 1 tablespoon minced ginger
|
||||||
|
- 1 tablespoon minced garlic
|
||||||
|
- 1/4 cup coriander leaves/cilantro with tender stalks, leave some to garnish
|
||||||
|
- 1/4 tsp ground turmeric
|
||||||
|
- 1 tsp sea salt, adjust to taste
|
||||||
|
- 1 tsp kashmiri chili powder, adjust to taste
|
||||||
|
- 1 tsp coriander powder (optional)
|
||||||
|
- 1/2 tsp cumin powder (optional)
|
||||||
|
- 1 tsp garam masala, adjust to taste
|
||||||
|
- 1 tbsp amchur powder
|
||||||
|
- 1 tbsp dried fenugreek leaves (kasuri methi)
|
||||||
|
|
||||||
|
## Instructions
|
||||||
|
|
||||||
|
**Lentil Preparation**
|
||||||
|
1. Add each type of **lentil** individually to a large bowl and rinse well at least 3x.
|
||||||
|
2. Add to a pot with 4 cups **water** if using both types of lentils, 3 cups if not using split lentils.
|
||||||
|
3. Bring to a rolling boil, skimming froth if it appears.
|
||||||
|
4. Reduce to medium and cook until tender, for 20-25 mins. Red lentils should break down completely and brown lentils to retain their shape.
|
||||||
|
**Gravy Instructions**
|
||||||
|
1. On a medium flame, head 2/3 tbsp **ghee/oil** in large pot.
|
||||||
|
2. When medium hot, add **cumin** and **fennel seeds** followed by **dried red chilis**. If using chili flakes save for a later step.
|
||||||
|
3. Once sizzling and the chilis turn crisp but not burnt, add **onions**. Sautee until light golden for 5-6 mins.
|
||||||
|
4. Stir in **ginger garlic** and **coriander leaves/stems**. Sautee until aromatic for 1-2 mins.
|
||||||
|
5. Stir in **turmeric**, **salt**, **red chili powder**, **coriander powder**, **cumin powder**, and **garam masala**.
|
||||||
|
6. Add **tomatoes** and deglaze by pouring 1/4 cup water.
|
||||||
|
7. Cook until tomatoes break down completely.
|
||||||
|
8. Add **cooked lentils** along with the liquid in the pot and mix well. Pour **hot water** as needed (about 1/2 cup or as needed) and bring to boil.
|
||||||
|
9. Simmer for 5 minutes until thick and traces of fats visible on top. Optionally mash lentils a bit for a creamier consistency.
|
||||||
|
10. Stir in **amchur powder** and **fenugreek leaves**.
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
### Mix & Match
|
||||||
|
- Try with all types of lentils!
|
||||||
|
|
||||||
|
## References
|
||||||
|
|
||||||
|
- https://www.indianhealthyrecipes.com/brown-lentils/
|
||||||
BIN
public/recipes/indian/chana-masala/assets/chana-masala.png
Normal file
|
After Width: | Height: | Size: 1.7 MiB |
89
public/recipes/indian/chana-masala/chana-masala.mdx
Normal file
@ -0,0 +1,89 @@
|
|||||||
|
---
|
||||||
|
title: "Chana Masala"
|
||||||
|
slug: "chana-masala"
|
||||||
|
date: "2026-02-10"
|
||||||
|
lastUpdated: "2026-02-10"
|
||||||
|
category: "indian"
|
||||||
|
tags: ["indian"]
|
||||||
|
dietary: []
|
||||||
|
cookTime: 0
|
||||||
|
prepTime: 0
|
||||||
|
totalTime: 0
|
||||||
|
difficulty: "medium"
|
||||||
|
servings: 4
|
||||||
|
author: "pws"
|
||||||
|
description: "A classic chickpea recipe with a rich, tomato-based gravy."
|
||||||
|
featured: false
|
||||||
|
display: true
|
||||||
|
displayPhoto: "./assets/chana-masala.png"
|
||||||
|
---
|
||||||
|
|
||||||
|
# Chana Masala
|
||||||
|
|
||||||
|
A classic chickpea recipe with a rich, tomato-based gravy.
|
||||||
|
|
||||||
|
## Photos
|
||||||
|
|
||||||
|

|
||||||
|
*A classic chickpea recipe with a rich, tomato-based gravy.*
|
||||||
|
|
||||||
|
## Ingredients
|
||||||
|
|
||||||
|
### Chana
|
||||||
|
- 1 cup dry chana (raw chickpeas) or 3 cups soaked/2 15 oz cans
|
||||||
|
- 1 1/2 cups water, more for gravy
|
||||||
|
### Gravy
|
||||||
|
- 2 tablespoons oil
|
||||||
|
- 1 small bay leaf (optional)
|
||||||
|
- 1 inch cinnamon (optional)
|
||||||
|
- 2 cloves (optional)
|
||||||
|
- 2 green cardimoms (optional)
|
||||||
|
- 1 1/2 cups (2 large) finely chopped onion
|
||||||
|
- 1 green chili (optional)
|
||||||
|
- 1 tablespoon ginger garlic paste
|
||||||
|
- 1 1/2 cups finely chopped tomatoes
|
||||||
|
- 3/4 teaspoon salt
|
||||||
|
- 1/4 teaspoon turmeric
|
||||||
|
- 1 1/2 teaspoons kashmiri red chili powder
|
||||||
|
- 1 teaspon garam masala
|
||||||
|
- 2 teaspoon coriander powder
|
||||||
|
- 1/2 teaspoon cumin powder (optional)
|
||||||
|
- 1 teaspoon kasuri methi (dry fenugreek leaves, optional)
|
||||||
|
- 1/4 teaspoon amchur (dry mango powder, optional)
|
||||||
|
- 2 tbsp finely chopped coriander leaves/cilantro
|
||||||
|
|
||||||
|
## Instructions
|
||||||
|
|
||||||
|
**Chana Preparation**
|
||||||
|
1. Rinse dried **chickpeas** at least 3 times to remove loose skin. Soak in 3 1/2 to 4 cups water overnight for at least 8 hours. Additionally you can add a small amount of baking soda to loosen the chana skins.
|
||||||
|
2. Drain water and rinse well. Optionally seperate skins from chana (but keep them later to thicken sauce). Pour the recipe water in and pressure cook for 5 to 6 minutes on a stovetop or 18 minutes on high pressure in an instant pot.
|
||||||
|
3. Check for tenderness. Fully cooked chickpeas should mash fully when squeezed.
|
||||||
|
**Gravy Instructions (Stovetop)**
|
||||||
|
1. Heat **oil** in a large pot. Add the whole spices - **cinnamon**, **cloves**, **cardamom**, and **bay leaf**.
|
||||||
|
2. After they start to sizzle, add **onions** and **green chili**. Saute until they start to turn light golden.
|
||||||
|
3. Add **ginger garlic paste** and saute for 1 minute, avoiding burning it.
|
||||||
|
4. Add **tomatoes** and **salt**. Cook until mushy, pulpy, and thick.
|
||||||
|
5. Stir in **red chili powder**, **turmeric**, **garam masala**, **coriander powder**, and **cumin powder**. Saute until fragrant, 3 to 4 minuts.
|
||||||
|
6. Optional - If looking for a smooth curry, discard the bay leaf, green chili and cinnamon. Blend in a blender. You can add 2 tablespoons of cooked chana for a thicker curry.
|
||||||
|
7. Add the **chana** with the **chana stock** (or replace with 1 1/4 cups of water if you added baking soda to chana while soaking). Pour an additional 3/4 to 1 cup **water**. If optional Step 7 was not taken, you do not need as much water.
|
||||||
|
8. Mix well, taste and add more **salt**. Cover and simmer for 15 minutes.
|
||||||
|
9. When consistency is thick, add **amchur powder** and **kasuiri methi**.
|
||||||
|
10. Garnish with coriander leaves, sprinkle lemon juice if desired.
|
||||||
|
**Gravy Instructions (Instant Pot)**
|
||||||
|
- If cooking in the Instant pot, make the onion tomato masala on saute mode.
|
||||||
|
- Optionally cool and blend.
|
||||||
|
- Add soaked chickpeas with 2 cups water. Deglaze and pressure cook on high for 35 minutes.
|
||||||
|
- After pressure drops, open the lid and cook on saute mode until thick.
|
||||||
|
- Serve with kasuri methi and amchur.
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
### Don't Eyeball It
|
||||||
|
- Match the chana amount correctly, or the gravy gets very thin.
|
||||||
|
|
||||||
|
### Protein Powerhouse
|
||||||
|
- Recipe usually heavy on the chana, adjust how you like it.
|
||||||
|
|
||||||
|
## References
|
||||||
|
|
||||||
|
- https://www.indianhealthyrecipes.com/chana-masala/
|
||||||
|
After Width: | Height: | Size: 42 MiB |
@ -0,0 +1,81 @@
|
|||||||
|
---
|
||||||
|
title: "Chicken Tikka Masala"
|
||||||
|
slug: "chicken-tikka-masala"
|
||||||
|
date: "2026-02-10"
|
||||||
|
lastUpdated: "2026-02-10"
|
||||||
|
category: "indian"
|
||||||
|
tags: ["indian"]
|
||||||
|
dietary: []
|
||||||
|
cookTime: 0
|
||||||
|
prepTime: 0
|
||||||
|
totalTime: 0
|
||||||
|
difficulty: "medium"
|
||||||
|
servings: 4
|
||||||
|
author: "pws"
|
||||||
|
description: "A classic chicken recipe with a rich, tomato-based gravy."
|
||||||
|
featured: false
|
||||||
|
display: true
|
||||||
|
displayPhoto: "./assets/chicken-tikka-masala.jpg"
|
||||||
|
---
|
||||||
|
|
||||||
|
# Chicken Tikka Masala
|
||||||
|
|
||||||
|
A classic chicken recipe with a rich, tomato-based gravy.
|
||||||
|
|
||||||
|
## Photos
|
||||||
|
|
||||||
|

|
||||||
|
*A classic chicken recipe with a rich, tomato-based gravy.*
|
||||||
|
|
||||||
|
## Ingredients
|
||||||
|
|
||||||
|
### Chicken Marinade
|
||||||
|
- 28 oz (800g) boneless and skinless chicken thighs (cut into bite-sized pieces)
|
||||||
|
- 1 cup plain yogurt
|
||||||
|
- 1 1/2 tablespoons minced garlic
|
||||||
|
- 1 tablespoon ginger
|
||||||
|
- 2 teaspoons garam masala
|
||||||
|
- 1 teaspoon turmeric
|
||||||
|
- 1 teaspoon ground cumin
|
||||||
|
- 1 teaspoon kashmiri chili
|
||||||
|
- 1 teaspoon of salt
|
||||||
|
### Gravy
|
||||||
|
- 2 tablespoons vegetable/canola oil
|
||||||
|
- 2 tablespoons butter
|
||||||
|
- 2 small diced onions
|
||||||
|
- 1 1/2 tablespoons finely grated garlic
|
||||||
|
- 1 tablespoon finely grated ginger
|
||||||
|
- 1 1/2 teaspoons garam masala
|
||||||
|
- 1 1/2 teaspoons ground cumin
|
||||||
|
- 1 teaspoon turmeric powder
|
||||||
|
- 1 teaspoon ground coriander
|
||||||
|
- 14 oz tomato puree
|
||||||
|
- 1 teaspoon kashmiri chili (optional)
|
||||||
|
- 1 teaspoon ground red chili powder (to taste)
|
||||||
|
- 1 teaspoon salt
|
||||||
|
- 1 1/4 cups of heavy or thickened cream (use evaporated milk for lower calories)
|
||||||
|
- 1 teaspoon brown sugar
|
||||||
|
- 1/4 cup water if needed
|
||||||
|
- 4 tablespoons fresh cilantro or coriander to garnish
|
||||||
|
|
||||||
|
## Instructions
|
||||||
|
|
||||||
|
1. 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).
|
||||||
|
2. Heat **oil** in a large skillet or pot over medium-high heat. When sizzling, add **marinated 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.)
|
||||||
|
3. 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.
|
||||||
|
4. Add **garlic** and **ginger** and sauté for 1 minute until fragrant, then add **garam masala**, **cumin**, **turmeric** and **coriander**. Fry for about 20 seconds until fragrant, while stirring occasionally.
|
||||||
|
5. 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.
|
||||||
|
6. 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.
|
||||||
|
7. Garnish with cilantro (coriander) and serve.
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
### Diet
|
||||||
|
- Switch cream for low fat milk to make this a bit healthier.
|
||||||
|
|
||||||
|
### Prep Early
|
||||||
|
- Let chicken marinate for overnight if possible.
|
||||||
|
|
||||||
|
## References
|
||||||
|
|
||||||
|
- https://cafedelites.com/chicken-tikka-masala/
|
||||||
BIN
public/recipes/indian/palak-paneer/assets/palak-paneer.jpg
Normal file
|
After Width: | Height: | Size: 46 MiB |
79
public/recipes/indian/palak-paneer/palak-paneer.mdx
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
---
|
||||||
|
title: "Palak Paneer"
|
||||||
|
slug: "palak-paneer"
|
||||||
|
date: "2026-02-10"
|
||||||
|
lastUpdated: "2026-02-10"
|
||||||
|
category: "indian"
|
||||||
|
tags: ["indian"]
|
||||||
|
dietary: []
|
||||||
|
cookTime: 0
|
||||||
|
prepTime: 0
|
||||||
|
totalTime: 0
|
||||||
|
difficulty: "medium"
|
||||||
|
servings: 4
|
||||||
|
author: "pws"
|
||||||
|
description: "A great vegetarian option with a lot of fiber."
|
||||||
|
featured: false
|
||||||
|
display: true
|
||||||
|
displayPhoto: "./assets/palak-paneer.jpg"
|
||||||
|
---
|
||||||
|
|
||||||
|
# Palak Paneer
|
||||||
|
|
||||||
|
A great vegetarian option with a lot of fiber.
|
||||||
|
|
||||||
|
## Photos
|
||||||
|
|
||||||
|

|
||||||
|
*A great vegetarian option with a lot of fiber.*
|
||||||
|
|
||||||
|
## Ingredients
|
||||||
|
|
||||||
|
- 1 1/4 cups paneer
|
||||||
|
- 4 cups palak/spinach
|
||||||
|
- 2 tbsp oil (can use half oil half butter)
|
||||||
|
- 2 green chilies (deseeded)
|
||||||
|
- 3/4 cup onions, finely chopped
|
||||||
|
- 1/2 cup tomatoes
|
||||||
|
- 3/4 tsp ginger garlic paste
|
||||||
|
- 1/2 tsp salt
|
||||||
|
- 8-10 cashews
|
||||||
|
- 3/4 tsp garam masala
|
||||||
|
- 1/2 tsp kasuri methi
|
||||||
|
- 1/4 cup water (for blending with spinach)
|
||||||
|
- 3/4 cup water (to cook with gravy)
|
||||||
|
- 3 tbsp cream (optional)
|
||||||
|
- 1/8 tps cumin seeds (optional)
|
||||||
|
- 2 green cadamoms (optional)
|
||||||
|
- 1 inch cinnamon (optional)
|
||||||
|
- 2 cloves (optional)
|
||||||
|
|
||||||
|
## Instructions
|
||||||
|
|
||||||
|
**Palak/Spinach Preparation**
|
||||||
|
1. For best results separate stems as they may leave a bitter taste, or use baby spinach.
|
||||||
|
2. Rinse and drain **spinach**. Leave as little water as possible as spinach will be cooked in oil.
|
||||||
|
3. Heat 1/2 tsp **oil** in a pan. Saute **green chilies**, **cashews**, and **spinach** for 3-4 mins until the leaves thoroughly wilt and the raw smell of spinach has gone away. Alternatively, blanch the palak in 4 cups of ot water with 1/4 tsp salt for 2 mins, then immerse in ice cold water, and drain completely.
|
||||||
|
4. Cool this and blend along with 1/4 cup **water** to a smooth puree. The smoother the better, as the cashews may leave a gritty texture if not fully emulsified. Add additional water if needed.
|
||||||
|
**Gravy Instructions**
|
||||||
|
1. (optinal) Heat 1 tablespoon **butter** and half tablespoon **oil** to the same pan. Once melted, add **cumin seeds**, **cardamom**, **cinnamon**, and **cloves** until they begin to sizzle.
|
||||||
|
2. Add the **onions** and fry until they turn transparent to golden.
|
||||||
|
3. Saute **ginger garlic paste** for 1-2 minutes or until aromatic.
|
||||||
|
4. Add **tomatoes** and **salt**. Saute uncovered until the tomatoes break down completely.
|
||||||
|
5. Add **garam masala** and saute until the masala smells good, about 2 mins.
|
||||||
|
6. Pour 3/4 cup **water** and cook covered until onions are completely soft.
|
||||||
|
7. (optional) For a smooth curry blend the gravy mixture.
|
||||||
|
8. Lower the flame. Add **kasuri methi** and the pureed spinach. Mix well and cook until it begins to bubble for a few minutes. If too thick, add a few tablespoons of water.
|
||||||
|
9. Add **paneer** and mix well. Optionally garnish with cream.
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
### Meal Prep
|
||||||
|
- If using canned tomatoes, you'll typically have enough to double the recipe which is a good amount to have some leftovers.
|
||||||
|
|
||||||
|
### Keep it Healthy
|
||||||
|
- It really doesn't need it, but you can add heavy whipping cream to thicken the gravy. However it should be relatively thick as is.
|
||||||
|
|
||||||
|
## References
|
||||||
|
|
||||||
|
- https://www.indianhealthyrecipes.com/palak-paneer-recipe-easy-paneer-recipes-step-by-step-pics/
|
||||||
80
public/recipes/italian/chicken-parmesan/chicken-parmesan.mdx
Normal file
@ -0,0 +1,80 @@
|
|||||||
|
---
|
||||||
|
title: "Classic Chicken Parmigiana (Parmesan)"
|
||||||
|
slug: "chicken-parmesan"
|
||||||
|
date: "2026-02-10"
|
||||||
|
lastUpdated: "2026-02-10"
|
||||||
|
category: "italian"
|
||||||
|
tags: ["italian"]
|
||||||
|
dietary: []
|
||||||
|
cookTime: 0
|
||||||
|
prepTime: 0
|
||||||
|
totalTime: 0
|
||||||
|
difficulty: "medium"
|
||||||
|
servings: 4
|
||||||
|
author: "pws"
|
||||||
|
description: "Classic chicken parm can be made with panko breadcrumbs or homemade ones."
|
||||||
|
featured: false
|
||||||
|
display: true
|
||||||
|
displayPhoto: ""
|
||||||
|
---
|
||||||
|
|
||||||
|
# Classic Chicken Parmigiana (Parmesan)
|
||||||
|
|
||||||
|
Classic chicken parm can be made with panko breadcrumbs or homemade ones.
|
||||||
|
|
||||||
|
## Photos
|
||||||
|
|
||||||
|
Classic chicken parm can be made with panko breadcrumbs or homemade ones.
|
||||||
|
|
||||||
|
|
||||||
|
## Ingredients
|
||||||
|
|
||||||
|
### Chicken & Breading
|
||||||
|
- 6 boneless skinless chicken breasts
|
||||||
|
- 1 cup flour
|
||||||
|
- Salt & black pepper (to season flour)
|
||||||
|
- 3 eggs
|
||||||
|
- 3 TB cream (or milk/water)
|
||||||
|
- Salt & black pepper (to season egg wash)
|
||||||
|
- ¼ cup minced flat leaf parsley (divided)
|
||||||
|
- 1 ½ cup breadcrumbs
|
||||||
|
- 1 cup freshly grated parmesan cheese
|
||||||
|
- ½ cup olive oil (for frying)
|
||||||
|
### Chicken Parm
|
||||||
|
- 1 quart Marinara Sauce
|
||||||
|
- 2 cups grated/shredded whole milk mozzarella
|
||||||
|
- Remaining ¼ cup minced flat leaf parsley (for garnish)
|
||||||
|
|
||||||
|
## Instructions
|
||||||
|
|
||||||
|
**Preparation**
|
||||||
|
1. Pre-heat oven to **350°F**.
|
||||||
|
2. Place one **chicken breast** inside a gallon size ziplock bag. Using a kitchen mallet, pound the chicken breast to an even size, approximately **½ inch** thick. Repeat for the remaining breasts.
|
||||||
|
**Breading**
|
||||||
|
1. Prepare three shallow trays. In the first tray, place the **flour** and season with **salt and pepper**.
|
||||||
|
2. In a small bowl, beat **eggs** with the **cream**. Pour this egg wash into the second tray. Add **salt**, **pepper** and **half of the minced parsley** to the egg wash.
|
||||||
|
3. In the third tray, place the **breadcrumbs** and mix in the **parmesan cheese**.
|
||||||
|
4. To bread, dredge each cutlet in the **flour** on both sides, dip in the **egg wash**, and finally cover completely with **breadcrumbs**. Set aside and finish breading all cutlets.
|
||||||
|
**Frying**
|
||||||
|
1. Heat **olive oil** in a large skillet until very hot. Ensure this will cover about half of the chicken when placed in the skillet.
|
||||||
|
2. Cook two cutlets at a time, turning when they start to get a golden color. They will cook fast on the outside; they will finish cooking in the oven.
|
||||||
|
3. Drain fried cutlets on a paper towel and finish frying the rest of the cutlets.
|
||||||
|
**Bake & Serve**
|
||||||
|
1. Add 4 big spoonfuls of **marinara sauce** to the bottom of a large lasagna or baking pan. Alternatively place a spoonful on each piece of chicken. Avoid using too much or the final result will be soupy.
|
||||||
|
2. Arrange the cutlets in a single layer or slightly overlapping.
|
||||||
|
3. Add a spoonful of **marinara sauce** over each cutlet and around the sides.
|
||||||
|
4. Sprinkle the **mozzarella cheese** over the cutlets, and finish with the rest of the **flat leaf parsley**.
|
||||||
|
5. Bake for **25-35 minutes** until the cheese is starting to turn golden brown.
|
||||||
|
6. Serve immediately.
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
### Chicken Substitute
|
||||||
|
- Chicken thigh is an appropriate substitution for chicken breast in my experience.
|
||||||
|
|
||||||
|
### Low Fat Options
|
||||||
|
- It's difficult to sub cheese in this recipe but using a low fat mozzarella cheese makes it a slight bit healthier.
|
||||||
|
|
||||||
|
## References
|
||||||
|
|
||||||
|
- https://www.homemadeitaliancooking.com/chicken-parmesan/
|
||||||
|
After Width: | Height: | Size: 1.4 MiB |
@ -0,0 +1,69 @@
|
|||||||
|
---
|
||||||
|
title: "Vodka Pasta"
|
||||||
|
slug: "fusilli-with-vodka-basil-parmesan"
|
||||||
|
date: "2026-02-10"
|
||||||
|
lastUpdated: "2026-02-10"
|
||||||
|
category: "italian"
|
||||||
|
tags: ["italian"]
|
||||||
|
dietary: []
|
||||||
|
cookTime: 0
|
||||||
|
prepTime: 0
|
||||||
|
totalTime: 0
|
||||||
|
difficulty: "medium"
|
||||||
|
servings: 4
|
||||||
|
author: "pws"
|
||||||
|
description: "A recipe similar to the vodka pasta at Fiorella Polk."
|
||||||
|
featured: false
|
||||||
|
display: true
|
||||||
|
displayPhoto: "./assets/vodka-pasta.png"
|
||||||
|
---
|
||||||
|
|
||||||
|
# Vodka Pasta
|
||||||
|
|
||||||
|
A recipe similar to the vodka pasta at Fiorella Polk.
|
||||||
|
|
||||||
|
## Photos
|
||||||
|
|
||||||
|

|
||||||
|
*A recipe similar to the vodka pasta at Fiorella Polk.*
|
||||||
|
|
||||||
|
## Ingredients
|
||||||
|
|
||||||
|
- ¼ cup olive oil
|
||||||
|
- ½ shallot, finely chopped
|
||||||
|
- 1 small garlic clove, finely grated
|
||||||
|
- ½ cup tomato paste
|
||||||
|
- 2 tablespoons vodka
|
||||||
|
- 1 cup heavy cream
|
||||||
|
- 1 teaspoon crushed red pepper flakes
|
||||||
|
- Kosher salt, freshly ground pepper
|
||||||
|
- 1 pound fusilli
|
||||||
|
- 2 tablespoons unsalted butter
|
||||||
|
- 1 ounce finely grated Parmesan, plus more for serving
|
||||||
|
- ¼ cup chopped fresh basil"
|
||||||
|
|
||||||
|
## Instructions
|
||||||
|
|
||||||
|
1. Heat **oil** in a large skillet over medium.
|
||||||
|
2. Add **shallot** and **garlic** and cook, stirring occasionally, until softened, about 5 minutes.
|
||||||
|
3. Begin cooking **pasta** in salted water until al dente. This can be done while working on the next few steps for the pasta in parallel.
|
||||||
|
4. Add **tomato paste** and cook, stirring occasionally, until paste is brick red and starts to caramelize, about 5 minutes.
|
||||||
|
5. Add **vodka** and cook, stirring constantly, until liquid is mostly evaporated, about 2 minutes.
|
||||||
|
6. Add **cream** and **red pepper flakes** and stir until well blended.
|
||||||
|
7. Season with **salt** and **pepper** & remove from heat.
|
||||||
|
8. The pasta should be finished at this point. Drain the pasta, reserving 1 cup of the **pasta water**.
|
||||||
|
9. Add pasta to skillet with sauce along with **butter** and ½ cup **pasta cooking liquid**.
|
||||||
|
10. Cook over medium-low heat, stirring constantly and adding more pasta cooking liquid if needed, until butter has melted and a thick, glossy sauce has formed, about 2 minutes.
|
||||||
|
11. Season with salt and pepper and add 1 oz. **Parmesan**, tossing to coat. Divide pasta among bowls, then top with basil and more Parmesan.
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
### Family Sized
|
||||||
|
- Recipe makes about a pound of pasta, in my experience that ends up being about 8 large servings.
|
||||||
|
|
||||||
|
### Eat it Quick!
|
||||||
|
- Lasts quite a while, but reheat quality is not super presentable because of the heavy cream.
|
||||||
|
|
||||||
|
## References
|
||||||
|
|
||||||
|
- https://www.bonappetit.com/recipe/fusilli-alla-vodka-basil-parmesan
|
||||||
@ -0,0 +1,60 @@
|
|||||||
|
---
|
||||||
|
title: "Ajitsuke Tamago (Ramen Egg)"
|
||||||
|
slug: "ajitsuke-tamago-ramen-egg"
|
||||||
|
date: "2026-02-10"
|
||||||
|
lastUpdated: "2026-02-10"
|
||||||
|
category: "japanese"
|
||||||
|
tags: ["japanese"]
|
||||||
|
dietary: []
|
||||||
|
cookTime: 0
|
||||||
|
prepTime: 0
|
||||||
|
totalTime: 0
|
||||||
|
difficulty: "medium"
|
||||||
|
servings: 4
|
||||||
|
author: "pws"
|
||||||
|
description: "Great on any kind of ramen!"
|
||||||
|
featured: false
|
||||||
|
display: true
|
||||||
|
displayPhoto: "./assets/ajitsuke-tamago.png"
|
||||||
|
---
|
||||||
|
|
||||||
|
# Ajitsuke Tamago (Ramen Egg)
|
||||||
|
|
||||||
|
Great on any kind of ramen!
|
||||||
|
|
||||||
|
## Photos
|
||||||
|
|
||||||
|

|
||||||
|
*Great on any kind of ramen!*
|
||||||
|
|
||||||
|
## Ingredients
|
||||||
|
|
||||||
|
- Eggs
|
||||||
|
- 2 tablespoons white vinegar
|
||||||
|
- ¼ cup soy sauce
|
||||||
|
- ¼ cup mirin cooking wine
|
||||||
|
- 1 teaspoon brown sugar
|
||||||
|
|
||||||
|
## Instructions
|
||||||
|
|
||||||
|
1. Bring a pot of enough water to cover the eggs to a boil once added.
|
||||||
|
2. Place saucepan over high heat and add **vinegar** to help with peeling. Bring to a boil.
|
||||||
|
3. Prick a hole in the wide end of each egg (helps with shape and peeling).
|
||||||
|
4. Gently lower the eggs into the water.
|
||||||
|
5. Set a timer for 6-7 minutes, depending on the target consistency.
|
||||||
|
6. Pick out the eggs and set into cold or **ice water**.
|
||||||
|
7. Peel shells and lower into the **marinade**.
|
||||||
|
8. Chill 1-4 (or more) hours.
|
||||||
|
9. When serving, remove from marinade and cut in half.
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
### Tight Fit
|
||||||
|
- Make sure to find a bowl that can just barely fit all the eggs together, the sauce has to cover all of them.
|
||||||
|
|
||||||
|
### To Age or Not to Age
|
||||||
|
- Depending on how long you age these, they'll get really salty. A few days is a good middle ground, after that you can take the eggs out and store seperately.
|
||||||
|
|
||||||
|
## References
|
||||||
|
|
||||||
|
- https://www.aspicyperspective.com/easy-ramen-egg-recipe-ajitsuke-tamago/
|
||||||
|
After Width: | Height: | Size: 1.2 MiB |
@ -0,0 +1,63 @@
|
|||||||
|
---
|
||||||
|
title: "Golden Curry Beef Stew"
|
||||||
|
slug: "golden-curry-beef-stew"
|
||||||
|
date: "2026-02-10"
|
||||||
|
lastUpdated: "2026-02-10"
|
||||||
|
category: "japanese"
|
||||||
|
tags: ["japanese"]
|
||||||
|
dietary: []
|
||||||
|
cookTime: 0
|
||||||
|
prepTime: 0
|
||||||
|
totalTime: 0
|
||||||
|
difficulty: "medium"
|
||||||
|
servings: 4
|
||||||
|
author: "pws"
|
||||||
|
description: "The classic way to make Golden Curry packets into a rich beef stew."
|
||||||
|
featured: false
|
||||||
|
display: true
|
||||||
|
displayPhoto: ""
|
||||||
|
---
|
||||||
|
|
||||||
|
# Golden Curry Beef Stew
|
||||||
|
|
||||||
|
The classic way to make Golden Curry packets into a rich beef stew.
|
||||||
|
|
||||||
|
## Photos
|
||||||
|
|
||||||
|
The classic way to make Golden Curry packets into a rich beef stew.
|
||||||
|
|
||||||
|
|
||||||
|
## Ingredients
|
||||||
|
|
||||||
|
- 2 lbs beef (chuck or brisket), cut into bite-sized pieces
|
||||||
|
- 4 cups water, 1 additional as needed
|
||||||
|
- 1 large onion, chopped
|
||||||
|
- 3 carrots, chopped
|
||||||
|
- 3 medium golden potatoes, chopped
|
||||||
|
- 2 tablespoons vegetable oil
|
||||||
|
- 1 carton S&B Golden Curry Mix
|
||||||
|
|
||||||
|
## Instructions
|
||||||
|
|
||||||
|
1. In a large saucepan, heat **vegetable oil** over medium heat. Add **beef** and cook until browned. Remove and set aside.
|
||||||
|
2. Add **onion**, **carrots**, and **potatoes**. Stir-fry until fragrant.
|
||||||
|
3. Add **water**, **beef**, and **S&B Golden Curry Mix**.
|
||||||
|
4. Reduce heat and simmer for about 30 minutes, or until the beef is tender and the sauce has thickened
|
||||||
|
5. Serve hot over rice.
|
||||||
|
If the sauce is too thick, make a slurry with water and cornstarch. Note this will reduce flavor so use sparingly.
|
||||||
|
Macaroni salad goes great alongside the rice and curry stew.
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
### Let me elaborate on bite sized
|
||||||
|
- Cut it smaller than you think necessary and against grain.
|
||||||
|
|
||||||
|
### Slurry
|
||||||
|
- If the sauce is too thick, make a slurry with water and cornstarch. Note this will reduce flavor so use sparingly.
|
||||||
|
|
||||||
|
### Additions
|
||||||
|
- Macaroni salad goes great alongside the rice and curry stew.
|
||||||
|
|
||||||
|
## References
|
||||||
|
|
||||||
|
- [Golden Curry Recipe](https://www.waiyeehong.com/food-ingredients/sauces-oils/curry-sauces-and-pastes/golden-curry-mild)
|
||||||
@ -0,0 +1,62 @@
|
|||||||
|
---
|
||||||
|
title: "Golden Curry Chicken"
|
||||||
|
slug: "golden-curry-chicken"
|
||||||
|
date: "2026-02-10"
|
||||||
|
lastUpdated: "2026-02-10"
|
||||||
|
category: "japanese"
|
||||||
|
tags: ["japanese"]
|
||||||
|
dietary: []
|
||||||
|
cookTime: 0
|
||||||
|
prepTime: 0
|
||||||
|
totalTime: 0
|
||||||
|
difficulty: "medium"
|
||||||
|
servings: 4
|
||||||
|
author: "pws"
|
||||||
|
description: "A variant of the Golden Curry Beef recipe, this version uses chicken instead of beef, and coconut cream instead of beef stock for a Thai curry flavor."
|
||||||
|
featured: false
|
||||||
|
display: true
|
||||||
|
displayPhoto: ""
|
||||||
|
---
|
||||||
|
|
||||||
|
# Golden Curry Chicken
|
||||||
|
|
||||||
|
A variant of the Golden Curry Beef recipe, this version uses chicken instead of beef, and coconut cream instead of beef stock for a Thai curry flavor.
|
||||||
|
|
||||||
|
## Photos
|
||||||
|
|
||||||
|
A variant of the Golden Curry Beef recipe, this version uses chicken instead of beef, and coconut cream instead of beef stock for a Thai curry flavor.
|
||||||
|
|
||||||
|
|
||||||
|
## Ingredients
|
||||||
|
|
||||||
|
- 2 lbs chicken thigh fillets, cut into bite-sized pieces
|
||||||
|
- 4 cups chicken stock, 1 additional as needed, or water
|
||||||
|
- 1 large onion, chopped
|
||||||
|
- 1 large red bell pepper, chopped
|
||||||
|
- 3 carrots, chopped
|
||||||
|
- 3 medium golden potatoes, chopped
|
||||||
|
- 13 oz (1 can) coconut cream
|
||||||
|
- 2 tablespoons vegetable oil
|
||||||
|
- 1 carton S&B Golden Curry Mix
|
||||||
|
|
||||||
|
## Instructions
|
||||||
|
|
||||||
|
1. In a large saucepan, heat **vegetable oil** over medium heat. Add **chicken** and cook until browned.
|
||||||
|
2. Add **onion**, **carrots**, **bell pepper**, and **potatoes**. Stir-fry for about 5 minutes until fragrant.
|
||||||
|
3. Add **chicken stock** and the **golden curry mix**. Bring to a boil.
|
||||||
|
4. Reduce heat and simmer for about 30 minutes, or until the chicken is tender/the sauce has thickened.
|
||||||
|
5. Stir in **coconut cream** and simmer for an additional 5 minutes.
|
||||||
|
6. Serve hot over rice.
|
||||||
|
The coconut cream settles to the bottom of the can, make sure to re-mix it before using.
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
### A different take on Golden Curry
|
||||||
|
- The sweetness of the coconut cream makes this a very different dish than the normal way we make Curry Stew.
|
||||||
|
|
||||||
|
### A Note on the Coconut Cream
|
||||||
|
- The coconut cream settles to the bottom of the can, make sure to re-mix it before using.
|
||||||
|
|
||||||
|
## References
|
||||||
|
|
||||||
|
- [Golden Coconut Chicken Curry Recipe](https://www.recipetineats.com/golden-coconut-chicken-curry/)
|
||||||
71
public/recipes/meat/beef-bourguignon/beef-bourguignon.mdx
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
---
|
||||||
|
title: "Beef Bourguignon"
|
||||||
|
slug: "beef-bourguignon"
|
||||||
|
date: "2026-02-10"
|
||||||
|
lastUpdated: "2026-02-10"
|
||||||
|
category: "meat"
|
||||||
|
tags: ["meat"]
|
||||||
|
dietary: []
|
||||||
|
cookTime: 0
|
||||||
|
prepTime: 0
|
||||||
|
totalTime: 0
|
||||||
|
difficulty: "medium"
|
||||||
|
servings: 4
|
||||||
|
author: "pws"
|
||||||
|
description: "A classic French dish made with beef braised in red wine, often served with mushrooms and pearl onions."
|
||||||
|
featured: false
|
||||||
|
display: true
|
||||||
|
displayPhoto: ""
|
||||||
|
---
|
||||||
|
|
||||||
|
# Beef Bourguignon
|
||||||
|
|
||||||
|
A classic French dish made with beef braised in red wine, often served with mushrooms and pearl onions.
|
||||||
|
|
||||||
|
## Photos
|
||||||
|
|
||||||
|
A classic French dish made with beef braised in red wine, often served with mushrooms and pearl onions.
|
||||||
|
|
||||||
|
|
||||||
|
## Ingredients
|
||||||
|
|
||||||
|
- 2 pounds beef chuck, cut into 1-inch cubes
|
||||||
|
- 1 bottle (750 ml) red wine (preferably Burgundy)
|
||||||
|
- 2 cups beef stock
|
||||||
|
- 1/4 cup brandy
|
||||||
|
- 1/4 cup all-purpose flour
|
||||||
|
- 4 ounces bacon, diced
|
||||||
|
- 2 tablespoons olive oil
|
||||||
|
- 1 large onion, chopped
|
||||||
|
- 2 carrots, sliced
|
||||||
|
- 3 cloves garlic, minced
|
||||||
|
- 1 bouquet garni (thyme, bay leaf, parsley)
|
||||||
|
- 8 ounces pearl onions, peeled
|
||||||
|
- 8 ounces mushrooms, quartered
|
||||||
|
- Salt and pepper to taste
|
||||||
|
- Fresh parsley for garnish
|
||||||
|
|
||||||
|
## Instructions
|
||||||
|
|
||||||
|
1. Preheat the oven to 325°F (160°C).
|
||||||
|
2. In a large Dutch oven, cook the **bacon** over medium heat until crispy. Optionally add a small bit of water while cooking to ensure a better crisp. Remove and set aside, leaving the fat in the pot.
|
||||||
|
3. Season the **beef** with **salt** and **pepper**, then dust with **flour**. In the same pot, brown the **beef** in batches until browned on all sides. Remove and set aside.
|
||||||
|
4. Add the **onion** and **carrots** to the pot, cooking until softened. Stir in the **garlic** and cook for an additional minute.
|
||||||
|
5. Return the **beef** and **bacon** to the pot. Add the **red wine**, **beef stock**, and **brandy**. Add the **bouquet garni** and bring to a simmer.
|
||||||
|
6. Cover the pot and transfer to the oven. Cook for 2 to 3 hours, or until the **beef** is tender.
|
||||||
|
7. In the last 30 minutes of cooking, add the **pearl onions** and **mushrooms**.
|
||||||
|
8. Once cooked, remove from the oven, discard the **bouquet garni**, and adjust seasoning with **salt** and **pepper**.
|
||||||
|
9. Serve hot, garnished with **fresh parsley**.
|
||||||
|
Serve with crusty bread or over mashed potatoes for a hearty meal.
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
### Wine Selection
|
||||||
|
- Use a good quality red wine for the best flavor. Burgundy is traditional, but any full-bodied red will work.
|
||||||
|
|
||||||
|
### Serving Suggestions
|
||||||
|
- Serve with crusty bread or over mashed potatoes for a hearty meal.
|
||||||
|
|
||||||
|
## References
|
||||||
|
|
||||||
|
- [Beef Bourguignon](https://cafedelites.com/beef-bourguignon/)
|
||||||
77
public/recipes/meat/birria/birria.mdx
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
---
|
||||||
|
title: "Birria"
|
||||||
|
slug: "birria"
|
||||||
|
date: "2026-02-10"
|
||||||
|
lastUpdated: "2026-02-10"
|
||||||
|
category: "meat"
|
||||||
|
tags: ["meat"]
|
||||||
|
dietary: []
|
||||||
|
cookTime: 0
|
||||||
|
prepTime: 0
|
||||||
|
totalTime: 0
|
||||||
|
difficulty: "medium"
|
||||||
|
servings: 4
|
||||||
|
author: "pws"
|
||||||
|
description: "A rich and flavorful Mexican stew that can be enjoyed as a comforting dish or in delicious tacos."
|
||||||
|
featured: false
|
||||||
|
display: true
|
||||||
|
displayPhoto: ""
|
||||||
|
---
|
||||||
|
|
||||||
|
# Birria
|
||||||
|
|
||||||
|
A rich and flavorful Mexican stew that can be enjoyed as a comforting dish or in delicious tacos.
|
||||||
|
|
||||||
|
## Photos
|
||||||
|
|
||||||
|
A rich and flavorful Mexican stew that can be enjoyed as a comforting dish or in delicious tacos.
|
||||||
|
|
||||||
|
|
||||||
|
## Ingredients
|
||||||
|
|
||||||
|
### Meat Prep
|
||||||
|
- 4 to 5 pounds pork, cut into large chunks (Can substitute beef or lamb)
|
||||||
|
- ½ tablespoon kosher salt
|
||||||
|
- ½ tablespoon black pepper
|
||||||
|
- 1 ½ tablespoon olive oil
|
||||||
|
### Boiled Ingredients
|
||||||
|
- 12 guajillo chiles, rinsed, stemmed, and seeded
|
||||||
|
- 5 ancho chiles, rinsed, stemmed, and seeded
|
||||||
|
- 5 árbol chiles, rinsed and stemmed
|
||||||
|
- 2 large Roma tomatoes
|
||||||
|
- ½ medium yellow onion
|
||||||
|
- 1 4-inch Mexican cinnamon stick
|
||||||
|
- 3 bay leaves
|
||||||
|
- ½ teaspoon whole black peppercorns
|
||||||
|
### Sauce Ingredients
|
||||||
|
- 2 cups beef broth
|
||||||
|
- ¼ cup distilled white vinegar
|
||||||
|
- 5 cloves garlic
|
||||||
|
- 1 teaspoon ground cumin
|
||||||
|
- 1 teaspoon dried Mexican oregano
|
||||||
|
- ½ teaspoon ground cloves
|
||||||
|
|
||||||
|
## Instructions
|
||||||
|
|
||||||
|
1. Season the meat with **salt** and **pepper**. Heat **olive oil** in a large pot over medium-high heat and sear the meat on all sides until browned.
|
||||||
|
2. In a separate pot, combine **guajillo**, **ancho**, and **árbol chiles**, **tomatoes**, **onion**, **cinnamon stick**, **bay leaves**, and **peppercorns**. Cover with water and boil for 10 minutes.
|
||||||
|
3. Transfer the softened ingredients to a blender, add 1 cup of the cooking water, **beef broth**, **vinegar**, **garlic**, **cumin**, **oregano**, and **cloves**. Blend until smooth.
|
||||||
|
4. Strain the blended sauce into the pot with the seared meat. Stir to combine and bring to a boil. Reduce heat, cover, and simmer for 3-3.5 hours until the meat is tender.
|
||||||
|
5. Shred the meat and store in a new container. Add consumé to the meat as needed to keep moist. Save the remaining consumé for another batch or for making tacos.
|
||||||
|
Straining after blending is important for a smooth texture in the consumé. However, leaving it lightly chunky is not a bad thing.
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
### Ingredient Sourcing
|
||||||
|
- My local produce store carries bags of dried chilies - whole dried are the best.
|
||||||
|
Purchasing online is a decent alternative for high quality chilies.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Also, finding a decently fatty chuck roast is key for a quality consumé.
|
||||||
|
|
||||||
|
### For the best Consumé
|
||||||
|
- Straining after blending is important for a smooth texture in the consumé. However, leaving it lightly chunky is not a bad thing.
|
||||||
|
|
||||||
|
## References
|
||||||
|
|
||||||
|
- [Authentic Birria Recipe](https://www.isabeleats.com/authentic-birria/)
|
||||||
|
After Width: | Height: | Size: 1.4 MiB |
@ -0,0 +1,71 @@
|
|||||||
|
---
|
||||||
|
title: "Garlic Herb Butter Roast Turkey"
|
||||||
|
slug: "garlic-herb-butter-roast-turkey"
|
||||||
|
date: "2026-02-10"
|
||||||
|
lastUpdated: "2026-02-10"
|
||||||
|
category: "meat"
|
||||||
|
tags: ["meat"]
|
||||||
|
dietary: []
|
||||||
|
cookTime: 0
|
||||||
|
prepTime: 0
|
||||||
|
totalTime: 0
|
||||||
|
difficulty: "medium"
|
||||||
|
servings: 4
|
||||||
|
author: "pws"
|
||||||
|
description: "Happy Thanksgiving!"
|
||||||
|
featured: false
|
||||||
|
display: true
|
||||||
|
displayPhoto: "./assets/garlic-herb-butter-roast-turkey.png"
|
||||||
|
---
|
||||||
|
|
||||||
|
# Garlic Herb Butter Roast Turkey
|
||||||
|
|
||||||
|
Happy Thanksgiving!
|
||||||
|
|
||||||
|
## Photos
|
||||||
|
|
||||||
|

|
||||||
|
*Happy Thanksgiving!*
|
||||||
|
|
||||||
|
## Ingredients
|
||||||
|
|
||||||
|
### Herb Butter
|
||||||
|
- 4 ounces unsalted butter
|
||||||
|
- 1 teaspoon chopped fresh thyme leaves
|
||||||
|
- 4 teaspoons minced garlic
|
||||||
|
- Kosher salt and freshly ground pepper
|
||||||
|
### Turkey
|
||||||
|
- 12 pound whole turkey, skin on
|
||||||
|
- 3 heads garlic cut in half horizontally divided
|
||||||
|
- 3 slices lemon
|
||||||
|
- 6 sprigs thyme
|
||||||
|
- 6 sprigs rosemary
|
||||||
|
- 1/2 cup olive oil
|
||||||
|
|
||||||
|
## Instructions
|
||||||
|
|
||||||
|
1. Preheat oven to 425°F. Lower oven shelf to the lowest part of your oven.
|
||||||
|
2. Combine the **Herb Butter ingredients** in a bowl and mix well. Reserve half of the herb butter in the refrigerator for later.
|
||||||
|
3. Line a large roasting pan with foil or parchment paper. Arrange the 4 halves of **garlic** cut-side down on the bottom of the pan with 4 sprigs each of **thyme** and **rosemary**, half of the **olive oil** and 1 slice of **lemon**.
|
||||||
|
4. Thoroughly pat turkey dry with paper towels. Stuff with the remaining heads **garlic halves**, **lemon slice**, a squeeze of lemon from remaining slice, **herbs** and a drizzle of **olive oil**.
|
||||||
|
5. Melt the **butter** and rub all over the turkey, including under the skin. Season generously all over with **salt** and **pepper**. Place turkey on top of the garlic and herbs in the pan BREAST-SIDE DOWN. Drizzle with the remaining **oil**.
|
||||||
|
6. Roast uncovered for 30 minutes for a small turkey under 13 pounds (6 1/2 kg), or 45 minutes for a larger turkey over 14 pounds (7 kg plus).
|
||||||
|
7. Turn turkey over (breast-side up) with a pair of tongs, a clean tea towel or oven mitts and baste with pan juices.
|
||||||
|
8. Spread half of the reserved **herb butter** over the top of your turkey with a spoon or brush. Pour any remaining juices over your turkey.
|
||||||
|
9. Reduce heat to 325°F. Roast, uncovered, for an hour.
|
||||||
|
10. Slather turkey generously with remaining **butter** and roast for 30 minutes. Baste again, then continue roasting for a further 30 minutes or so, depending on the size of your bird. Tent loosely with foil if starting to brown too fast. For an extra large turkey, you may need an additional half hour to an hour.
|
||||||
|
11. For extra crispy skin, broil or grill in the last 5-10 minutes, keeping your eye on it so it doesn't burn, until the skin is crispy and golden browned all over.
|
||||||
|
12. Tent turkey with foil and allow it to rest for 20-30 minutes before carving and serving.
|
||||||
|
13. Remove 2 1/2 cups of the liquid from the **pan juices** (top up with stock if you need too), strain and reserve for your gravy (see below).
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
### Scaling!
|
||||||
|
- The recipe suggests using a 12 lb turkey, I have tried it with a 16 lb turkey with slightly scaled up measurements.
|
||||||
|
|
||||||
|
### Keep it Together
|
||||||
|
- It's hard to get perfect cuts on the garlic. I found success by lightly sawing with a sharpened knife. When squeezing the garlic out try not to burn yourself.
|
||||||
|
|
||||||
|
## References
|
||||||
|
|
||||||
|
- https://cafedelites.com/roast-turkey/
|
||||||
|
After Width: | Height: | Size: 1.2 MiB |
@ -0,0 +1,54 @@
|
|||||||
|
---
|
||||||
|
title: "Grilled Lemon Pepper Salmon"
|
||||||
|
slug: "grilled-lemon-pepper-salmon"
|
||||||
|
date: "2026-02-10"
|
||||||
|
lastUpdated: "2026-02-10"
|
||||||
|
category: "meat"
|
||||||
|
tags: ["meat"]
|
||||||
|
dietary: []
|
||||||
|
cookTime: 0
|
||||||
|
prepTime: 0
|
||||||
|
totalTime: 0
|
||||||
|
difficulty: "medium"
|
||||||
|
servings: 4
|
||||||
|
author: "pws"
|
||||||
|
description: "Super simple! This recipe entry is more or less just a formality."
|
||||||
|
featured: false
|
||||||
|
display: true
|
||||||
|
displayPhoto: "./assets/grilled-lemon-pepper-salmon.png"
|
||||||
|
---
|
||||||
|
|
||||||
|
# Grilled Lemon Pepper Salmon
|
||||||
|
|
||||||
|
Super simple! This recipe entry is more or less just a formality.
|
||||||
|
|
||||||
|
## Photos
|
||||||
|
|
||||||
|

|
||||||
|
*Super simple! This recipe entry is more or less just a formality.*
|
||||||
|
|
||||||
|
## Ingredients
|
||||||
|
|
||||||
|
- 1 Salmon fillet
|
||||||
|
- 2 tbsp mayonnaise
|
||||||
|
- 1 tbsp lemon pepper seasoning (to taste)
|
||||||
|
- Freshly ground pepper (to taste)
|
||||||
|
- 1 lemon (to taste)
|
||||||
|
|
||||||
|
## Instructions
|
||||||
|
|
||||||
|
1. Find a metal grill tray, or grill basket.
|
||||||
|
2. Place salmon skin-side down in the grill tray/basket.
|
||||||
|
3. Mix **mayonnaise** and **lemon pepper seasoning** in a bowl to taste.
|
||||||
|
4. Spread the **mayo mixture** over the salmon fillets in the grill tray/basket.
|
||||||
|
5. On a grill preheated to 400/500F, grill salmon checking frequently until internal temperature reads 145F on an instant read thermometer. Alternatively, check the thickest portion of the fillet with a fork. If flaky, salmon is done.
|
||||||
|
6. Serve with rice, and top with pepper and the juice of a lemon for best results.
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
### More Lemon Pepper
|
||||||
|
- Use a good amount of lemon pepper, but be careful of making it too lemony. Extra pepper is usually fine.
|
||||||
|
|
||||||
|
## References
|
||||||
|
|
||||||
|
- Idk talk to my mom...
|
||||||
|
After Width: | Height: | Size: 1.2 MiB |
@ -0,0 +1,60 @@
|
|||||||
|
---
|
||||||
|
title: "Jamaican Jerk Chicken"
|
||||||
|
slug: "jamaican-jerk-chicken"
|
||||||
|
date: "2026-02-10"
|
||||||
|
lastUpdated: "2026-02-10"
|
||||||
|
category: "meat"
|
||||||
|
tags: ["meat"]
|
||||||
|
dietary: []
|
||||||
|
cookTime: 0
|
||||||
|
prepTime: 0
|
||||||
|
totalTime: 0
|
||||||
|
difficulty: "medium"
|
||||||
|
servings: 4
|
||||||
|
author: "pws"
|
||||||
|
description: "Great chicken on a recommendation from a friend!"
|
||||||
|
featured: false
|
||||||
|
display: true
|
||||||
|
displayPhoto: "./assets/jerk-chicken.png"
|
||||||
|
---
|
||||||
|
|
||||||
|
# Jamaican Jerk Chicken
|
||||||
|
|
||||||
|
Great chicken on a recommendation from a friend!
|
||||||
|
|
||||||
|
## Photos
|
||||||
|
|
||||||
|

|
||||||
|
*Great chicken on a recommendation from a friend!*
|
||||||
|
|
||||||
|
## Ingredients
|
||||||
|
|
||||||
|
- 1 medium onion, coarsely chopped
|
||||||
|
- 3 medium scallions, chopped
|
||||||
|
- 2 Scotch bonnet chiles, chopped
|
||||||
|
- 2 garlic cloves, chopped
|
||||||
|
- 1 tablespoon five-spice powder
|
||||||
|
- 1 tablespoon allspice berries, coarsely ground
|
||||||
|
- 1 tablespoon coarsely ground black pepper
|
||||||
|
- 1 teaspoon dried thyme, crumbled
|
||||||
|
- 1 teaspoon freshly grated nutmeg
|
||||||
|
- 1 teaspoon kosher salt
|
||||||
|
- 1/2 cup soy sauce
|
||||||
|
- 1 tablespoon vegetable oil
|
||||||
|
- 2 (3 1/2 to 4-pound) chickens, quartered
|
||||||
|
|
||||||
|
## Instructions
|
||||||
|
|
||||||
|
1. In a food processor, combine the **onion**, **scallions**, **chiles**, **garlic**, **five-spice powder**, **allspice**, **pepper**, **thyme**, **nutmeg**, and **salt**; process to a coarse paste.
|
||||||
|
2. With the machine on, add the **soy sauce** and **oil** in a steady stream.
|
||||||
|
3. Pour the marinade into a large, shallow dish, add the **chicken**, and turn to coat.
|
||||||
|
4. Cover and refrigerate overnight. Bring the chicken to room temperature before proceeding.
|
||||||
|
5. Light a grill and bring to medium.
|
||||||
|
6. Grill the chicken over a medium-hot fire, turning occasionally, until well browned and cooked through, 35 to 40 minutes or 165 internal temp. Cover the grill for a smokier flavor.
|
||||||
|
7. Transfer the chicken to a platter and serve.
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
## References
|
||||||
|
|
||||||
|
- https://www.foodandwine.com/recipes/jamaican-jerk-chicken
|
||||||
BIN
public/recipes/meat/ribs-instant-pot/assets/ribs.png
Normal file
|
After Width: | Height: | Size: 1.3 MiB |
68
public/recipes/meat/ribs-instant-pot/ribs-instant-pot.mdx
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
---
|
||||||
|
title: "Instant Pot Ribs"
|
||||||
|
slug: "ribs-instant-pot"
|
||||||
|
date: "2026-02-10"
|
||||||
|
lastUpdated: "2026-02-10"
|
||||||
|
category: "meat"
|
||||||
|
tags: ["meat"]
|
||||||
|
dietary: []
|
||||||
|
cookTime: 0
|
||||||
|
prepTime: 0
|
||||||
|
totalTime: 0
|
||||||
|
difficulty: "medium"
|
||||||
|
servings: 4
|
||||||
|
author: "pws"
|
||||||
|
description: "Juicy and smoky slow-cooked ribs for your grill to bless you with."
|
||||||
|
featured: false
|
||||||
|
display: true
|
||||||
|
displayPhoto: "./assets/ribs.png"
|
||||||
|
---
|
||||||
|
|
||||||
|
# Instant Pot Ribs
|
||||||
|
|
||||||
|
Juicy and smoky slow-cooked ribs for your grill to bless you with.
|
||||||
|
|
||||||
|
## Photos
|
||||||
|
|
||||||
|

|
||||||
|
*Juicy and smoky slow-cooked ribs for your grill to bless you with.*
|
||||||
|
|
||||||
|
## Ingredients
|
||||||
|
|
||||||
|
### Ribs
|
||||||
|
- 1 rack baby back ribs or spare ribs (about 1 1/2 to 2 pounds)
|
||||||
|
- 1 cup water
|
||||||
|
- 3 tablespoons apple cider vinegar
|
||||||
|
- 1/2 teaspoon liquid smoke
|
||||||
|
- 1/4 cup barbecue sauce, plus extra for serving
|
||||||
|
### Rub
|
||||||
|
- 2 tablespoons brown sugar
|
||||||
|
- 1 tablespoon paprika
|
||||||
|
- 1 teaspoon ground black pepper
|
||||||
|
- 1 teaspoon kosher salt
|
||||||
|
- 1 teaspoon chili powder
|
||||||
|
- 1 teaspoon garlic powder
|
||||||
|
- 1 teaspoon onion powder
|
||||||
|
- 1/4 teaspoon cayenne pepper
|
||||||
|
|
||||||
|
## Instructions
|
||||||
|
|
||||||
|
1. Rinse the ribs and pat them dry. If your ribs still have the thin, shiny membrane on the back, remove it.
|
||||||
|
2. In a small bowl, stir together the **brown sugar**, **paprika**, **black pepper**, **salt**, **chili powder**, **garlic powder**, **onion powder**, and **cayenne**.
|
||||||
|
3. Rub it all over the ribs, generously coating all of the sides.
|
||||||
|
4. Place the trivet in the Instant Pot. Pour in the **water**, **apple cider vinegar**, and **liquid smoke**.
|
||||||
|
5. Place the ribs inside the pot, standing them on the trivet on their side and wrapping the rack around the inside of the pot like a circle.
|
||||||
|
6. Cover and seal the Instant Pot. Cook on high pressure for 23 minutes (baby back ribs) or 35 minutes (spare ribs).
|
||||||
|
7. While starting step 8, place a rack in the upper third of the oven and set it to broil.
|
||||||
|
8. After the ribs finish, allow the pressure to release naturally for 5 minutes, then vent to release all of the remaining pressure.
|
||||||
|
9. Line a large baking sheet with aluminum foil. Transfer the cooked ribs to the foil, then brush liberally with **barbecue sauce**.
|
||||||
|
10. Place under the broiler just until the sauce begins to caramelize, about 2 minutes.
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
### Homemade is Best
|
||||||
|
- Always worth it to make your own barbecue sauce & rub!
|
||||||
|
|
||||||
|
## References
|
||||||
|
|
||||||
|
- https://www.wellplated.com/instant-pot-ribs/
|
||||||
BIN
public/recipes/meat/turkey-gravy/assets/turkey-gravy.png
Normal file
|
After Width: | Height: | Size: 1.1 MiB |
51
public/recipes/meat/turkey-gravy/turkey-gravy.mdx
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
---
|
||||||
|
title: "Turkey Gravy"
|
||||||
|
slug: "turkey-gravy"
|
||||||
|
date: "2026-02-10"
|
||||||
|
lastUpdated: "2026-02-10"
|
||||||
|
category: "meat"
|
||||||
|
tags: ["meat"]
|
||||||
|
dietary: []
|
||||||
|
cookTime: 0
|
||||||
|
prepTime: 0
|
||||||
|
totalTime: 0
|
||||||
|
difficulty: "medium"
|
||||||
|
servings: 4
|
||||||
|
author: "pws"
|
||||||
|
description: "A great gravy recipe for Thanksgiving dinner!"
|
||||||
|
featured: false
|
||||||
|
display: true
|
||||||
|
displayPhoto: "./assets/turkey-gravy.png"
|
||||||
|
---
|
||||||
|
|
||||||
|
# Turkey Gravy
|
||||||
|
|
||||||
|
A great gravy recipe for Thanksgiving dinner!
|
||||||
|
|
||||||
|
## Photos
|
||||||
|
|
||||||
|

|
||||||
|
*A great gravy recipe for Thanksgiving dinner!*
|
||||||
|
|
||||||
|
## Ingredients
|
||||||
|
|
||||||
|
- 2 1/4 - 2 1/2 cups pan juices (top up with chicken stock if needed)
|
||||||
|
- 1/4 cup butter
|
||||||
|
- 1/4 cup flour
|
||||||
|
- 1 teaspoon worcestershire sauce
|
||||||
|
- Kosher salt and freshly ground pepper (if needed)
|
||||||
|
|
||||||
|
## Instructions
|
||||||
|
|
||||||
|
1. Melt the **butter** in a small pot over low-medium heat. Whisk in the **flour** and allow to cook for about a minute or two, while whisking.
|
||||||
|
2. Pour in 1/2 cup of the **pan juices** and whisk until it forms a paste. Add remaining liquid in 1/2 cup increments, whisking in between, until the gravy is smooth.
|
||||||
|
3. Allow to simmer over medium heat until thickened. Take off heat, stir in **worcestershire sauce** and season with **salt** and **pepper** (if needed). The gravy will continue to thicken as it cools.
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
### Use it All
|
||||||
|
- Make sure to scoop up both drippings and fat when gathering the pan juices. All are important!
|
||||||
|
|
||||||
|
## References
|
||||||
|
|
||||||
|
- https://cafedelites.com/turkey-gravy/
|
||||||
61
public/recipes/mexican/elote/elote.mdx
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
---
|
||||||
|
title: "Elote (Mexican Street Corn)"
|
||||||
|
slug: "elote"
|
||||||
|
date: "2026-02-10"
|
||||||
|
lastUpdated: "2026-02-10"
|
||||||
|
category: "mexican"
|
||||||
|
tags: ["mexican"]
|
||||||
|
dietary: []
|
||||||
|
cookTime: 0
|
||||||
|
prepTime: 0
|
||||||
|
totalTime: 0
|
||||||
|
difficulty: "medium"
|
||||||
|
servings: 4
|
||||||
|
author: "pws"
|
||||||
|
description: "Classic Mexican street corn featuring grilled corn on the cob slathered in a tangy, creamy sauce and topped with cotija cheese, chili powder, and cilantro."
|
||||||
|
featured: false
|
||||||
|
display: true
|
||||||
|
displayPhoto: ""
|
||||||
|
---
|
||||||
|
|
||||||
|
# Elote (Mexican Street Corn)
|
||||||
|
|
||||||
|
Classic Mexican street corn featuring grilled corn on the cob slathered in a tangy, creamy sauce and topped with cotija cheese, chili powder, and cilantro.
|
||||||
|
|
||||||
|
## Photos
|
||||||
|
|
||||||
|
Classic Mexican street corn featuring grilled corn on the cob slathered in a tangy, creamy sauce and topped with cotija cheese, chili powder, and cilantro.
|
||||||
|
|
||||||
|
|
||||||
|
## Ingredients
|
||||||
|
|
||||||
|
- 6-8 medium ears of corn, husks removed
|
||||||
|
- 1/2 cup mayonnaise
|
||||||
|
- 1/2 cup Mexican crema or sour cream
|
||||||
|
- 1/2 cup finely crumbled cotija cheese, plus more for serving
|
||||||
|
- 1/4 cup minced fresh cilantro
|
||||||
|
- 1 medium clove garlic, minced
|
||||||
|
- 1/2 teaspoon chili powder (ancho or guajillo recommended), plus more for serving
|
||||||
|
- 1 lime, cut into wedges
|
||||||
|
|
||||||
|
## Instructions
|
||||||
|
|
||||||
|
1. Preheat a grill to medium-high heat.
|
||||||
|
2. While the grill heats, prepare the sauce. In a medium bowl, combine the **mayonnaise**, **crema** (or sour cream), 1/2 cup of **cotija cheese**, minced **cilantro**, **garlic**, and 1/2 teaspoon of **chili powder**. Mix well until combined.
|
||||||
|
3. Grill the **corn**, turning occasionally, until it's cooked through and charred in spots, which should take about 10 minutes.
|
||||||
|
4. Once the corn is grilled, immediately brush a generous layer of the creamy sauce mixture onto all sides of each cob.
|
||||||
|
5. Sprinkle the coated corn with additional **cotija cheese** and a dusting of **chili powder**.
|
||||||
|
6. Serve immediately with **lime** wedges for squeezing over the corn just before eating.
|
||||||
|
You can achieve a similar result by broiling the corn in your oven or carefully charring it over a gas stove flame. Be sure to turn it frequently for even cooking and char.
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
### Cheese Selection
|
||||||
|
- Cotija is a salty, crumbly Mexican cheese. If you can't find it, a dry feta or even grated Parmesan can be used as a substitute, though the flavor will be slightly different.
|
||||||
|
|
||||||
|
### No Grill? No Problem!
|
||||||
|
- You can achieve a similar result by broiling the corn in your oven or carefully charring it over a gas stove flame. Be sure to turn it frequently for even cooking and char.
|
||||||
|
|
||||||
|
## References
|
||||||
|
|
||||||
|
- [Mexican Street Corn (Elotes) Recipe](https://www.seriouseats.com/mexican-street-corn-elotes-recipe)
|
||||||
61
public/recipes/mexican/horchata/horchata.mdx
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
---
|
||||||
|
title: "Horchata"
|
||||||
|
slug: "horchata"
|
||||||
|
date: "2026-02-10"
|
||||||
|
lastUpdated: "2026-02-10"
|
||||||
|
category: "mexican"
|
||||||
|
tags: ["mexican"]
|
||||||
|
dietary: []
|
||||||
|
cookTime: 0
|
||||||
|
prepTime: 0
|
||||||
|
totalTime: 0
|
||||||
|
difficulty: "medium"
|
||||||
|
servings: 4
|
||||||
|
author: "pws"
|
||||||
|
description: "A cool, creamy, and spicy Agua Fresca that’s perfect over ice."
|
||||||
|
featured: false
|
||||||
|
display: true
|
||||||
|
displayPhoto: ""
|
||||||
|
---
|
||||||
|
|
||||||
|
# Horchata
|
||||||
|
|
||||||
|
A cool, creamy, and spicy Agua Fresca that’s perfect over ice.
|
||||||
|
|
||||||
|
## Photos
|
||||||
|
|
||||||
|
A cool, creamy, and spicy Agua Fresca that’s perfect over ice.
|
||||||
|
|
||||||
|
|
||||||
|
## Ingredients
|
||||||
|
|
||||||
|
- 1 cup uncooked white rice
|
||||||
|
- 2 cinnamon sticks
|
||||||
|
- 12 oz can evaporated milk
|
||||||
|
- 12 oz can sweetened condensed milk
|
||||||
|
- 8 cups warm water, divided
|
||||||
|
- Sugar to taste
|
||||||
|
- Ground cinnamon, for garnish (optional)
|
||||||
|
- 1/2 teaspoon vanilla extract (optional)
|
||||||
|
|
||||||
|
## Instructions
|
||||||
|
|
||||||
|
1. Rinse the **rice** under cold water. In a bowl, combine **rice**, **cinnamon sticks**, and 4 cups of **warm water**. Cover and refrigerate at least 4 hours or overnight.
|
||||||
|
2. Remove most of the **cinnamon sticks**, leaving a few small pieces.
|
||||||
|
3. Blend the soaked mixture in two batches until very smooth, about 3–4 minutes per batch.
|
||||||
|
4. Pour through a fine‑mesh strainer or cheesecloth into a pitcher, pressing on the solids to extract as much liquid as possible. Repeat with the remaining batch.
|
||||||
|
5. Stir in the **evaporated milk**, **sweetened condensed milk**, **vanilla** (if using), and the remaining 4 cups **water**. Adjust sweetness with **sugar** to taste.
|
||||||
|
6. Chill thoroughly, then stir and serve over ice. Garnish with **ground cinnamon**, if desired.
|
||||||
|
Heed the instructions and blend in batches. Water easily escapes from the blender or food processor and this stuff gets everywhere.
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
### Soaking
|
||||||
|
- It is worth the time to soak the cinnamon and rice, helping you pull out more flavor and end with a product that is less lightly flavored water and more of a thicker drink.
|
||||||
|
|
||||||
|
### Blending
|
||||||
|
- Heed the instructions and blend in batches. Water easily escapes from the blender or food processor and this stuff gets everywhere.
|
||||||
|
|
||||||
|
## References
|
||||||
|
|
||||||
|
- [Traditional Mexican Horchata](https://www.muydelish.com/traditional-mexican-horchata/)
|
||||||
61
public/recipes/mexican/spanish-rice/spanish-rice.mdx
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
---
|
||||||
|
title: "Mexican Rice"
|
||||||
|
slug: "spanish-rice"
|
||||||
|
date: "2026-02-10"
|
||||||
|
lastUpdated: "2026-02-10"
|
||||||
|
category: "mexican"
|
||||||
|
tags: ["mexican"]
|
||||||
|
dietary: []
|
||||||
|
cookTime: 0
|
||||||
|
prepTime: 0
|
||||||
|
totalTime: 0
|
||||||
|
difficulty: "medium"
|
||||||
|
servings: 4
|
||||||
|
author: "pws"
|
||||||
|
description: "A classic, fluffy, and flavorful restaurant-style Mexican rice, simmered with tomato sauce and spices. The perfect side dish for any Mexican meal."
|
||||||
|
featured: false
|
||||||
|
display: true
|
||||||
|
displayPhoto: ""
|
||||||
|
---
|
||||||
|
|
||||||
|
# Mexican Rice
|
||||||
|
|
||||||
|
A classic, fluffy, and flavorful restaurant-style Mexican rice, simmered with tomato sauce and spices. The perfect side dish for any Mexican meal.
|
||||||
|
|
||||||
|
## Photos
|
||||||
|
|
||||||
|
A classic, fluffy, and flavorful restaurant-style Mexican rice, simmered with tomato sauce and spices. The perfect side dish for any Mexican meal.
|
||||||
|
|
||||||
|
|
||||||
|
## Ingredients
|
||||||
|
|
||||||
|
- 2 tablespoons vegetable oil
|
||||||
|
- 1 cup uncooked long-grain white rice
|
||||||
|
- 1 (8 ounce) can tomato sauce
|
||||||
|
- 2 cups chicken broth
|
||||||
|
- 1 teaspoon salt
|
||||||
|
- 1/2 teaspoon ground cumin
|
||||||
|
- 1/4 teaspoon garlic powder
|
||||||
|
- 1/4 teaspoon chili powder
|
||||||
|
|
||||||
|
## Instructions
|
||||||
|
|
||||||
|
1. Heat the **vegetable oil** in a large saucepan or skillet with a lid over medium heat.
|
||||||
|
2. Add the **rice** and cook, stirring constantly, until the grains are lightly golden brown. This toasting step is key for flavor and texture.
|
||||||
|
3. Carefully stir in the **tomato sauce**, **chicken broth**, **salt**, **cumin**, **garlic powder**, and **chili powder**.
|
||||||
|
4. Bring the mixture to a boil. Once boiling, reduce the heat to low, cover the saucepan tightly, and let it simmer.
|
||||||
|
5. Cook for 20 to 25 minutes, or until the rice is tender and all the liquid has been absorbed. Avoid lifting the lid while it simmers.
|
||||||
|
6. Fluff the rice with a fork before serving.
|
||||||
|
This rice is the perfect accompaniment to tacos, burritos, enchiladas, or any grilled meat. Garnish with fresh cilantro for extra flavor and color.
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
### Vegetarian Option
|
||||||
|
- For a vegetarian version, simply substitute the chicken broth with vegetable broth. The result will be just as delicious.
|
||||||
|
|
||||||
|
### Serving Suggestion
|
||||||
|
- This rice is the perfect accompaniment to tacos, burritos, enchiladas, or any grilled meat. Garnish with fresh cilantro for extra flavor and color.
|
||||||
|
|
||||||
|
## References
|
||||||
|
|
||||||
|
- [Mexican Rice II](https://www.allrecipes.com/recipe/27072/mexican-rice-ii/)
|
||||||
BIN
public/recipes/pizza/pizza-dough/assets/pizza-dough.png
Normal file
|
After Width: | Height: | Size: 1.3 MiB |
56
public/recipes/pizza/pizza-dough/pizza-dough.mdx
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
---
|
||||||
|
title: "Pizza Dough"
|
||||||
|
slug: "pizza-dough"
|
||||||
|
date: "2026-02-10"
|
||||||
|
lastUpdated: "2026-02-10"
|
||||||
|
category: "pizza"
|
||||||
|
tags: ["pizza"]
|
||||||
|
dietary: []
|
||||||
|
cookTime: 0
|
||||||
|
prepTime: 0
|
||||||
|
totalTime: 0
|
||||||
|
difficulty: "medium"
|
||||||
|
servings: 4
|
||||||
|
author: "pws"
|
||||||
|
description: "A standard pizza dough for pizza night."
|
||||||
|
featured: false
|
||||||
|
display: true
|
||||||
|
displayPhoto: "./assets/pizza-dough.png"
|
||||||
|
---
|
||||||
|
|
||||||
|
# Pizza Dough
|
||||||
|
|
||||||
|
A standard pizza dough for pizza night.
|
||||||
|
|
||||||
|
## Photos
|
||||||
|
|
||||||
|

|
||||||
|
*A standard pizza dough for pizza night.*
|
||||||
|
|
||||||
|
## Ingredients
|
||||||
|
|
||||||
|
- 1 cup warm water (temperature depends on type of yeast, usually 100-110 degrees Fahrenheit)
|
||||||
|
- 2 ¼ teaspoons dry active yeast (1 normal sized packet)
|
||||||
|
- ½ teaspoon granulated sugar
|
||||||
|
- 1 teaspoon salt
|
||||||
|
- 3 tablespoons olive oil
|
||||||
|
- 3 cups all-purpose flour (approximate)
|
||||||
|
|
||||||
|
## Instructions
|
||||||
|
|
||||||
|
1. Measure **warm water** (between 100°-110°F) in a measuring cup, then add the **yeast** and **sugar**. Stir gently, then let sit around 5 minutes until it’s active and foamy. This will happen within 5 minutes. Use a thermometer to measure water temp.
|
||||||
|
2. Stir **salt**, **oil**, and 2 cups **flour** in a large mixing bowl, stirring in the yeast mixture as you go, using a wooden spoon.
|
||||||
|
3. Add the third cup of **flour** and then stir until you can’t anymore. Remove the spoon and then use your hands to work the dough into a ball that is slightly sticky.
|
||||||
|
4. Spray a second large bowl with nonstick cooking spray, add your pizza dough ball, then spray the top lightly with cooking spray and cover tightly with plastic wrap. Place in a warm area of the kitchen and let rise until doubled in size, about 1-2 hours.
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
### Family Sized
|
||||||
|
- Recipe makes about 4 medium sized pizza doughs. Each would cover most of a pizza spatula as a thinner crust.
|
||||||
|
|
||||||
|
### Yeast Quality
|
||||||
|
- Good yeast is the secret here. From a packet is better than keeping bulk usually. Either way, the more bubbles the better.
|
||||||
|
|
||||||
|
## References
|
||||||
|
|
||||||
|
- https://www.crazyforcrust.com/the-ultimate-pizza-crust-recipe/
|
||||||
BIN
public/recipes/pizza/pizza-sauce/assets/pizza-sauce.png
Normal file
|
After Width: | Height: | Size: 1.2 MiB |
58
public/recipes/pizza/pizza-sauce/pizza-sauce.mdx
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
---
|
||||||
|
title: "Pizza Sauce"
|
||||||
|
slug: "pizza-sauce"
|
||||||
|
date: "2026-02-10"
|
||||||
|
lastUpdated: "2026-02-10"
|
||||||
|
category: "pizza"
|
||||||
|
tags: ["pizza"]
|
||||||
|
dietary: []
|
||||||
|
cookTime: 0
|
||||||
|
prepTime: 0
|
||||||
|
totalTime: 0
|
||||||
|
difficulty: "medium"
|
||||||
|
servings: 4
|
||||||
|
author: "pws"
|
||||||
|
description: "A standard pizza sauce for pizza night."
|
||||||
|
featured: false
|
||||||
|
display: true
|
||||||
|
displayPhoto: "./assets/pizza-sauce.png"
|
||||||
|
---
|
||||||
|
|
||||||
|
# Pizza Sauce
|
||||||
|
|
||||||
|
A standard pizza sauce for pizza night.
|
||||||
|
|
||||||
|
## Photos
|
||||||
|
|
||||||
|

|
||||||
|
*A standard pizza sauce for pizza night.*
|
||||||
|
|
||||||
|
## Ingredients
|
||||||
|
|
||||||
|
- 15 oz tomato sauce
|
||||||
|
- OR cut 6 oz tomato paste with water
|
||||||
|
- 1-2 tablespoons dried oregano to taste
|
||||||
|
- 2 tablespoons Italian seasoning
|
||||||
|
- ½ teaspoon garlic powder
|
||||||
|
- ½ teaspoon onion powder
|
||||||
|
- ½ tablespoon garlic salt
|
||||||
|
- ¼ teaspoon freshly ground black pepper
|
||||||
|
- 1 teaspoon sugar
|
||||||
|
|
||||||
|
## Instructions
|
||||||
|
|
||||||
|
1. Mix **tomato paste** and **sauce** together in a medium size bowl until smooth.
|
||||||
|
2. Add the rest of the ingredients – **oregano**, **Italian seasoning**, **garlic powder**, **onion powder**, **garlic salt**, **pepper** and **sugar** – and stir until evenly distributed throughout the sauce.
|
||||||
|
3. Taste and adjust seasonings to your liking.
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
### Low Sodium
|
||||||
|
- Avoid excess salt as this doesn't really need it.
|
||||||
|
|
||||||
|
### Keep it Sweet
|
||||||
|
- If you're adding meat a sweet sauce usually breaks up all the salt you'll be adding.
|
||||||
|
|
||||||
|
## References
|
||||||
|
|
||||||
|
- https://joyfoodsunshine.com/easy-homemade-pizza-sauce-recipe/
|
||||||
|
After Width: | Height: | Size: 1.5 MiB |
@ -0,0 +1,57 @@
|
|||||||
|
---
|
||||||
|
title: "Caesar Salad Dressing"
|
||||||
|
slug: "caesar-salad-dressing"
|
||||||
|
date: "2026-02-10"
|
||||||
|
lastUpdated: "2026-02-10"
|
||||||
|
category: "salad"
|
||||||
|
tags: ["salad"]
|
||||||
|
dietary: []
|
||||||
|
cookTime: 0
|
||||||
|
prepTime: 0
|
||||||
|
totalTime: 0
|
||||||
|
difficulty: "medium"
|
||||||
|
servings: 4
|
||||||
|
author: "pws"
|
||||||
|
description: "A good Caesar salad dressing goes a long way, and making it yourself saves some money."
|
||||||
|
featured: false
|
||||||
|
display: true
|
||||||
|
displayPhoto: "./assets/caesar-salad-dressing.png"
|
||||||
|
---
|
||||||
|
|
||||||
|
# Caesar Salad Dressing
|
||||||
|
|
||||||
|
A good Caesar salad dressing goes a long way, and making it yourself saves some money.
|
||||||
|
|
||||||
|
## Photos
|
||||||
|
|
||||||
|

|
||||||
|
*A good Caesar salad dressing goes a long way, and making it yourself saves some money.*
|
||||||
|
|
||||||
|
## Ingredients
|
||||||
|
|
||||||
|
- 2 small garlic cloves, minced
|
||||||
|
- 1 tsp anchovy paste or 2 fillets
|
||||||
|
- 1 tsp dijon mustard
|
||||||
|
- 1 tsp worcestershire sauce
|
||||||
|
- 1 cup mayonnaise (use less for a thinner dressing)
|
||||||
|
- 1/2 cup parmigiano-reggiano
|
||||||
|
- 1/4 tsp salt
|
||||||
|
- 1/4 tsp freshly ground black pepper
|
||||||
|
|
||||||
|
## Instructions
|
||||||
|
|
||||||
|
1. In a medium bowl, whisk together the **garlic**, **anchovies**, **lemon juice**, **dijon mustard**, and **worcestershire sauce**.
|
||||||
|
2. Add the **mayonnaise**, **parmigiano-reggiano**, **salt**, and **pepper**, and whisk until well combined.
|
||||||
|
3. Taste and adjust to your liking.
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
### Anchovy Prep
|
||||||
|
- If using anchovy fillets, it's a good idea to smear them into a paste using the side of a knife to break down any bones.
|
||||||
|
|
||||||
|
### Healthier Tastes Better
|
||||||
|
- Using less mayonnaise makes for a thinner dressing, and in my opinion less mayo flavor is better.
|
||||||
|
|
||||||
|
## References
|
||||||
|
|
||||||
|
- https://www.onceuponachef.com/recipes/caesar-salad-dressing.html
|
||||||
61
public/recipes/sides/cauliflower-mash/cauliflower-mash.mdx
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
---
|
||||||
|
title: "Cauliflower Mash"
|
||||||
|
slug: "cauliflower-mash"
|
||||||
|
date: "2026-02-10"
|
||||||
|
lastUpdated: "2026-02-10"
|
||||||
|
category: "sides"
|
||||||
|
tags: ["sides"]
|
||||||
|
dietary: []
|
||||||
|
cookTime: 0
|
||||||
|
prepTime: 0
|
||||||
|
totalTime: 0
|
||||||
|
difficulty: "medium"
|
||||||
|
servings: 4
|
||||||
|
author: "pws"
|
||||||
|
description: "Silky mashed cauliflower that eats like mashed potatoes but healthier (?)."
|
||||||
|
featured: false
|
||||||
|
display: true
|
||||||
|
displayPhoto: ""
|
||||||
|
---
|
||||||
|
|
||||||
|
# Cauliflower Mash
|
||||||
|
|
||||||
|
Silky mashed cauliflower that eats like mashed potatoes but healthier (?).
|
||||||
|
|
||||||
|
## Photos
|
||||||
|
|
||||||
|
Silky mashed cauliflower that eats like mashed potatoes but healthier (?).
|
||||||
|
|
||||||
|
|
||||||
|
## Ingredients
|
||||||
|
|
||||||
|
- 1 large head cauliflower, cut into florets (about 2 to 2.5 lb)
|
||||||
|
- 2 tablespoons unsalted butter (or olive oil)
|
||||||
|
- 2 cloves garlic, minced (or 1 teaspoon garlic powder)
|
||||||
|
- 2 ounces cream cheese (about 1/4 cup) or 1/4 cup sour cream/Greek yogurt
|
||||||
|
- 1/4 to 1/2 cup milk or heavy cream, warmed
|
||||||
|
- 1/4 cup finely grated Parmesan (optional)
|
||||||
|
- Kosher salt and freshly ground black pepper, to taste
|
||||||
|
- Chives or parsley, finely chopped (optional, for garnish)
|
||||||
|
|
||||||
|
## Instructions
|
||||||
|
|
||||||
|
1. Trim and cut the **cauliflower** into medium florets.
|
||||||
|
2. Cook until very tender: steam 10–12 minutes (preferred) or boil 8–10 minutes. The florets should crush easily with tongs.
|
||||||
|
3. Drain thoroughly in a colander and let steam‑dry 3–5 minutes. For extra dryness, return to the empty pot over low heat for 1–2 minutes, stirring.
|
||||||
|
4. In a small pan, melt **butter** and gently cook the **garlic** 1–2 minutes until fragrant (do not brown). Skip if using garlic powder.
|
||||||
|
5. In a food processor or with an immersion blender, combine the hot **cauliflower**, melted **butter/garlic**, **cream cheese** (or sour cream/yogurt), and half of the **milk/cream**. Blend until smooth and silky, scraping as needed.
|
||||||
|
6. Add **Parmesan** (if using), **salt**, and **pepper**. Pulse to combine. Adjust thickness with more warm **milk/cream**. Taste and season.
|
||||||
|
7. Transfer to a bowl, garnish with **chives/parsley**, and serve hot.
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
### Drain Well
|
||||||
|
- Waterlogged cauliflower makes a loose mash. After cooking, let the florets steam‑dry and drive off moisture for a fluffier, creamier texture.
|
||||||
|
|
||||||
|
### Make It Yours
|
||||||
|
- For ultra‑smooth mash, strain through a fine sieve. For dairy‑free, use olive oil and unsweetened almond milk. Add‑ins: roasted garlic, horseradish, or a spoon of sour cream for tang.
|
||||||
|
|
||||||
|
## References
|
||||||
|
|
||||||
|
- https://www.seriouseats.com/cauliflower-puree-recipe
|
||||||
|
After Width: | Height: | Size: 1.3 MiB |
@ -0,0 +1,58 @@
|
|||||||
|
---
|
||||||
|
title: "Pickled Red Onions"
|
||||||
|
slug: "pickled-red-onions"
|
||||||
|
date: "2026-02-10"
|
||||||
|
lastUpdated: "2026-02-10"
|
||||||
|
category: "sides"
|
||||||
|
tags: ["sides"]
|
||||||
|
dietary: []
|
||||||
|
cookTime: 0
|
||||||
|
prepTime: 0
|
||||||
|
totalTime: 0
|
||||||
|
difficulty: "medium"
|
||||||
|
servings: 4
|
||||||
|
author: "pws"
|
||||||
|
description: "These are a great topping for ramen, sandwiches, charcuterie, salads, or anything that could use a fermented kick!"
|
||||||
|
featured: false
|
||||||
|
display: true
|
||||||
|
displayPhoto: "./assets/pickled-red-onions.png"
|
||||||
|
---
|
||||||
|
|
||||||
|
# Pickled Red Onions
|
||||||
|
|
||||||
|
These are a great topping for ramen, sandwiches, charcuterie, salads, or anything that could use a fermented kick!
|
||||||
|
|
||||||
|
## Photos
|
||||||
|
|
||||||
|

|
||||||
|
*These are a great topping for ramen, sandwiches, charcuterie, salads, or anything that could use a fermented kick!*
|
||||||
|
|
||||||
|
## Ingredients
|
||||||
|
|
||||||
|
- 1 large red onion, peeled and very thinly sliced
|
||||||
|
- 3/4 cup apple cider vinegar
|
||||||
|
- 1/4 cup water
|
||||||
|
- 1 teaspoon fine sea salt
|
||||||
|
- 1–2 tablespoons sweetener (maple syrup, honey, or sugar)
|
||||||
|
|
||||||
|
## Instructions
|
||||||
|
|
||||||
|
1. Mix the **vinegar**, **water**, **salt**, and **sweetener** in a heated saucepan. Cook over medium-high heat until simmering. Microwave works as well.
|
||||||
|
2. Stuff thinly-sliced **onions** into a jar or container with a lid. You can get way more in there than you think if you really stuff them.
|
||||||
|
3. Pour the hot vinegar mixture over the onions and seal. Shake briefly to ensure full coverage. You can additionally shake periodically if you want.
|
||||||
|
4. Marinate for as little as 30 minutes and up to 2 weeks before consuming. You can press onions down with a spoon to submerge after a while if they stick out of the liquid.
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
### As Thin as Possible
|
||||||
|
- The onions will pack a lot better, and ferment more if they are sliced super thin. Use a mandoline if one is available.
|
||||||
|
|
||||||
|
### Additives
|
||||||
|
- Add some spices for extra taste - People recommend celery salt.
|
||||||
|
|
||||||
|
### Mix Well!
|
||||||
|
- Mix additionally after bottling to ensure proper coverage.
|
||||||
|
|
||||||
|
## References
|
||||||
|
|
||||||
|
- https://www.gimmesomeoven.com/quick-pickled-red-onions/
|
||||||
|
After Width: | Height: | Size: 1.0 MiB |
@ -0,0 +1,62 @@
|
|||||||
|
---
|
||||||
|
title: "Sous Vide Garlic Mashed Potatoes"
|
||||||
|
slug: "sous-vide-mashed-potatoes"
|
||||||
|
date: "2026-02-10"
|
||||||
|
lastUpdated: "2026-02-10"
|
||||||
|
category: "sides"
|
||||||
|
tags: ["sides"]
|
||||||
|
dietary: []
|
||||||
|
cookTime: 0
|
||||||
|
prepTime: 0
|
||||||
|
totalTime: 0
|
||||||
|
difficulty: "medium"
|
||||||
|
servings: 4
|
||||||
|
author: "pws"
|
||||||
|
description: "Perfect mashed potatoes, with no cleanup!"
|
||||||
|
featured: false
|
||||||
|
display: true
|
||||||
|
displayPhoto: "./assets/sous-vide-mashed-potatoes.png"
|
||||||
|
---
|
||||||
|
|
||||||
|
# Sous Vide Garlic Mashed Potatoes
|
||||||
|
|
||||||
|
Perfect mashed potatoes, with no cleanup!
|
||||||
|
|
||||||
|
## Photos
|
||||||
|
|
||||||
|

|
||||||
|
*Perfect mashed potatoes, with no cleanup!*
|
||||||
|
|
||||||
|
## Ingredients
|
||||||
|
|
||||||
|
- 1 lbs Yukon Gold potatoes (enough cubed to fill 2/3 of a gallon ziploc bag)
|
||||||
|
- 2 tbsp / 1/2 oz unsalted butter
|
||||||
|
- 1/4 cup cream cheese (alternate: sour cream)
|
||||||
|
- 1/2 tsp garlic powder
|
||||||
|
- 1/2 cup milk
|
||||||
|
- 1 tbsp rosemary, chopped fine
|
||||||
|
- salt and pepper to taste
|
||||||
|
|
||||||
|
## Instructions
|
||||||
|
|
||||||
|
1. Cube the **potatoes**, optionally leaving the skin on. Optionally soak in water to get the starch out.
|
||||||
|
2. Load the potatoes into a sous vide bag. Fill it up no more than 3/4 of the way full, ideally closer to 1/2.
|
||||||
|
3. Add the **butter**, **cream cheese**/**sour cream**, **garlic powder**, **salt**, **pepper**, **rosemary**, and **milk** to the bag.
|
||||||
|
4. Seal the sous vide bag by holding underwater and letting air escape.
|
||||||
|
5. Using the sous vide cooker, heat water to no more than 195 degrees. Ziploc bags break down past that point. Actual sous vide bags can handle the temperature.
|
||||||
|
6. Cook for 2 hours or until the potatoes can be squished by hand.
|
||||||
|
7. Take bags out of the water and let cool for 10 minutes.
|
||||||
|
8. Hand mash in the bag, or pour into a bowl and use forks.
|
||||||
|
9. Pour/plate into bowl. Sprinkle with garnish if available.
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
### No Pressure!
|
||||||
|
- Adjust to what you know you like! Measurements can be adjusted after cooking if needed.
|
||||||
|
|
||||||
|
### Don't Poke the Bag!
|
||||||
|
- The only way to mess up is to create a hole in the bag. This happens when the rosemary branches poke the bag. Make sure to chop up the rosemary before putting in the bag.
|
||||||
|
|
||||||
|
## References
|
||||||
|
|
||||||
|
- https://www.youtube.com/watch?app=desktop&v=WRrtw9NwcIU&t=72s
|
||||||
|
After Width: | Height: | Size: 1.4 MiB |
@ -0,0 +1,73 @@
|
|||||||
|
---
|
||||||
|
title: "Instant Pot Chicken Noodle Soup"
|
||||||
|
slug: "chicken-noodle-soup"
|
||||||
|
date: "2026-02-08"
|
||||||
|
lastUpdated: "2026-02-08"
|
||||||
|
category: "soup"
|
||||||
|
tags: ["soup", "chicken", "comfort-food", "instant-pot", "one-pot", "sick-day", "meal-prep"]
|
||||||
|
dietary: []
|
||||||
|
cookTime: 20
|
||||||
|
prepTime: 10
|
||||||
|
totalTime: 30
|
||||||
|
difficulty: "easy"
|
||||||
|
servings: 8
|
||||||
|
author: "pws"
|
||||||
|
description: "A comforting chicken noodle soup perfect for rainy or sick days. Made easy in the Instant Pot but can be adapted for stovetop cooking."
|
||||||
|
featured: false
|
||||||
|
display: true
|
||||||
|
displayPhoto: "./assets/chicken-noodle-soup.png"
|
||||||
|
---
|
||||||
|
|
||||||
|
# Instant Pot Chicken Noodle Soup
|
||||||
|
|
||||||
|
A great soup for rainy or sick days. This comforting classic is made simple with the Instant Pot, though it can easily be adapted for stovetop cooking. The recipe makes enough to fuel a whole sick week!
|
||||||
|
|
||||||
|
## Photos
|
||||||
|
|
||||||
|

|
||||||
|
*Comforting homemade chicken noodle soup*
|
||||||
|
|
||||||
|
## Ingredients
|
||||||
|
|
||||||
|
### Main Ingredients
|
||||||
|
- 2 tablespoons unsalted butter
|
||||||
|
- 1 large onion, chopped
|
||||||
|
- 2 medium carrots, chopped
|
||||||
|
- 2 stalks celery, chopped
|
||||||
|
- Kosher salt and fresh ground pepper to taste
|
||||||
|
- 1 teaspoon thyme
|
||||||
|
- 1 tablespoon parsley
|
||||||
|
- 1 tablespoon oregano
|
||||||
|
- 1 chicken bouillon cube or powder
|
||||||
|
- 4 cups chicken broth
|
||||||
|
- 2 pounds chicken (usually one Safeway or Costco chicken)
|
||||||
|
- 4 cups water
|
||||||
|
- 2 cups uncooked egg noodles
|
||||||
|
|
||||||
|
## Instructions
|
||||||
|
|
||||||
|
1. Turn your Instant Pot to the saute setting.
|
||||||
|
2. Add the **butter** and cook until melted. Add the **onion**, **carrots**, and **celery** and saute for 3 minutes until the **onion** softens and becomes translucent.
|
||||||
|
3. Season with **salt** and **pepper**, then add the **thyme**, **parsley**, **oregano**, and **chicken bouillon**. Stir to combine.
|
||||||
|
4. Pour in the **chicken broth**. Add the **chicken** pieces and another 4 cups of **water**.
|
||||||
|
5. Close the lid. Set the Instant Pot to the Soup setting and set the timer to 7 minutes on high pressure.
|
||||||
|
6. Once the Instant Pot cycle is complete, wait until the natural release cycle is complete before opening the instant pot.
|
||||||
|
7. Remove the **chicken** pieces from the soup and shred with two forks.
|
||||||
|
8. Add the **noodles** to the soup and set the Instant Pot to the saute setting again. Cook for another 6 minutes uncovered, or until the **noodles** are cooked.
|
||||||
|
9. Turn off the Instant Pot. Add the shredded **chicken** back to the pot, taste for seasoning and adjust as necessary. Garnish with additional **parsley** if preferred.
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
### Meal Prep Tips
|
||||||
|
- **Make it last**: This recipe can make nearly a whole week of soup. Double it if you're feeling dangerous.
|
||||||
|
- **Noodle absorption**: If doing meal prep with lots of noodles or macaroni, they tend to soak up the broth. Double the water and broth amounts if you want it to keep in the fridge and retain liquid, versus becoming more of a soup-casserole.
|
||||||
|
|
||||||
|
### Seasoning Tips
|
||||||
|
- **Don't oversalt**: Watch the amount of salt in this recipe - it's pretty easy to over-salt if you're not careful, especially with the bouillon cube.
|
||||||
|
|
||||||
|
### Stovetop Adaptation
|
||||||
|
This recipe can be made on the stovetop by simmering the ingredients in a large pot for about 30-40 minutes until the chicken is cooked through, then following the same steps for shredding and adding noodles.
|
||||||
|
|
||||||
|
## References
|
||||||
|
|
||||||
|
- [Jo Cooks - Instant Pot Chicken Noodle Soup](https://www.jocooks.com/recipes/instant-pot-chicken-noodle-soup/)
|
||||||
79
public/recipes/vietnamese/pho/pho.mdx
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
---
|
||||||
|
title: "Pho (Vietnamese Noodle Soup)"
|
||||||
|
slug: "pho"
|
||||||
|
date: "2026-02-10"
|
||||||
|
lastUpdated: "2026-02-10"
|
||||||
|
category: "vietnamese"
|
||||||
|
tags: ["vietnamese"]
|
||||||
|
dietary: []
|
||||||
|
cookTime: 0
|
||||||
|
prepTime: 0
|
||||||
|
totalTime: 0
|
||||||
|
difficulty: "medium"
|
||||||
|
servings: 4
|
||||||
|
author: "pws"
|
||||||
|
description: "A traditional Vietnamese noodle soup with aromatic broth, rice noodles, and tender beef."
|
||||||
|
featured: false
|
||||||
|
display: true
|
||||||
|
displayPhoto: ""
|
||||||
|
---
|
||||||
|
|
||||||
|
# Pho (Vietnamese Noodle Soup)
|
||||||
|
|
||||||
|
A traditional Vietnamese noodle soup with aromatic broth, rice noodles, and tender beef.
|
||||||
|
|
||||||
|
## Photos
|
||||||
|
|
||||||
|
A traditional Vietnamese noodle soup with aromatic broth, rice noodles, and tender beef.
|
||||||
|
|
||||||
|
|
||||||
|
## Ingredients
|
||||||
|
|
||||||
|
### Broth
|
||||||
|
- 2 lbs beef bones (knuckle, marrow, or oxtail)
|
||||||
|
- 1 lb beef brisket (chuck as substitute)
|
||||||
|
- 1 onion, halved and charred
|
||||||
|
- 1 3-inch piece ginger, charred
|
||||||
|
- 7 star anise
|
||||||
|
- 1 cinnamon stick
|
||||||
|
- 6 cloves
|
||||||
|
- 2 cardamom pod
|
||||||
|
- 2 tsp coriander seeds
|
||||||
|
- 1 tsp fennel seeds
|
||||||
|
- 8 cups water
|
||||||
|
- 2 tbsp fish sauce
|
||||||
|
- 1 tbsp sugar
|
||||||
|
- Salt to taste
|
||||||
|
### Serving
|
||||||
|
- 1 lb rice noodles (banh pho)
|
||||||
|
- 1/2 lb beef sirloin, thinly sliced
|
||||||
|
- 1/2 cup bean sprouts
|
||||||
|
- 1/2 cup Thai basil
|
||||||
|
- 1/2 cup cilantro
|
||||||
|
- 1/2 cup mint
|
||||||
|
- 2 limes, cut into wedges
|
||||||
|
- 2 jalapeños, thinly sliced
|
||||||
|
- Hoisin sauce and Sriracha for serving
|
||||||
|
|
||||||
|
## Instructions
|
||||||
|
|
||||||
|
1. In a large pot, add **beef bones** and **brisket**. Make sure to cut the brisket in half prior to this. Cover with water and bring to a boil and boil for **5 minutes**. Skim any scum off the top.
|
||||||
|
2. Simultaneously, char the **onion** and **ginger** over medium flame. Rinse away the blackened skin.
|
||||||
|
3. Also, toast **star anise**, **cinnamon stick**, **cloves**, **cardimom pods**, **coriander seeds**, and **fennel seeds** over medium heat in a saucepan for **3 minutes**.
|
||||||
|
4. Add charred and toasted items to the pot. Add **scallions**, **fish sauce**, and **sugar**. Boil for **40 minutes** over **low heat**. Continue to skim the scum.
|
||||||
|
5. Remove one piece of the **brisket** and transfer to a bowl of ice water to stop the cooking and refridgerate it.
|
||||||
|
6. Cover the pot and continue simmering on low heat for **4 hours**. Add salt, skimming as necessary until ready to serve. Finish the sauce by adding fish sauce, sugar, or salt as necessary.
|
||||||
|
7. Boil the **noodles** according to package and add to a bowl. Place slices of brisket, and thinly sliced uncooked **sirloin** or other toppings. Squeeze fresh **lime** on top, and add **bean sprouts** and **basil** as desired. Serve with hoisin sauce and Sriracha on the side.
|
||||||
|
Pho is traditionally served piping hot with plenty of fresh herbs and condiments. The key is the balance of rich broth, tender meat, and fresh garnishes.
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
### Cooking Instructions
|
||||||
|
- Getting beef bones with cartilage is very important as well as getting a stew meat. Also do not forget to skim after boiling.
|
||||||
|
|
||||||
|
### Serving Suggestions
|
||||||
|
- Pho is traditionally served piping hot with plenty of fresh herbs and condiments. The key is the balance of rich broth, tender meat, and fresh garnishes.
|
||||||
|
|
||||||
|
## References
|
||||||
|
|
||||||
|
- [Pho Vietnamese Noodle Soup Recipe](https://thewoksoflife.com/pho-vietnamese-noodle-soup/)
|
||||||