Home Blog Page 53

SWAIA Native Fashion Week Announces Featured Designers

0
A woman in a long brown dress with Native embellishments strikes a pose on the SWAIA Native Fashion Week runway.
Photo courtesy of SWAIA Native Fashion Week

SWAIA Native Fashion Week (SNFW) in Santa Fe, the first-ever American-produced Indigenous Fashion Week, has announced this year’s 14 participating designers. This event works to empower Indigenous designers and creators to narrate their stories through the medium of fashion arts. Audiences will learn about the world of Indigenous fashion and how these designers made a name for themselves. The event culminates in a fashion show. 

The week starts off with a media launch event at the New Mexico Governor’s Mansion on Thursday, May 2. The following day at the Santa Fe Convention Center, a fashion mini symposium with panel discussions addresses topics such as, “Why Native American Fashion Matters?” and a “Designer Focused Fashion Hub.” The event finishes on Saturday and Sunday, which are dedicated to the mainstage fashion show featuring looks from each designer and their brand. 

Tickets go on sale online in March. Watch SWAIA and SWAIA Native Fashion for complete event details and ticket information.

14 Native American and Indigenous Canadian designers plan to participate, including: 

Ayimach Lodge By: Angela DeMontigny, Rachelle Whitewind, Jason Baerg

A woman walks the runway in a shiny silver dress with teal embellishments and earrings.

Photo courtesy of @ayimach_horizons on Instagram. Designer: @jasonbaerg of @ayimach_horizons, Earrings: @ayimach_horizons, Hair: @cassandra_topartist, MUA: @makeupbysj_jessica, Photos: @fashionarttoronto, @conillleung, @prevalentfocus, @djay1307, Videography: @fashionarttoronto, @so_mani_media, Director: @_vanjavasic_, Producer @liammicha, Assistant Producer: @shirakarney, Assistant Director: @lillicetasia, Creative Makeup Director: @jezlooks, Creative Hair Director: @dylandoesmyhair, Venue: @blackcreekassembly, Hair Sponsor: @matrix, Skincare Sponsor: @farmacybeauty, Lash sponsor: @lashgodraq, Key MUA: @paolaortizco, Key Hair: @dylandoesmyhair

Carrie Wood

A woman stands facing the camera in a letterman type jacket while a man stands beside her, facing away from the camera in another lettermen jacket.

Photo of courtesy of Carrie Wood

Dehmin Cleland

A woman's side profile is turned towards the camera with her hair in braids, strawberry bead earrings, and a beaded collar as well.

Photo courtesy of indigenousfashionarts.com on Dehmin Cleland’s Profile

Himikalas Pamela Baker of T.O.C Legends

A woman walks the runway in a red patterned bottoms and matching top with her hair in a bun as she strikes a pose.

Photo of a Himaklas Pamela Barker look courtesy of @himikalas on Instagram

House of Sutai by Peshawn Bread

A woman stands in front of a pink background with a red dress draped around her body and a pearl necklace around her neck.

Photo courtesy of @houseofsutai on Instagram, taken by Tyra Maney for Museum of the Cherokee People

Justin Jacob Louis

A letterman jacket in a navy blue with a big red "S" on the chest and 3 and 5 on the sleeves.

Photo courtesy of sectionthirtyfive.com of a Golden Bear Sportswear Red Mox Letterman Jacket

Lesley Hampton

Lesley hampton

Photo of A Lineage of Badass Matriarchs Jacket courtesy of lesleyhampton.com 

Loren Aragon of Towering Stone

A man sits on a small brick stoop dressed in all black with a bolo tie and his arms resting on his knees.

Photo courtesy of aconav.com

Maria Hupfield

A woman in all black clothing and no shoes stands against a white wall and floor with a sliver decoration around her neck and a tambourine in hand.

Photo courtesy of @mariehupfield on Instagram, taken by Darren Rigo

Orlando Dugi

Two men stand in open jackets outside in front of a hedge bush with the blue sky above.

Photo courtesy of @orlandodugi on Instagram, Models: @dean.michael_ & @tyy_fierce, MUA: @aprilkateri, Photographer: @darklistedphotography, Lighting: @benignfiltr

Patricia Michaels

A woman in a brown jacket with front floral embellishments stands in front of a brightly lit window.

Photo courtesy of patricia-michaels.com taken by Robert I Mesa

Qaulluq

A woman models in front of a brown background wearing a long skirt with a slit and a shirt that says "phenomenally indigenous"

Photo courtesy of qaulluq.com

Randy Leigh Barton

A man stands in front of a black and white background in bright orange pants, a navy blazer, red dress shirt, and tie.

Photo courtesy of americandakota.com

Victoria’s Arctic Fashion

A woman in a light beige and black winter coat stands outside in the snow with the sherpa hood pulled up over her head.

Photo courtesy of vafashion.ca from the The Nanuraq Collection – Winter 2022

Tickets for the fashion week go on sale in March so keep your eye open for when you can grab a pair.

Story by Kylie Thomas

A footer photo with a white background, one TABLE Magazine and subscribe info and button

Subscribe to TABLE Magazine‘s print edition.

Delicious Mediterranean Diet Recipes

0
Mottahedeh's Tobacco Leaf Dinnerware: Prawn and Noodle Lettuce Wrap Dish

The Mediterranean Diet is considered by quite a few experts to be the best option for many of us. It focuses on the food practices of the Mediterranean region with an emphasis on heart-health. Usually this includes dishes that feature vegetables, whole grains, seafood, beans, nuts and seeds, and especially olive oil, while avoiding foods like red meats, processed sugars, and refined grains. Lowering cholesterol and blood pressure are great goals, but the its the unique flavors and vivid energy boost you get from healthy ingredients will keep you coming back for more. 

If you’re not sure how to start incorporating the Mediterranean diet into your lifestyle, here are some recipes that provide the essential ingredients that’ll become your new best friend.

Delicious Mediterranean Diet Recipes

Pomegranate Marinated Salmon with Roasted Brussel Sprouts 

A pan filled with brussel sprouts, salmon, and pomegranate seeds sits on a wooden table surrounded by plates and forks.

Salmon is one of the top protein choices in a Mediterranean diet and it’s easy to see why. It’s packed with omega-3 fatty acids that help promote heart health through reducing cholesterol and blood pressure. Try it combined with the just as healthy and helpful pomegranate in this Marinated Salmon meal for a lovely blend of tastes and benefits. 

Mediterranean Stew 

A bowl full of a tomato based Mediterranean Stew with carrots, kale, and beans throughout on top of a wooden table beside a golden spoon.

There’s nothing quite like a hearty stew that’ll have your stomach full of fresh, flourishing ingredients. This Mediterranean Stew makes substantial use of farm-grown vegetables, homemade marinara sauce, and plenty of seasonings. Lose yourself in the comforting flavors of cannellini beans, carrots, tomatoes, onion, and kale, all key elements of the diet.

White Bean Tuna Salad Wraps

White Bean Tuna Salad Wraps sit on a green plate with two orange slices, and a few pieces of kiwi.

Beans are a satisfying part of a healthy meal. They’re rich in iron, protein, and dietary fiber. These White Bean Tuna Salad Wraps are not only delicious but are loaded with nutrients perfect for midday pick-me-ups. The tuna is also soaked in olive oil rather than water to increase vitamin D and selenium intake. 

Skordalia with Salted Cod and Fermented Beets

Whole-Grain Pita, accompanied by a bottle of Garalis Terra Ambera Muscat of Alexandria from Lemnos, Greece. A Mediterranean delight featuring fermented beets and a delectable skordalia, embodying the rich flavors of Greek cuisine.

A mixture of hearty potatoes, almonds, Greek yogurt, and other wellness ingredients make up the skordalia in this recipe. When combined on a wrap with salted cod and fermented beets, you’ll see why this dish is a winner for lunch and dinner. Plus, you’ll learn to make your own whole-grain pitas at home.

Jeweled Lentils

A bowl full of french lentils with a spoon sticking out of it.

Inspired by Persian dishes like Jeweled Rice, this healthy vegetarian dish fuses the warm, savory appeal of lentils with fresh nuts, raisins, and pomegranate seeds. The addition of nuts and seeds bring in the proteins you miss from meat while also helping lower the risks of heart disease. 

Simple Chimichurri Shrimp with Couscous

A large scalloped edge white dish with shrimp over couscous, and a glass of wine on a textured white surface

Couscous, made from whole wheat flour, contains plenty of protein and fiber. That’s why it’s part of the Mediterranean diet. It’s also a lovely platform upon which to build a meal like this Simple Chimichurri Shrimp with Couscous.  Everything you need can be found at your local grocery store…and you can even pick up some store-bought chimichurri in case you don’t have time to make your own. 

Salmon Poke with Yuzu

Exquisite Salmon Poke Infused with Yuzu, Truffled Yuzu Kosho Sauce, Spicy Avocado Purée, and Crispy Rice Cracker

Bring a platter of this Salmon Poke with Yuzu to the table when you want to impress guests with a dinner that just happens to be part of your Mediterranean Diet plan. The ingredients–from the wafer-thin slices of lotus root and Fresno chile, to green pops of color from avocado purée–create a dazzling display of contrasting yet complementary flavors and textures.

Panelle (Sicilian Chickpea Fritters) with Ricotta and Anchovies

Panelle, Hand-Dipped Ricotta, and Anchovies. Accompanied by the Indigenous Red Varietal, Caruso e Minini Terre Siciliane Perricone Naturalmente Bio from Tina’s Bottle Shop.

Chickpeas are another excellent source of protein and are used frequently in Mediterranean cooking. After frying up these fritters, you’ll slather them with a homemade ricotta and top with salty anchovies. They make a great snack or can be made as an appetizer for any party.

Italian Lentil Soup

A brown table with a tray on top featuring a brown dish of Italian Lentil Soup with bread and spices spread around the outside of the bowl.

Lentils are high in both fiber and protein, plus they offer up substantial amounts of iron, manganese, folate and phosphorus – all essentials to healthy human bodies. You’ll get your daily helping of lentils along with plenty of veggies in our Italian Lentil Soup. It’s not just great for your body but great for your taste buds too.

Coconut Curry Mussels

Coconut Curry Mussels sit in a big white pot with a small plateful sitting nearby and a baguette in half beside the plate.

Seafood like mussels are one of the most important parts of a healthy Mediterranean diet. In this case we use them in a recipe for Coconut Curry Mussels. This dish also includes the goodness of olive oil, green chilis, Roma tomatoes, and unsweetened coconut milk. You can even replace the ghee for more olive oil to suit your needs.

Sopa de Mariscos

Sopa de Mariscos sits in a black bowl with high edges next to a plate of sourdough bread.

Speaking of mussels, this seafood stew takes advantage of fresh mussels, cod, calamari, monkfish, tuna, and shrimp. Our Sopa de Mariscos soaks these ingredients in a seafood stock alongside spices, carrots, fennel, tomatoes, garlic, and onion. This recipe is the perfect way to enjoy a special dinner without the guilt afterwards.

Wonton Noodle-Wrapped Prawn Lettuce Wrap

Mottahedeh's Tobacco Leaf Dinnerware: Prawn and Noodle Lettuce Wrap Dish

Prawns take center stage in this healthy recipe that’s perfect for lunch or a light dinner. We coddle Wonton Noodle-Wrapped Prawns into lettuce leaves and top with avocados, jalapeños, radishes, cilantro, toasted sesame, cucumbers, microgreens, and a drizzle of sesame ginger dressing. You’ll be completely satisfied when the end product tastes even better than it looks.

Grilled Swordfish with Pineapple Salsa

A white plate with a piece of grilled swordfish with a pineapple salsa on top and a salad on the side. A fork and knife also sit on the plate.

Swordfish and other seafood are encouraged in the Mediterranean diet as lean sources of high-quality protein as well as healthy fats. This Grilled Swordfish recipe combines the smoky flaky nature of swordfish with a pineapple salsa that adds notes sweet, tangy, and spicy flavors.

Pickled Baby Carrots with Lentils

Three orange rectangular plates with pickled baby carrots, smoked labneh, and lentils.

Seeds, lentils, fresh vegetables, this Pickled Baby Carrots recipe has it all. The bright pickled vegetables bring acidity, while the lentils help to healthily fill you up, and a smoked labneh made with the Mediterranean diet staple Greek yogurt finishes things with its creaminess.

Black-Eyed Peas Salad

A big white bowl of salad with various toppings and black eyed peas beside a small pink plate with the salad on it.

Just looking at this hearty bowl full of wellness makes our mouth water. This Black‑Eyed Peas Salad is packed with fresh vegetables, herbs, and a citrusy dressing. Legumes are another must in Mediterranean‑inspired eating, carrying plant‑based protein, fiber, and essential nutrients.

Seafood Stuffed Poblano Peppers

An above shot of a sea-green, light blue bowl filled with Seafood Stuffed Poblano Peppers.

Sweet crab, shrimp, and octopus stuff into crisp roasted peppers over top of a silky cashew sauce for a dish that’s as impressive and flavorful. Even though this Seafood Stuffed Poblano Peppers recipe creates its cashew sauce using crème fraîche, we recommend using Greek yogurt instead for a lower volume of fat.

Story by Kylie Thomas

Subscribe to TABLE Magazine’s print edition.

Immune Boosting Bone Broth

0
A pot holds an immune boosting bone broth recipe featuring a whole chicken, carrots, and celery. A large spoon and herbs sits beside the pot.

The beginning of the year marks plenty of momentous occasions and unfortunately, one of them is cold and flu season. Don’t let these sicknesses get you down: take the time to prepare your system for the winter with our Immune Boosting Bone Broth recipe. This recipe is made with whole chickens, carrots, celery stalks, and a bowl full of spices. And, plus, bone broth is a great base for homemade soups, stews, and even chili. Who knew that being healthy could be so delicious?

Why is Bone Broth Good For You?

Your body will thank you for the extra boost of warm, savory nutrients in this broth. It contains gelatin, which can reduce gut inflammation and help good bacteria in the digestive system. Bone broth is full of collagen a protein that helps maintain bone strength and integrity, hence its namesake. If you’re trying to lose weight, this high-protein broth, which can help you feel full longer and nourish your system with healthy ingredients, should help you avoid high-calorie, less filling foods. And don’t forget the amino acids that will help you boost your immune system during cold season. 

Print

clock clock iconcutlery cutlery iconflag flag iconfolder folder iconinstagram instagram iconpinterest pinterest iconfacebook facebook iconprint print iconsquares squares iconheart heart iconheart solid heart solid icon

A pot holds an immune boosting bone broth recipe featuring a whole chicken, carrots, and celery. A large spoon and herbs sits beside the pot.

Immune Boosting Bone Broth


5 Stars 4 Stars 3 Stars 2 Stars 1 Star


  • Author:
    Anna Franklin

Description

A stew to boost your immune health when you need it the most.


Ingredients


Scale

  • 2 whole chickens
  • 4 carrots cut into large pieces
  • 4 celery stalks cut into large pieces
  • 2 onions cut into large pieces
  • 6 cloves garlic, whole
  • 1⁄4 cup apple cider vinegar
  • 2 tbsp. sea salt
  • 2 tbsp. whole peppercorns
  • 1015 pieces dried astragalus root
  • 2 whole bay leaves
  • 2 gallons water


Instructions

  1. Roast two whole chickens in the oven until golden brown. No need to worry about the inside being cooked, you just want the outside to brown for extra flavor.
  2. Add everything into a large stockpot and bring to a boil.
  3. Once the broth has come to a boil, allow to simmer for 12 -24 hours, skimming the top occasionally to remove the foam that forms at the top. (the longer you allow your broth to simmer, the more flavor and nutrients your broth will have.) Turn off the heat ad carefully strain your broth. (you may be tempted to save the meat from the chickens but at this point all the flavor and nutrients will be in the broth and no longer in the meat of the chicken.)
  4. Strain your broth and use it in soups, stews, chili, or sip it as is with some cracked black pepper on top!

window.trCommon={“minRating”:6,”ajaxurl”:”https://www.tablemagazine.com/wp-admin/admin-ajax.php”,”ratingNonce”:”d619c284ab”,”postId”:8384};
window.TastyRecipes = window.TastyRecipes || {};

window.TastyRecipes.smoothScroll = {
init() {
document.addEventListener( ‘click’, ( e ) => {
let anchor = e.target;
if ( anchor.tagName !== ‘A’ ) {
anchor = anchor.closest( ‘a.tasty-recipes-scrollto’ );
}

if ( ! anchor || ! anchor.classList.contains( ‘tasty-recipes-scrollto’ ) ) {
return;
}

const elementHref = anchor.getAttribute( ‘href’ );
if ( ! elementHref ) {
return;
}

e.preventDefault();
this.goToSelector( elementHref );
});
},
goToSelector( selector ) {
const element = document.querySelector( selector );
if ( ! element ) {
return;
}
element.scrollIntoView( { behavior: ‘smooth’ } );
}
};

document.addEventListener(
‘DOMContentLoaded’,
() => window.TastyRecipes.smoothScroll.init()
);

(function(){

var bothEquals = function( d1, d2, D ) {
var ret = 0;
if (d1<=D) {
ret++;
}
if (d2<=D) {
ret++;
}
return ret === 2;
};

var frac =function frac(x,D,mixed){var n1=Math.floor(x),d1=1;var n2=n1+1,d2=1;if(x!==n1){while(bothEquals(d1,d2,D)){var m=(n1+n2)/(d1+d2);if(x===m){if(d1+d2d2){d2=D+1;}else {d1=D+1;}break}else if(xD){d1=d2;n1=n2}if(!mixed){return[0,n1,d1];}var q=Math.floor(n1/d1);return[q,n1-q*d1,d1]};frac.cont=function cont(x,D,mixed){var sgn=x<0?-1:1;var B=x*sgn;var P_2=0,P_1=1,P=0;var Q_2=1,Q_1=0,Q=0;var A=Math.floor(B);while(Q_1<D){A=Math.floor(B);P=A*P_1+P_2;Q=A*Q_1+Q_2;if(B-AD){if(Q_1>D){Q=Q_2;P=P_2}else{Q=Q_1;P=P_1}}if(!mixed){return[0,sgn*P,Q];}var q=Math.floor(sgn*P/Q);return[q,sgn*P-q*Q,Q]};

window.tastyRecipesVulgarFractions = JSON.parse(decodeURIComponent(“%7B%22%C2%BC%22%3A%221%2F4%22%2C%22%C2%BD%22%3A%221%2F2%22%2C%22%C2%BE%22%3A%223%2F4%22%2C%22%E2%85%93%22%3A%221%2F3%22%2C%22%E2%85%94%22%3A%222%2F3%22%2C%22%E2%85%95%22%3A%221%2F5%22%2C%22%E2%85%96%22%3A%222%2F5%22%2C%22%E2%85%97%22%3A%223%2F5%22%2C%22%E2%85%98%22%3A%224%2F5%22%2C%22%E2%85%99%22%3A%221%2F6%22%2C%22%E2%85%9A%22%3A%225%2F6%22%2C%22%E2%85%9B%22%3A%221%2F8%22%2C%22%E2%85%9C%22%3A%223%2F8%22%2C%22%E2%85%9D%22%3A%225%2F8%22%2C%22%E2%85%9E%22%3A%227%2F8%22%7D”));

window.tastyRecipesFormatAmount = function(amount, el) {
if ( parseFloat( amount ) === parseInt( amount ) ) {
return amount;
}
var roundType = ‘frac’;
if (typeof el.dataset.amountShouldRound !== ‘undefined’) {
if (‘false’ !== el.dataset.amountShouldRound) {
if ( ‘number’ === el.dataset.amountShouldRound ) {
roundType = ‘number’;
} else if (‘frac’ === el.dataset.amountShouldRound) {
roundType = ‘frac’;
} else if (‘vulgar’ === el.dataset.amountShouldRound) {
roundType = ‘vulgar’;
} else {
roundType = ‘integer’;
}
}
}
if (‘number’ === roundType) {
amount = Number.parseFloat(amount).toPrecision(2);
} else if (‘integer’ === roundType) {
amount = Math.round(amount);
} else if (‘frac’ === roundType || ‘vulgar’ === roundType) {
var denom = 8;
if (typeof el.dataset.unit !== ‘undefined’) {
var unit = el.dataset.unit;
if ([‘cups’,’cup’,’c’].includes(unit)) {
denom = 4;
if (0.125 === amount) {
denom = 8;
}
if (“0.1667″ === Number.parseFloat( amount ).toPrecision(4)) {
denom = 6;
}
}
if ([‘tablespoons’,’tablespoon’,’tbsp’].includes(unit)) {
denom = 2;
}
if ([‘teaspoons’,’teaspoon’,’tsp’].includes(unit)) {
denom = 8;
}
}
var amountArray = frac.cont( amount, denom, true );
var newAmount = ”;
if ( amountArray[1] !== 0 ) {
newAmount = amountArray[1] + ‘/’ + amountArray[2];
if (‘vulgar’ === roundType) {
Object.keys(window.tastyRecipesVulgarFractions).forEach(function(vulgar) {
if (newAmount === window.tastyRecipesVulgarFractions[vulgar]) {
newAmount = vulgar;
}
});
}
}
if ( newAmount ) {
newAmount = ‘ ‘ + newAmount;
}
if ( amountArray[0] ) {
newAmount = amountArray[0] + newAmount;
}
amount = newAmount;
}
return amount;
};

window.tastyRecipesUpdatePrintLink = () => {

const printButton = document.querySelector( ‘.tasty-recipes-print-button’ );

if ( ! printButton ) {
return;
}

const printURL = new URL( printButton.href );
const searchParams = new URLSearchParams( printURL.search );

const unitButton = document.querySelector( ‘.tasty-recipes-convert-button-active’ );
const scaleButton = document.querySelector( ‘.tasty-recipes-scale-button-active’ );

let unit = ”;
let scale = ”;

if ( unitButton ) {
unit = unitButton.dataset.unitType;
searchParams.delete(‘unit’);
searchParams.set( ‘unit’, unit );
}

if ( scaleButton ) {
scale = scaleButton.dataset.amount;
searchParams.set( ‘scale’, scale );
}

const paramString = searchParams.toString();
const newURL = ” === paramString ? printURL.href : printURL.origin + printURL.pathname + ‘?’ + paramString;
const printLinks = document.querySelectorAll( ‘.tasty-recipes-print-link’ );

printLinks.forEach( ( el ) => {
el.href = newURL;
});

const printButtons = document.querySelectorAll( ‘.tasty-recipes-print-button’ );
printButtons.forEach( ( el ) => {
el.href = newURL;
});
};

document.addEventListener( ‘DOMContentLoaded’, () => {

if ( ! window.location.href.includes( ‘/print/’ ) ) {
return;
}

const searchParams = new URLSearchParams( window.location.search );

const unit = searchParams.get( ‘unit’ );
const scale = searchParams.get( ‘scale’ );

if ( unit && ( ‘metric’ === unit || ‘usc’ === unit ) ) {
document.querySelector( ‘.tasty-recipes-convert-button[data-unit-type=”‘ + unit + ‘”]’ ).click();
}

if ( scale && Number(scale) > 0 ) {
document.querySelector( ‘.tasty-recipes-scale-button[data-amount=”‘ + Number(scale) + ‘”]’ ).click();
}
});
}());

(function(){
var buttonClass = ‘tasty-recipes-scale-button’,
buttonActiveClass = ‘tasty-recipes-scale-button-active’,
buttons = document.querySelectorAll(‘.tasty-recipes-scale-button’);
if ( ! buttons ) {
return;
}

buttons.forEach(function(button){
button.addEventListener(‘click’, function(event){
event.preventDefault();
var recipe = event.target.closest(‘.tasty-recipes’);
if ( ! recipe ) {
return;
}
var otherButtons = recipe.querySelectorAll(‘.’ + buttonClass);
otherButtons.forEach(function(bt){
bt.classList.remove(buttonActiveClass);
});
button.classList.add(buttonActiveClass);

var scalables = recipe.querySelectorAll(‘span[data-amount]’);
var buttonAmount = parseFloat( button.dataset.amount );
scalables.forEach(function(scalable){
if (typeof scalable.dataset.amountOriginalType === ‘undefined’
&& typeof scalable.dataset.nfOriginal === ‘undefined’) {
if (-1 !== scalable.innerText.indexOf(‘/’)) {
scalable.dataset.amountOriginalType = ‘frac’;
}
if (-1 !== scalable.innerText.indexOf(‘.’)) {
scalable.dataset.amountOriginalType = ‘number’;
}
Object.keys(window.tastyRecipesVulgarFractions).forEach(function(vulgar) {
if (-1 !== scalable.innerText.indexOf(vulgar)) {
scalable.dataset.amountOriginalType = ‘vulgar’;
}
});
if (typeof scalable.dataset.amountOriginalType !== ‘undefined’) {
scalable.dataset.amountShouldRound = scalable.dataset.amountOriginalType;
}
}
var amount = parseFloat( scalable.dataset.amount ) * buttonAmount;
amount = window.tastyRecipesFormatAmount(amount, scalable);
if ( typeof scalable.dataset.unit !== ‘undefined’ ) {
if ( ! scalable.classList.contains(‘nutrifox-quantity’) ) {
if ( ! scalable.classList.contains(‘nutrifox-second-quantity’) ) {
amount += ‘ ‘ + scalable.dataset.unit;
}
}
}
scalable.innerText = amount;
});

var nonNumerics = recipe.querySelectorAll(‘[data-has-non-numeric-amount]’);
nonNumerics.forEach(function(nonNumeric){
var indicator = nonNumeric.querySelector(‘span[data-non-numeric-label]’);
if ( indicator ) {
nonNumeric.removeChild(indicator);
}
if ( 1 !== buttonAmount ) {
indicator = document.createElement(‘span’);
indicator.setAttribute(‘data-non-numeric-label’, true);
var text = document.createTextNode(‘ (x’ + buttonAmount + ‘)’);
indicator.appendChild(text);
nonNumeric.appendChild(indicator);
}
});

window.tastyRecipesUpdatePrintLink();
});
});
}());

window.TastyRecipes = window.TastyRecipes || {};
window.TastyRecipes.cookMode = {
wakeLockApi: false,
wakeLock: false,
cookModeSelector: ‘.tasty-recipes-cook-mode’,
init() {
if (“wakeLock” in navigator && “request” in navigator.wakeLock) {
this.wakeLockApi = navigator.wakeLock;
}

const cookModes = document.querySelectorAll(this.cookModeSelector);

if (cookModes.length > 0) {
for (const cookMode of cookModes) {
if (this.wakeLockApi) {
cookMode.querySelector(‘input[type=”checkbox”]’).addEventListener(“change”, event => {
this.checkboxChange(event.target);
}, false);
} else {
cookMode.style.display = “none”;
}
}
}
},
checkboxChange(checkbox) {
if (checkbox.checked) {
this.lock();
} else {
this.unlock();
}
},
setCheckboxesState(state) {
const checkboxes = document.querySelectorAll(this.cookModeSelector + ‘ input[type=”checkbox”]’);
for (const checkbox of checkboxes) {
checkbox.checked = state;
}
},
async lock() {
try {
this.wakeLock = await this.wakeLockApi.request(“screen”);
this.wakeLock.addEventListener(“release”, () => {
this.wakeLock = false;
this.setCheckboxesState(false);
});
this.setCheckboxesState(true);
} catch (error) {
this.setCheckboxesState(false);
}
},
unlock() {
if (this.wakeLock) {
this.wakeLock.release();
this.wakeLock = false;
}
this.setCheckboxesState(false);
}
};

(function(callback) {
if (document.readyState !== “loading”) {
callback();
} else {
document.addEventListener(“DOMContentLoaded”, callback);
}
})(() => {
window.TastyRecipes.cookMode.init();
});

window.TastyRecipes = window.TastyRecipes || {};

window.TastyRecipes.staticTooltip = {
element: null,
tooltipElement: null,
deleting: false,
init( element ) {
if ( this.deleting ) {
return;
}
this.element = element;
this.buildElements();
},
destroy() {
if ( ! this.tooltipElement || this.deleting ) {
return;
}

this.deleting = true;
this.tooltipElement.classList.remove( ‘opened’ );

setTimeout( () => {
this.tooltipElement.remove();
this.deleting = false;
}, 500 );
},
buildElements() {
const tooltipElement = document.createElement( ‘div’ );
tooltipElement.classList.add( ‘tasty-recipes-static-tooltip’);
tooltipElement.setAttribute( ‘id’, ‘tasty-recipes-tooltip’ );

const currentTooltipElement = document.getElementById( ‘tasty-recipes-tooltip’ );
if ( currentTooltipElement ) {
document.body.replaceChild( tooltipElement, currentTooltipElement );
} else {
document.body.appendChild( tooltipElement );
}

this.tooltipElement = document.getElementById( ‘tasty-recipes-tooltip’ );
},
show() {
if ( ! this.tooltipElement ) {
return;
}

const tooltipTop = this.element.getBoundingClientRect().top
+ window.scrollY
– 10 // 10px offset.
– this.tooltipElement.getBoundingClientRect().height;
const tooltipLeft = this.element.getBoundingClientRect().left
– ( this.tooltipElement.getBoundingClientRect().width / 2 )
+ ( this.element.getBoundingClientRect().width / 2 ) – 1;
const posLeft = Math.max( 10, tooltipLeft );
this.maybeRemoveTail( posLeft !== tooltipLeft );

this.tooltipElement.setAttribute( ‘style’, ‘top:’ + tooltipTop + ‘px;left:’ + posLeft + ‘px;’ );
this.tooltipElement.classList.add( ‘opened’ );

},
maybeRemoveTail( removeTail ) {
if ( removeTail ) {
this.tooltipElement.classList.add( ‘tr-hide-tail’ );
} else {
this.tooltipElement.classList.remove( ‘tr-hide-tail’ );
}
},
changeMessage( message ) {
if ( ! this.tooltipElement ) {
return;
}
this.tooltipElement.innerHTML = message;
}
};

window.TastyRecipes.ajax = {
sendPostRequest( url, data, success, failure ) {
const xhr = new XMLHttpRequest();
xhr.open( ‘POST’, url, true );
xhr.send( this.preparePostData( data ) );

xhr.onreadystatechange = () => {
if ( 4 !== xhr.readyState ) {
return;
}
if ( xhr.status === 200 ) {
success( JSON.parse( xhr.responseText ) );
return;
}

failure( xhr );
};

xhr.onerror = () => {
failure( xhr );
};
},
preparePostData( data ) {
const formData = new FormData();

for ( const key in data ) {
formData.append( key, data[key] );
}
return formData;
},
};

window.TastyRecipes.ratings = {
defaultRating: 0,
currentRatingPercentage: 100,
savingRating: false,
init( minRating ) {
this.minRating = minRating;

this.formWatchRating();
this.closeTooltipWhenClickOutside();
this.addBodyClassBasedOnSelectedRating();
this.backwardCompFormRatingPosition();
},
formWatchRating() {
const ratings = document.querySelectorAll(‘.tasty-recipes-no-ratings-buttons [data-rating]’);
if ( ratings.length {
event.preventDefault();
this.defaultRating = event.target.closest( ‘.checked’ ).dataset.rating;
this.setCheckedStar( event.target );
this.maybeSendRating( this.defaultRating, event.target );
this.setRatingInForm( this.defaultRating );
} );
}
},
closeTooltipWhenClickOutside() {
window.addEventListener( ‘click’, e => {
// Bailout (don’t remove the tooltip) when the clicked element is a rating star, or it’s the tooltip itself.
if ( e.target.closest( ‘.tasty-recipes-rating’ ) || e.target.classList.contains( ‘tasty-recipes-static-tooltip’ ) ) {
return;
}

window.TastyRecipes.staticTooltip.destroy();
} );
},
setRatingInForm( rating ) {
const ratingInput = document.querySelector( ‘#respond .tasty-recipes-rating[value=”‘ + rating + ‘”]’ );
if ( ! ratingInput ) {
return;
}
ratingInput.click();
},
addBodyClassBasedOnSelectedRating() {
const ratingInputs = document.querySelectorAll( ‘input.tasty-recipes-rating’ );
if ( ! ratingInputs ) {
return;
}
for ( const ratingInput of ratingInputs ) {
ratingInput.addEventListener( ‘click’, currentEvent => {
const selectedRating = currentEvent.target.getAttribute( ‘value’ );
this.handleBodyClassByRating( selectedRating );
this.toggleCommentTextareaRequired( selectedRating );
} );
}
},
handleBodyClassByRating( rating ) {
if ( rating < this.minRating ) {
document.body.classList.remove( 'tasty-recipes-selected-minimum-rating' );
return;
}
document.body.classList.add( 'tasty-recipes-selected-minimum-rating' );
},
toggleCommentTextareaRequired( rating ) {
const commentTextarea = document.getElementById( 'comment' );
if ( ! commentTextarea ) {
return;
}

if ( rating {
window.TastyRecipes.staticTooltip.changeMessage( response.data.message );
window.TastyRecipes.staticTooltip.show();
this.updateAverageText( response.data, recipeCardElement );
this.maybeFillCommentForm( response.data );

// Hide the tooltip after 5 seconds.
setTimeout( () => {
this.maybeResetTooltip( recipeCardElement, response.data, rating );
}, 5000 );
},
() => {
this.resetTooltip( recipeCardElement );
}
);
},
updateAverageText( data, recipeCardElement ) {
if ( ! data.average ) {
return;
}
this.setRatingPercent( data );

if ( ! data.count ) {
return;
}

const quickLink = document.querySelector( ‘.tasty-recipes-rating-link’ );
if ( quickLink ) {
this.setTextInContainer( quickLink, data );
this.setPartialStar( quickLink );
}

const cardStars = recipeCardElement.querySelector( ‘.tasty-recipes-ratings-buttons’ );
cardStars.dataset.trDefaultRating = data.average;
this.setTextInContainer( recipeCardElement.querySelector( ‘.tasty-recipes-rating’ ), data );
},
setTextInContainer( container, data ) {
if ( ! container ) {
return;
}

if ( data.label ) {
const ratingLabelElement = container.querySelector( ‘.rating-label’ );
if ( ratingLabelElement ) {
ratingLabelElement.innerHTML = data.label;
}
return;
}

const averageElement = container.querySelector( ‘.average’ );
if ( averageElement ) {
averageElement.textContent = data.average;
}

const countElement = container.querySelector( ‘.count’ );
if ( countElement ) {
countElement.textContent = data.count;
}
},
setPartialStar( container ) {
const highestStar = container.querySelector( ‘[data-rating=”‘ + Math.ceil( this.defaultRating ) + ‘”]’ );
if ( highestStar ) {
highestStar.dataset.trClip = this.currentRatingPercentage;
}
},
setRatingPercent( data ) {
this.defaultRating = data.average.toFixed( 1 );
const parts = data.average.toFixed( 2 ).toString().split( ‘.’ );
this.currentRatingPercentage = parts[1] ? parts[1] : 100;
if ( this.currentRatingPercentage === ’00’ ) {
this.currentRatingPercentage = 100;
}
},
setCheckedStar( target ) {
const cardRatingContainer = target.closest( ‘.tasty-recipes-ratings-buttons’ );
const selectedRatingElement = cardRatingContainer.querySelector( ‘[data-tr-checked]’ );
if ( selectedRatingElement ) {
delete selectedRatingElement.dataset.trChecked;
}

const thisStar = target.closest( ‘.tasty-recipes-rating’ );
thisStar.dataset.trChecked = 1;
thisStar.querySelector( ‘[data-tr-clip]’ ).dataset.trClip = 100;
},
maybeFillCommentForm( data ) {
if ( ! data.comment || ! data.comment.content ) {
return;
}

const commentForm = document.querySelector( ‘#commentform’ );
if ( ! commentForm ) {
return;
}

const commentBox = commentForm.querySelector( ‘[name=comment]’ );
if ( ! commentBox || commentBox.value ) {
return;
}

// Add comment details for editing.
commentBox.innerHTML = data.comment.content;
if ( data.comment.name ) {
commentForm.querySelector( ‘[name=author]’ ).value = data.comment.name;
commentForm.querySelector( ‘[name=email]’ ).value = data.comment.email;
}
},
maybeResetTooltip( recipeCardElement, data, rating ) {
if ( this.savingRating === rating ) {
this.resetTooltip( recipeCardElement, data );
}
},
resetTooltip( recipeCardElement, data ) {
window.TastyRecipes.staticTooltip.destroy();
this.savingRating = false;

// Reset the default rating.
const cardRatingContainer = recipeCardElement.querySelector( ‘.tasty-recipes-ratings-buttons’ );
if ( cardRatingContainer ) {
this.defaultRating = ( data && data.average ) ? data.average.toFixed(1) : cardRatingContainer.dataset.trDefaultRating;
cardRatingContainer.dataset.trDefaultRating = this.defaultRating;

this.resetSelectedStar( cardRatingContainer, data );
}
},
resetSelectedStar( cardRatingContainer ) {
const selectedRatingElement = cardRatingContainer.querySelector( ‘[data-rating=”‘ + Math.ceil( this.defaultRating ) + ‘”]’ );
if ( selectedRatingElement ) {
selectedRatingElement.querySelector( ‘[data-tr-clip]’ ).dataset.trClip = this.currentRatingPercentage;
selectedRatingElement.parentNode.dataset.trChecked = 1;
}

const previousSelectedElement= cardRatingContainer.querySelector( ‘[data-tr-checked]’ );
if ( previousSelectedElement ) {
const currentSelectedRating = previousSelectedElement.querySelector(‘[data-rating]’);
if ( currentSelectedRating !== selectedRatingElement ) {
delete previousSelectedElement.dataset.trChecked;
}
}
},
backwardCompFormRatingPosition() {
const ratingsButtons = document.querySelector( ‘#respond .tasty-recipes-ratings-buttons, #tasty-recipes-comment-rating .tasty-recipes-ratings-buttons’ );
if ( ! ratingsButtons ) {
return;
}
const ratingsButtonsStyles = window.getComputedStyle(ratingsButtons);
if ( ! ratingsButtonsStyles.display.includes( ‘flex’ ) ) {
ratingsButtons.style.direction = ‘rtl’;
}

if ( typeof tastyRecipesRating !== ‘undefined’ ) {
// Select the rating that was previously selected in admin.
ratingsButtons.querySelector( ‘.tasty-recipes-rating[value=”‘ + tastyRecipesRating + ‘”]’ ).checked = true;
}

const ratingSpans = ratingsButtons.querySelectorAll( ‘.tasty-recipes-rating’ );
for (const ratingSpan of ratingSpans) {
ratingSpan.addEventListener( ‘click’, event => {
if ( ratingSpan === event.target ) {
return;
}
ratingSpan.previousElementSibling.click();
} );
}
}
};

(function(callback) {
if (document.readyState !== “loading”) {
callback();
} else {
window.addEventListener( ‘load’, callback );
}
})(() => {
window.TastyRecipes.ratings.init( window.trCommon ? window.trCommon.minRating : 4 );
});

Recipe by Anna Franklin
Photography by Dave Bryce

Subscribe to TABLE Magazine‘s print edition.

15 Antidepressant Food Recipes to Keep You Smiling

0
A stock pot with a variety of mushrooms and vegetables in a brown stock, with a wooden spoon in the upper left corner and some pepper and seasonings on a plate in the upper right corner.

We know the winter months can be rough on your mental health. The sun sets early every day, and the frigid temperatures and mounds of snow make you want to stay inside. The first few months of the year can feel like years in and of themselves.

But it doesn’t all have to be doom and gloom. In fact, you can bring a little happiness and light into your life right inside your kitchen. There are plenty of ingredients out there whose properties that can decrease the effects of depression and increase serotonin in the body. Take a moment to bring one of these ingredients into your life through one of our recipes below. Chances are you’ll find yourself smiling before you’ve even taken a bite from the pure joy that is cooking.

15 Antidepressant Food Recipes

Creamed Spinach Dippy Eggs

An aerial view of a dippy egg sitting on top of creamed spinach. a few pieces of sliced french bread sits off to the left of the plate.

Tryptophan, an essential amino acid in eggs and spinach, can exert an antidepressant effect by influencing the production of serotonin, making our Creamed Spinach Dippy Eggs a nutritious dish for any time of day. Plus, spinach contains folate, which produces dopamine, another calming and happy source of emotion, in your brain.

Green Eggs

Green eggs adorned with flowers sit on three different plates.

Add a vivid start to the morning with these naturally bright delights thanks to the addition of spinach. Just like the recipe above, this dish is packed with tryptophan for a deliciously cheerful breakfast. Not to mention, studies show that the brighter and lighter the color, like our gorgeous Green Eggs, the happier and more optimistic it can make you feel.

Berry Cobbler with Banana Ice Cream

A delectable image of a berry cobbler dessert from Eighty Acres Kitchen.

Blueberries, rich in flavonoids, can help bring about an antidepressant-like effect. When combined with the tryptophan content of bananas, you have a superfood power duo. Our Berry Cobbler with Banana Ice Cream makes use of both these ingredients for a sweet, feel-good treat.

Anti-Inflammatory Butternut Squash and Lentil Soup

Two soup bowls filled with orange butternut squash soup topped with shredded leaf garnishes and a spoon.

Not only can this soup full of turmeric, fresh vegetables, ginger, and lentils help ease your inflammation issues, but, it could also help ease depression. Butternut squash is rich in Vitamin B6, the absence of which has been connected to depression. So, simmer a pot of our Anti-Inflammatory Butternut Squash and Lentil Soup the next time you’re feeling down.

Salmon Poke with Yuzu

Exquisite Salmon Poke Infused with Yuzu, Truffled Yuzu Kosho Sauce, Spicy Avocado Purée, and Crispy Rice Cracker

The omega-3s in salmon are known to be a wellness booster, but did you know they can be a mood booster, too? EPA and DHA are two types of omega-3s found in salmon which have been linked to lower levels of depression. Add cistrus yuzu to a Salmon Poke plate: it has a stress reducing effect…and it makes an utterly joyful flavor combination.

Pumpkin Soup

A bowl of pumpkin soup garnished with sesame seeds on a dark blue ceramic plate

The coziness of this soup will warm your heart and add a little extra comfort to your day. Beyond just its warming effects, pumpkin has amino acids. Like many of the other recipes on this list, pumpkin has L-tryptophan, and it also it has antioxidants that can give you an extra boos.

Mushroom Stock

A stock pot with a variety of mushrooms and vegetables in a brown stock, with a wooden spoon in the upper left corner and some pepper and seasonings on a plate in the upper right corner.

Simmer yourself up a steaming pot of umami goodness with this rich, earthy Mushroom Stock recipe. Mushrooms are full of potassium and ergothioneine, which could help prevent stress and regulate nerve signals. You’ll be ready to dig in after a sprinkle of cheese and green onion on top. 

Peanut Butter Cup Banana Bread

A partially sliced loaf of peanut butter cup banana bread on a brown and white floral plate with a small bowl of whipped butter and a little dish of wrapped Reese's peanut butter cups.

You’ve already heard the health benefits of bananas above, but have you ever heard about the antidepressant effects of peanut butter? The compound beta-sitosterol within peanut butter works to help reduce feelings of anxiety. Just slather some butter on a slice of this moist, decadent Peanut Butter Cup Banana Bread for a little morning pick-me-up.

Grilled Zucchini with Tahini Yogurt Sauce and Corn Relish

A fun use of grilled zucchini that’ll help you break away from the mundane use of this versatile summer vegetable.

Incorporate the feel-good ingredient of yogurt into this filling family dinner. Gut health is an essential part of mental wellbeing and the probiotic lactobacillus in yogurt can improve both these elements. We turn yogurt into a special tahini sauce that compliments the Grilled Zucchini but still lets the Corn Relish shine. 

Savory Cheesecake with Grapes

Flat-lay image of a savory cheesecake, roasted grapes on a weathered table.

This unique Savory Cheesecake with Grapes combines the richness of cream cheese and blue cheese, the crispy crunch of phyllo, and roasted grapes. Not only does a bite of this savory starter tingle your taste buds, but the blue cheese can be a preventative measure against depression. LH dipeptide, found in fermented foods such as blue cheese, can help suppress depression-related symptoms.

The Ultimate Grilled Cheese and Charcuterie Board for 4 

a grilled cheese in the middle of a marble charcuterie board with red and purple olives and a variety of cured meats

It’s time to take everything you just learned about antidepressant foods and put it into one big Charcuterie Board using fresh produce from your local farmers. Start with a grilled cheese filled with tryptophan-laden cheeses like Abondance and Tomme de Savoie. Then, move on to completing the board with omega-3 rich salmon and whatever other serotonin fulfilling foods you enjoy.

Grilled Oysters with Roasted Green Chile

Grilled oysters displayed with a cilantro topping on a wooden table.

Oysters are often called a natural mood booster because they’re packed with nutrients that support brain chemistry and emotional balance. They’re one of the richest food sources of zinc, a mineral linked to lower rates of depression and better stress regulation. Oysters also provide omega-3 fatty acids, vitamin B12, and amino acids to help you feel as good as you can. The warming green chile here doesn’t hurt either!

Chicken Liver Paté and Honey-Fermented Figs

A tempting culinary composition: Millet Porridge Bread topped with luscious Chicken Liver Mousse and rehydrated figs, paired with a rich Amarone wine from Italy's countryside.

We know you may cringe a little at the thought of chicken livers but they’re actually powerful mood-supporting food thanks to their dense concentration of vitamin B12, folate, iron, and choline. These nutrients help the brain make serotonin and dopamine, support oxygen delivery to brain tissue, and reduce mental fatigue. Plus we promise the honey fermented figs and paté style preparation of the chicken livers make this dish delectable.

Roasted Brussels Sprouts and Balsamic Onion Galette

A Brussels sprout galette with red onion on it, cut into triangular slices.

You’ll get your fill of all the best veggies in a crispy galette form. Brussels sprouts support mental health with their supply of folate, vitamin C, and antioxidants. All of these are important for neurotransmitter production and for lowering inflammation linked to depression. These make Brussels sprouts especially great for the cooler months since that is when their harvest is most bountiful.

Spinach Soup with Cashew Cream

A bowl of spinach soup on a blue background.

We know leafy greens seem like an obvious antidepressant food but spinach specifically carries some pretty cool superpowers. It’s loaded with magnesium, folate, and iron which all help calm the nervous system, fuel the brain with oxygen, and keep mood-regulating chemicals firing smoothly. Spinach also delivers antioxidants that protect brain cells from stress and inflammation, while its folate supports serotonin production.

Story by Kylie Thomas

Subscribe to TABLE Magazine‘s print edition.

Pumpkin Spice and THC Nice Cookies

0
A tray of spiced cookies sits on a wooden table next to sprigs of cinnamon sticks.

It’s a sugar cookie meets pumpkin spice with a mellowing hit of Best Daze THC-infused sugar and salt. If that doesn’t bring a smile to your face, nothing will.  Consider stopping by a Best Daze location to learn about their salts and sugars, and ask all your questions.

Pumpkin Spice and THC Nice Cookies Recipe

Makes 36-40 cookies

INGREDIENTS

For the cookies
2 ½ cups all-purpose flour
1 tsp baking soda
1 cup (2 sticks) unsalted butter
½ tsp baking powder
1 cup Best Daze sugar
½ tsp Best Daze salt
1 egg
1 tsp vanilla

For the spice mixture
¼ cup Best Daze sugar
1 tsp Pumpkin spice mix (or more to taste)

INSTRUCTIONS

  1. Preheat oven to 350 degrees.
  2. In a bowl, sift together the flour, baking soda and baking powder. Add the Best Daze salt and whisk together.
  3. In a separate bowl or using a stand mixer, cream the butter, 1 cup of the Best Daze sugar. Add the egg and vanilla and beat to combine.
  4. Fold in the flour mixture.
  5. Form the dough into balls that weigh just under one ounce – about 36-40 in total. Mix together the ingredients for the spice mixture in a small bowl and roll the dough balls in the mixture.
  6. Line large baking pans with either silpat or parchment paper and place the dough balls on the pans, allowing space between for them to spread.
  7. Place in the pre-heated oven and bake for about 11 minutes. The cookies should still be soft.
  8. Remove from the oven. Allow to cool for two minutes on the pan then remove and allow to finish cooling on a wire rack. Store in an airtight container.

Recipe by Julia Platt Leonard / Styling by Anna Franklin / Photography by Dave Bryce

A footer photo with a white background, one TABLE Magazine and subscribe info and button

Subscribe to TABLE Magazine‘s print edition.

THC Double Chocolate Macadamia Nut Cookies

0
A plate holds a bunch of double chocolate chip macadamia nut cookies on a brown table.

Cocoa powder + dark chocolate = crave-able cookies. Best Daze sugar, infused with THC, makes them both crave-able and mellow. A sprinkle of Best Daze salt on top before baking adds a savory note and a touch more THC. Feel free to use chopped pecans or walnuts instead of macadamia nuts. Also feel free to stop by a Best Daze location to ask about how many THC-infused cookies you might consider as the perfect snack. 

THC Double Chocolate Macadamia Nut Cookies Recipe

Makes 48-50 cookies

INGREDIENTS

2 ¼ cups all-purpose flour
1 tsp baking soda
¼ cup cocoa powder
1 tsp Best Daze salt + additional to top the cookies
½ lb (two sticks) unsalted butter
¾ cup Best Daze sugar 
¾ cup brown sugar
2 eggs, lightly beaten
4 oz-60% bittersweet chocolate
1 cup coarsely chopped macadamia nuts

INSTRUCTIONS

  1. Preheat oven to 350 degrees
  2. In a bowl, sift together the flour, baking soda and cocoa powder. Add the Best Daze salt and whisk together.
  3. In a separate large bowl or using a stand mixer, cream together the butter, Best Daze sugar, and brown sugar. Add the eggs and beat to combine.
  4. Fold in the flour mixture then stir in the chocolate and nuts.
  5. Form the dough into balls that weigh just under one ounce – about 48-50 in total.
  6. Line large baking pans with either silpat or parchment paper and place the dough balls, allowing space between for them to expand. Gently press the balls to flatten the tops and dust with a light sprinkle of Best Daze salt.
  7. Place in the pre-heated over and bake for about 10-11 minutes, turning the pan once halfway through baking. 
  8. Remove from the oven – the cookies should still look slightly soft. Allow them to cool for two minutes on the pan then remove and allow to finish cooling on a wire rack. Store in an airtight container.

Recipe by Julia Platt Leonard / Styling by Anna Franklin / Photography by Dave Bryce

A footer photo with a white background, one TABLE Magazine and subscribe info and button

Subscribe to TABLE Magazine‘s print edition.

Get Toasted Nuts

0
A light greyish blue bowl of seasoned variety nuts and pumpkin seeds on a wooden table

Ina Garten is our go-to for easy, effortless entertaining and her Chipotle-Rosemary nuts are a party favorite. We’ve added our own TABLE touch with a mix of chile powders, cranberry juice instead of orange, and a different blend of sweeteners and seasonings which includes Best Daze signature THC sugar and salts. Make sure you use raw nuts, not roasted or seasoned. A visit to Best Daze will get you well-informed advice on how many Get Toasted Nuts you might want to munch on.

Get Toasted Nuts Recipe

INGREDIENTS

2 cups pecans
2 cups cashews
1 ½ cups pepitas (pumpkin seeds)
2 cups almonds
1/3 cup Best Daze sugar
4 tsp Best Daze salt
¼ cup pure maple syrup
2 tbsp olive oil
1 tsp chipotle chile powder
1 tsp ancho chile powder
3 tbsp finely chopped rosemary

INSTRUCTIONS

  1. Preheat oven to 350 degrees.
  2. In a large mixing bowl, combine the nuts and seeds with the sugar, half of the salt, (2 teaspoons), maple syrup, olive oil, chile powders and half of the rosemary (1 ½ tablespoons). 
  3. Line a large baking tray with silpat or baking parchment and spread the nut mixture evenly in the pan. 
  4. Bake for 25-30 minutes, stirring occasionally until the nuts are golden brown. 
  5. Remove from the oven and stir in the remaining rosemary (1 ½ tablespoons) and salt (2 teaspoons), allow to cool, stirring the mixture occasionally to stop the nuts from sticking together. Store in an airtight container.  

Recipe by Julia Platt Leonard / Styling by Anna Franklin / Photography by Dave Bryce

A footer photo with a white background, one TABLE Magazine and subscribe info and button

Subscribe to TABLE Magazine‘s print edition.

Simple Chimichurri Shrimp with Couscous

0
A large scalloped edge white dish with shrimp over couscous, and a glass of wine on a textured white surface

This fast and simple Chimichurri Shrimp with Couscous recipe incorporates premade, store-bought ingredients for time-saving preparation, making it a perfect weekday meal on those days when schedules are tight. Spend less time in the kitchen and more time with loved ones after trying this flavorful meal that will satisfy even the picker eaters of the house.

What is Chimichurri?

This herbaceous sauce adds a pop of flavor to any protein. Chimichurri originates in Argentina and comes from the grinding of herbs and oils.. This uncooked condiment bursts with the freshness of parsley, oregano, garlic, and a touch of chili. The addition of olive oil and vinegar provides the base, creating a tangy and slightly spicy sauce that elevates grilled meats, roasted vegetables, and even simple grilled seafood like in our Chimichurri Shrimp with Couscous to new heights.

Print

clock clock iconcutlery cutlery iconflag flag iconfolder folder iconinstagram instagram iconpinterest pinterest iconfacebook facebook iconprint print iconsquares squares iconheart heart iconheart solid heart solid icon

A large scalloped edge white dish with shrimp over couscous, and a glass of wine on a textured white surface

Simple Chimichurri Shrimp with Couscous


5 Stars 4 Stars 3 Stars 2 Stars 1 Star


  • Author:
    Chef Jackie Page

Description

Add a little bit of spice to your couscous and shrimp.


Ingredients


Scale

  • Colossal shrimp
  • Olive oil, for sautéing
  • Chimichurri sauce
  • 1 red pepper, sliced into strips
  • Fresh asparagus, cut into 1-inch pieces
  • Salt and pepper to taste
  • Couscous, your favorite brand
  • ¼ cup olive oil, for couscous
  • Fresh parsley


Instructions

  1. Sauté the shrimp in olive oil, and just before they’re done,add the chimichurri sauce. Toss and set aside.
  2. Sauté the peppers and asparagus in the same pan as the shrimp, adding a little bit more olive oil, salt, and pepper.
  3. Prepare your couscous by box instructions. Add a ¼ cup of olive oil to the couscous. Add peppers and asparagus and lightly toss.
  4. Plate couscous and garnish with shrimp and fresh parsley.

window.trCommon={“minRating”:6,”ajaxurl”:”https://www.tablemagazine.com/wp-admin/admin-ajax.php”,”ratingNonce”:”ea9827f2c8″,”postId”:4887};
window.TastyRecipes = window.TastyRecipes || {};

window.TastyRecipes.smoothScroll = {
init() {
document.addEventListener( ‘click’, ( e ) => {
let anchor = e.target;
if ( anchor.tagName !== ‘A’ ) {
anchor = anchor.closest( ‘a.tasty-recipes-scrollto’ );
}

if ( ! anchor || ! anchor.classList.contains( ‘tasty-recipes-scrollto’ ) ) {
return;
}

const elementHref = anchor.getAttribute( ‘href’ );
if ( ! elementHref ) {
return;
}

e.preventDefault();
this.goToSelector( elementHref );
});
},
goToSelector( selector ) {
const element = document.querySelector( selector );
if ( ! element ) {
return;
}
element.scrollIntoView( { behavior: ‘smooth’ } );
}
};

document.addEventListener(
‘DOMContentLoaded’,
() => window.TastyRecipes.smoothScroll.init()
);

(function(){

var bothEquals = function( d1, d2, D ) {
var ret = 0;
if (d1<=D) {
ret++;
}
if (d2<=D) {
ret++;
}
return ret === 2;
};

var frac =function frac(x,D,mixed){var n1=Math.floor(x),d1=1;var n2=n1+1,d2=1;if(x!==n1)while(bothEquals(d1,d2,D)){var m=(n1+n2)/(d1+d2);if(x===m){if(d1+d2d2)d2=D+1;else d1=D+1;break}else if(xD){d1=d2;n1=n2}if(!mixed)return[0,n1,d1];var q=Math.floor(n1/d1);return[q,n1-q*d1,d1]};frac.cont=function cont(x,D,mixed){var sgn=x<0?-1:1;var B=x*sgn;var P_2=0,P_1=1,P=0;var Q_2=1,Q_1=0,Q=0;var A=Math.floor(B);while(Q_1<D){A=Math.floor(B);P=A*P_1+P_2;Q=A*Q_1+Q_2;if(B-AD){if(Q_1>D){Q=Q_2;P=P_2}else{Q=Q_1;P=P_1}}if(!mixed)return[0,sgn*P,Q];var q=Math.floor(sgn*P/Q);return[q,sgn*P-q*Q,Q]};

window.tastyRecipesVulgarFractions = JSON.parse(decodeURIComponent(“%7B%22%C2%BC%22%3A%221%2F4%22%2C%22%C2%BD%22%3A%221%2F2%22%2C%22%C2%BE%22%3A%223%2F4%22%2C%22%E2%85%93%22%3A%221%2F3%22%2C%22%E2%85%94%22%3A%222%2F3%22%2C%22%E2%85%95%22%3A%221%2F5%22%2C%22%E2%85%96%22%3A%222%2F5%22%2C%22%E2%85%97%22%3A%223%2F5%22%2C%22%E2%85%98%22%3A%224%2F5%22%2C%22%E2%85%99%22%3A%221%2F6%22%2C%22%E2%85%9A%22%3A%225%2F6%22%2C%22%E2%85%9B%22%3A%221%2F8%22%2C%22%E2%85%9C%22%3A%223%2F8%22%2C%22%E2%85%9D%22%3A%225%2F8%22%2C%22%E2%85%9E%22%3A%227%2F8%22%7D”));

window.tastyRecipesFormatAmount = function(amount, el) {
if ( parseFloat( amount ) === parseInt( amount ) ) {
return amount;
}
var roundType = ‘frac’;
if (typeof el.dataset.amountShouldRound !== ‘undefined’) {
if (‘false’ !== el.dataset.amountShouldRound) {
if ( ‘number’ === el.dataset.amountShouldRound ) {
roundType = ‘number’;
} else if (‘frac’ === el.dataset.amountShouldRound) {
roundType = ‘frac’;
} else if (‘vulgar’ === el.dataset.amountShouldRound) {
roundType = ‘vulgar’;
} else {
roundType = ‘integer’;
}
}
}
if (‘number’ === roundType) {
amount = Number.parseFloat(amount).toPrecision(2);
} else if (‘integer’ === roundType) {
amount = Math.round(amount);
} else if (‘frac’ === roundType || ‘vulgar’ === roundType) {
var denom = 8;
if (typeof el.dataset.unit !== ‘undefined’) {
var unit = el.dataset.unit;
if ([‘cups’,’cup’,’c’].includes(unit)) {
denom = 4;
if (0.125 === amount) {
denom = 8;
}
if (“0.1667″ === Number.parseFloat( amount ).toPrecision(4)) {
denom = 6;
}
}
if ([‘tablespoons’,’tablespoon’,’tbsp’].includes(unit)) {
denom = 2;
}
if ([‘teaspoons’,’teaspoon’,’tsp’].includes(unit)) {
denom = 8;
}
}
var amountArray = frac.cont( amount, denom, true );
var newAmount = ”;
if ( amountArray[1] !== 0 ) {
newAmount = amountArray[1] + ‘/’ + amountArray[2];
if (‘vulgar’ === roundType) {
Object.keys(window.tastyRecipesVulgarFractions).forEach(function(vulgar) {
if (newAmount === window.tastyRecipesVulgarFractions[vulgar]) {
newAmount = vulgar;
}
});
}
}
if ( newAmount ) {
newAmount = ‘ ‘ + newAmount;
}
if ( amountArray[0] ) {
newAmount = amountArray[0] + newAmount;
}
amount = newAmount;
}
return amount;
};

window.tastyRecipesUpdatePrintLink = () => {

const printButton = document.querySelector( ‘.tasty-recipes-print-button’ );

if ( ! printButton ) {
return;
}

const printURL = new URL( printButton.href );
const searchParams = new URLSearchParams( printURL.search );

const unitButton = document.querySelector( ‘.tasty-recipes-convert-button-active’ );
const scaleButton = document.querySelector( ‘.tasty-recipes-scale-button-active’ );

let unit = ”;
let scale = ”;

if ( unitButton ) {
unit = unitButton.dataset.unitType;
searchParams.delete(‘unit’);
searchParams.set( ‘unit’, unit );
}

if ( scaleButton ) {
scale = scaleButton.dataset.amount;
searchParams.set( ‘scale’, scale );
}

const paramString = searchParams.toString();
const newURL = ” === paramString ? printURL.href : printURL.origin + printURL.pathname + ‘?’ + paramString;
const printLinks = document.querySelectorAll( ‘.tasty-recipes-print-link’ );

printLinks.forEach( ( el ) => {
el.href = newURL;
});

const printButtons = document.querySelectorAll( ‘.tasty-recipes-print-button’ );
printButtons.forEach( ( el ) => {
el.href = newURL;
});
};

document.addEventListener( ‘DOMContentLoaded’, () => {

if ( ! window.location.href.includes( ‘/print/’ ) ) {
return;
}

const searchParams = new URLSearchParams( window.location.search );

const unit = searchParams.get( ‘unit’ );
const scale = searchParams.get( ‘scale’ );

if ( unit && ( ‘metric’ === unit || ‘usc’ === unit ) ) {
document.querySelector( ‘.tasty-recipes-convert-button[data-unit-type=”‘ + unit + ‘”]’ ).click();
}

if ( scale && Number(scale) > 0 ) {
document.querySelector( ‘.tasty-recipes-scale-button[data-amount=”‘ + Number(scale) + ‘”]’ ).click();
}
});
}());

(function(){
var buttonClass = ‘tasty-recipes-scale-button’,
buttonActiveClass = ‘tasty-recipes-scale-button-active’,
buttons = document.querySelectorAll(‘.tasty-recipes-scale-button’);
if ( ! buttons ) {
return;
}

buttons.forEach(function(button){
button.addEventListener(‘click’, function(event){
event.preventDefault();
var recipe = event.target.closest(‘.tasty-recipes’);
if ( ! recipe ) {
return;
}
var otherButtons = recipe.querySelectorAll(‘.’ + buttonClass);
otherButtons.forEach(function(bt){
bt.classList.remove(buttonActiveClass);
});
button.classList.add(buttonActiveClass);

var scalables = recipe.querySelectorAll(‘span[data-amount]’);
var buttonAmount = parseFloat( button.dataset.amount );
scalables.forEach(function(scalable){
if (typeof scalable.dataset.amountOriginalType === ‘undefined’
&& typeof scalable.dataset.nfOriginal === ‘undefined’) {
if (-1 !== scalable.innerText.indexOf(‘/’)) {
scalable.dataset.amountOriginalType = ‘frac’;
}
if (-1 !== scalable.innerText.indexOf(‘.’)) {
scalable.dataset.amountOriginalType = ‘number’;
}
Object.keys(window.tastyRecipesVulgarFractions).forEach(function(vulgar) {
if (-1 !== scalable.innerText.indexOf(vulgar)) {
scalable.dataset.amountOriginalType = ‘vulgar’;
}
});
if (typeof scalable.dataset.amountOriginalType !== ‘undefined’) {
scalable.dataset.amountShouldRound = scalable.dataset.amountOriginalType;
}
}
var amount = parseFloat( scalable.dataset.amount ) * buttonAmount;
amount = window.tastyRecipesFormatAmount(amount, scalable);
if ( typeof scalable.dataset.unit !== ‘undefined’ ) {
if ( ! scalable.classList.contains(‘nutrifox-quantity’) ) {
if ( ! scalable.classList.contains(‘nutrifox-second-quantity’) ) {
amount += ‘ ‘ + scalable.dataset.unit;
}
}
}
scalable.innerText = amount;
});

var nonNumerics = recipe.querySelectorAll(‘[data-has-non-numeric-amount]’);
nonNumerics.forEach(function(nonNumeric){
var indicator = nonNumeric.querySelector(‘span[data-non-numeric-label]’);
if ( indicator ) {
nonNumeric.removeChild(indicator);
}
if ( 1 !== buttonAmount ) {
indicator = document.createElement(‘span’);
indicator.setAttribute(‘data-non-numeric-label’, true);
var text = document.createTextNode(‘ (x’ + buttonAmount + ‘)’);
indicator.appendChild(text);
nonNumeric.appendChild(indicator);
}
});

window.tastyRecipesUpdatePrintLink();
});
});
}());

window.TastyRecipes = window.TastyRecipes || {};
window.TastyRecipes.cookMode = {
wakeLockApi: false,
wakeLock: false,
cookModeSelector: ‘.tasty-recipes-cook-mode’,
init() {
if (“wakeLock” in navigator && “request” in navigator.wakeLock) {
this.wakeLockApi = navigator.wakeLock;
}

const cookModes = document.querySelectorAll(this.cookModeSelector);

if (cookModes.length > 0) {
for (const cookMode of cookModes) {
if (this.wakeLockApi) {
cookMode.querySelector(‘input[type=”checkbox”]’).addEventListener(“change”, event => {
this.checkboxChange(event.target);
}, false);
} else {
cookMode.style.display = “none”;
}
}
}
},
checkboxChange(checkbox) {
if (checkbox.checked) {
this.lock();
} else {
this.unlock();
}
},
setCheckboxesState(state) {
const checkboxes = document.querySelectorAll(this.cookModeSelector + ‘ input[type=”checkbox”]’);
for (const checkbox of checkboxes) {
checkbox.checked = state;
}
},
async lock() {
try {
this.wakeLock = await this.wakeLockApi.request(“screen”);
this.wakeLock.addEventListener(“release”, () => {
this.wakeLock = false;
this.setCheckboxesState(false);
});
this.setCheckboxesState(true);
} catch (error) {
this.setCheckboxesState(false);
}
},
unlock() {
if (this.wakeLock) {
this.wakeLock.release();
this.wakeLock = false;
}
this.setCheckboxesState(false);
}
};

(function(callback) {
if (document.readyState !== “loading”) {
callback();
} else {
document.addEventListener(“DOMContentLoaded”, callback);
}
})(() => {
window.TastyRecipes.cookMode.init();
});

window.TastyRecipes = window.TastyRecipes || {};

window.TastyRecipes.staticTooltip = {
element: null,
tooltipElement: null,
deleting: false,
init( element ) {
if ( this.deleting ) {
return;
}
this.element = element;
this.buildElements();
},
destroy() {
if ( ! this.tooltipElement || this.deleting ) {
return;
}

this.deleting = true;
this.tooltipElement.classList.remove( ‘opened’ );

setTimeout( () => {
this.tooltipElement.remove();
this.deleting = false;
}, 500 );
},
buildElements() {
const tooltipElement = document.createElement( ‘div’ );
tooltipElement.classList.add( ‘tasty-recipes-static-tooltip’);
tooltipElement.setAttribute( ‘id’, ‘tasty-recipes-tooltip’ );

const currentTooltipElement = document.getElementById( ‘tasty-recipes-tooltip’ );
if ( currentTooltipElement ) {
document.body.replaceChild( tooltipElement, currentTooltipElement );
} else {
document.body.appendChild( tooltipElement );
}

this.tooltipElement = document.getElementById( ‘tasty-recipes-tooltip’ );
},
show() {
if ( ! this.tooltipElement ) {
return;
}

const tooltipTop = this.element.getBoundingClientRect().top
+ window.scrollY
– 10 // 10px offset.
– this.tooltipElement.getBoundingClientRect().height;
const tooltipLeft = this.element.getBoundingClientRect().left
– ( this.tooltipElement.getBoundingClientRect().width / 2 )
+ ( this.element.getBoundingClientRect().width / 2 ) – 1;
const posLeft = Math.max( 10, tooltipLeft );
this.maybeRemoveTail( posLeft !== tooltipLeft );

this.tooltipElement.setAttribute( ‘style’, ‘top:’ + tooltipTop + ‘px;left:’ + posLeft + ‘px;’ );
this.tooltipElement.classList.add( ‘opened’ );

},
maybeRemoveTail( removeTail ) {
if ( removeTail ) {
this.tooltipElement.classList.add( ‘tr-hide-tail’ );
} else {
this.tooltipElement.classList.remove( ‘tr-hide-tail’ );
}
},
changeMessage( message ) {
if ( ! this.tooltipElement ) {
return;
}
this.tooltipElement.innerHTML = message;
}
};

window.TastyRecipes.ajax = {
sendPostRequest( url, data, success, failure ) {
const xhr = new XMLHttpRequest();
xhr.open( ‘POST’, url, true );
xhr.send( this.preparePostData( data ) );

xhr.onreadystatechange = () => {
if ( 4 !== xhr.readyState ) {
return;
}
if ( xhr.status === 200 ) {
success( JSON.parse( xhr.responseText ) );
return;
}

failure( xhr );
};

xhr.onerror = () => {
failure( xhr );
};
},
preparePostData( data ) {
const formData = new FormData();

for ( const key in data ) {
formData.append( key, data[key] );
}
return formData;
},
};

window.TastyRecipes.ratings = {
defaultRating: 0,
currentRatingPercentage: 100,
savingRating: false,
init( minRating ) {
this.minRating = minRating;

this.formWatchRating();
this.closeTooltipWhenClickOutside();
this.addBodyClassBasedOnSelectedRating();
this.backwardCompFormRatingPosition();
},
formWatchRating() {
const ratings = document.querySelectorAll(‘.tasty-recipes-no-ratings-buttons [data-rating]’);
if ( ratings.length {
event.preventDefault();
this.defaultRating = event.target.closest( ‘.checked’ ).dataset.rating;
this.setCheckedStar( event.target );
this.maybeSendRating( this.defaultRating, event.target );
this.setRatingInForm( this.defaultRating );
} );
}
},
closeTooltipWhenClickOutside() {
window.addEventListener( ‘click’, e => {
// Bailout (don’t remove the tooltip) when the clicked element is a rating star, or it’s the tooltip itself.
if ( e.target.closest( ‘.tasty-recipes-rating’ ) || e.target.classList.contains( ‘tasty-recipes-static-tooltip’ ) ) {
return;
}

window.TastyRecipes.staticTooltip.destroy();
} );
},
setRatingInForm( rating ) {
const ratingInput = document.querySelector( ‘#respond .tasty-recipes-rating[value=”‘ + rating + ‘”]’ );
if ( ! ratingInput ) {
return;
}
ratingInput.click();
},
addBodyClassBasedOnSelectedRating() {
const ratingInputs = document.querySelectorAll( ‘input.tasty-recipes-rating’ );
if ( ! ratingInputs ) {
return;
}
for ( const ratingInput of ratingInputs ) {
ratingInput.addEventListener( ‘click’, currentEvent => {
const selectedRating = currentEvent.target.getAttribute( ‘value’ );
this.handleBodyClassByRating( selectedRating );
this.toggleCommentTextareaRequired( selectedRating );
} );
}
},
handleBodyClassByRating( rating ) {
if ( rating < this.minRating ) {
document.body.classList.remove( 'tasty-recipes-selected-minimum-rating' );
return;
}
document.body.classList.add( 'tasty-recipes-selected-minimum-rating' );
},
toggleCommentTextareaRequired( rating ) {
const commentTextarea = document.getElementById( 'comment' );
if ( ! commentTextarea ) {
return;
}

if ( rating {
window.TastyRecipes.staticTooltip.changeMessage( response.data.message );
window.TastyRecipes.staticTooltip.show();
this.updateAverageText( response.data, recipeCardElement );
this.maybeFillCommentForm( response.data );

// Hide the tooltip after 5 seconds.
setTimeout( () => {
this.maybeResetTooltip( recipeCardElement, response.data, rating );
}, 5000 );
},
() => {
this.resetTooltip( recipeCardElement );
}
);
},
updateAverageText( data, recipeCardElement ) {
if ( ! data.average ) {
return;
}
this.setRatingPercent( data );

if ( ! data.count ) {
return;
}

const quickLink = document.querySelector( ‘.tasty-recipes-rating-link’ );
if ( quickLink ) {
this.setTextInContainer( quickLink, data );
this.setPartialStar( quickLink );
}

const cardStars = recipeCardElement.querySelector( ‘.tasty-recipes-ratings-buttons’ );
cardStars.dataset.trDefaultRating = data.average;
this.setTextInContainer( recipeCardElement.querySelector( ‘.tasty-recipes-rating’ ), data );
},
setTextInContainer( container, data ) {
if ( ! container ) {
return;
}

if ( data.label ) {
const ratingLabelElement = container.querySelector( ‘.rating-label’ );
if ( ratingLabelElement ) {
ratingLabelElement.innerHTML = data.label;
}
return;
}

const averageElement = container.querySelector( ‘.average’ );
if ( averageElement ) {
averageElement.textContent = data.average;
}

const countElement = container.querySelector( ‘.count’ );
if ( countElement ) {
countElement.textContent = data.count;
}
},
setPartialStar( container ) {
const highestStar = container.querySelector( ‘[data-rating=”‘ + Math.ceil( this.defaultRating ) + ‘”]’ );
if ( highestStar ) {
highestStar.dataset.trClip = this.currentRatingPercentage;
}
},
setRatingPercent( data ) {
this.defaultRating = data.average.toFixed( 1 );
const parts = data.average.toFixed( 2 ).toString().split( ‘.’ );
this.currentRatingPercentage = parts[1] ? parts[1] : 100;
if ( this.currentRatingPercentage === ’00’ ) {
this.currentRatingPercentage = 100;
}
},
setCheckedStar( target ) {
const cardRatingContainer = target.closest( ‘.tasty-recipes-ratings-buttons’ );
const selectedRatingElement = cardRatingContainer.querySelector( ‘[data-tr-checked]’ );
if ( selectedRatingElement ) {
delete selectedRatingElement.dataset.trChecked;
}

const thisStar = target.closest( ‘.tasty-recipes-rating’ );
thisStar.dataset.trChecked = 1;
thisStar.querySelector( ‘[data-tr-clip]’ ).dataset.trClip = 100;
},
maybeFillCommentForm( data ) {
if ( ! data.comment || ! data.comment.content ) {
return;
}

const commentForm = document.querySelector( ‘#commentform’ );
if ( ! commentForm ) {
return;
}

const commentBox = commentForm.querySelector( ‘[name=comment]’ );
if ( ! commentBox || commentBox.value ) {
return;
}

// Add comment details for editing.
commentBox.innerHTML = data.comment.content;
if ( data.comment.name ) {
commentForm.querySelector( ‘[name=author]’ ).value = data.comment.name;
commentForm.querySelector( ‘[name=email]’ ).value = data.comment.email;
}
},
maybeResetTooltip( recipeCardElement, data, rating ) {
if ( this.savingRating === rating ) {
this.resetTooltip( recipeCardElement, data );
}
},
resetTooltip( recipeCardElement, data ) {
window.TastyRecipes.staticTooltip.destroy();
this.savingRating = false;

// Reset the default rating.
const cardRatingContainer = recipeCardElement.querySelector( ‘.tasty-recipes-ratings-buttons’ );
if ( cardRatingContainer ) {
this.defaultRating = ( data && data.average ) ? data.average.toFixed(1) : cardRatingContainer.dataset.trDefaultRating;
cardRatingContainer.dataset.trDefaultRating = this.defaultRating;

this.resetSelectedStar( cardRatingContainer, data );
}
},
resetSelectedStar( cardRatingContainer ) {
const selectedRatingElement = cardRatingContainer.querySelector( ‘[data-rating=”‘ + Math.ceil( this.defaultRating ) + ‘”]’ );
if ( selectedRatingElement ) {
selectedRatingElement.querySelector( ‘[data-tr-clip]’ ).dataset.trClip = this.currentRatingPercentage;
selectedRatingElement.parentNode.dataset.trChecked = 1;
}

const previousSelectedElement= cardRatingContainer.querySelector( ‘[data-tr-checked]’ );
if ( previousSelectedElement ) {
const currentSelectedRating = previousSelectedElement.querySelector(‘[data-rating]’);
if ( currentSelectedRating !== selectedRatingElement ) {
delete previousSelectedElement.dataset.trChecked;
}
}
},
backwardCompFormRatingPosition() {
const ratingsButtons = document.querySelector( ‘#respond .tasty-recipes-ratings-buttons, #tasty-recipes-comment-rating .tasty-recipes-ratings-buttons’ );
if ( ! ratingsButtons ) {
return;
}
const ratingsButtonsStyles = window.getComputedStyle(ratingsButtons);
if ( ! ratingsButtonsStyles.display.includes( ‘flex’ ) ) {
ratingsButtons.style.direction = ‘rtl’;
}

if ( typeof tastyRecipesRating !== ‘undefined’ ) {
// Select the rating that was previously selected in admin.
ratingsButtons.querySelector( ‘.tasty-recipes-rating[value=”‘ + tastyRecipesRating + ‘”]’ ).checked = true;
}

const ratingSpans = ratingsButtons.querySelectorAll( ‘.tasty-recipes-rating’ );
for (const ratingSpan of ratingSpans) {
ratingSpan.addEventListener( ‘click’, event => {
if ( ratingSpan === event.target ) {
return;
}
ratingSpan.previousElementSibling.click();
} );
}
}
};

(function(callback) {
if (document.readyState !== “loading”) {
callback();
} else {
window.addEventListener( ‘load’, callback );
}
})(() => {
window.TastyRecipes.ratings.init( window.trCommon ? window.trCommon.minRating : 4 );
});

Recipe by Chef Jackie Page
Styling by Anna Franklin
Photography by Dave Bryce

Subscribe to TABLE Magazine’s print edition.

Braised Cabbage and Beans

0
A blue bowl holdsbraised cabbage and beans topped with a lemon slice and accompanied by a fork, spoon, and glass of lemon water.

In our Braised Cabbage and Beans recipe you get a hearty dose of both of these superfoods along with tasty vegetable stock, spicy peppers, and a bit of lemon juice for that tangy zing. It’s a dish that’s simple to prepare and warms the soul during the cold days of winter. The specific type of canned peppers we use are quite spicy. If you’d like something more mild, you can replace them with canned roasted red peppers.

Light up the stove and get a-cookin’, folks. You’ll be glad you did.

What Makes This Cabbage and Beans Recipe so Nutritious? 

While the virtues of cabbage may be obvious (it’s good for you!), beans are another healthy choice to incorporate into your diet. Their antioxidants, fiber, and other nutrients, prevent cell damage, help promote a healthy digestive system, and fight off diseases.

Print

clock clock iconcutlery cutlery iconflag flag iconfolder folder iconinstagram instagram iconpinterest pinterest iconfacebook facebook iconprint print iconsquares squares iconheart heart iconheart solid heart solid icon

A blue bowl holdsbraised cabbage and beans topped with a lemon slice and accompanied by a fork, spoon, and glass of lemon water.

Braised Cabbage and Beans


5 Stars 4 Stars 3 Stars 2 Stars 1 Star


  • Author:
    Anna Franklin

Description

Cabbage and beans make for a warming and comforting winter meal.


Ingredients


Scale

  • 1 cup dried mixed beans
  • 1 head green cabbage
  • 2 tablespoons olive oil
  • 1 medium onion
  • 2 cloves of garlic, minced
  • 2 cups vegetable stock, homemade or store-bought
  • 1/2 jar of Shoe String Peppers
  • 1 lemon, juiced
  • Salt and pepper to taste
  • 1/4 cup freshly chopped parsley for garnish


Instructions

  1. In a bowl, rinse and soak beans for at least 2 hours but preferably overnight.
  2. Cut cabbage into 6 wedges and dice onion.
  3. In a hot dutch oven, add 2 tablespoons of olive oil and add cabbage wedges. Cook until the outsides are crispy and brown. Add onion, garlic, beans and vegetable stock. Simmer for 1-2 hours or until the beans are fully cooked and tender.
  4. Add in the shoe string peppers, the juice of one lemon, salt and pepper to taste. Garnish with fresh parsley and serve.

window.trCommon={“minRating”:6,”ajaxurl”:”https://www.tablemagazine.com/wp-admin/admin-ajax.php”,”ratingNonce”:”70e0d6828f”,”postId”:8272};
window.TastyRecipes = window.TastyRecipes || {};

window.TastyRecipes.smoothScroll = {
init() {
document.addEventListener( ‘click’, ( e ) => {
let anchor = e.target;
if ( anchor.tagName !== ‘A’ ) {
anchor = anchor.closest( ‘a.tasty-recipes-scrollto’ );
}

if ( ! anchor || ! anchor.classList.contains( ‘tasty-recipes-scrollto’ ) ) {
return;
}

const elementHref = anchor.getAttribute( ‘href’ );
if ( ! elementHref ) {
return;
}

e.preventDefault();
this.goToSelector( elementHref );
});
},
goToSelector( selector ) {
const element = document.querySelector( selector );
if ( ! element ) {
return;
}
element.scrollIntoView( { behavior: ‘smooth’ } );
}
};

document.addEventListener(
‘DOMContentLoaded’,
() => window.TastyRecipes.smoothScroll.init()
);

(function(){

var bothEquals = function( d1, d2, D ) {
var ret = 0;
if (d1<=D) {
ret++;
}
if (d2<=D) {
ret++;
}
return ret === 2;
};

var frac =function frac(x,D,mixed){var n1=Math.floor(x),d1=1;var n2=n1+1,d2=1;if(x!==n1)while(bothEquals(d1,d2,D)){var m=(n1+n2)/(d1+d2);if(x===m){if(d1+d2d2)d2=D+1;else d1=D+1;break}else if(xD){d1=d2;n1=n2}if(!mixed)return[0,n1,d1];var q=Math.floor(n1/d1);return[q,n1-q*d1,d1]};frac.cont=function cont(x,D,mixed){var sgn=x<0?-1:1;var B=x*sgn;var P_2=0,P_1=1,P=0;var Q_2=1,Q_1=0,Q=0;var A=Math.floor(B);while(Q_1<D){A=Math.floor(B);P=A*P_1+P_2;Q=A*Q_1+Q_2;if(B-AD){if(Q_1>D){Q=Q_2;P=P_2}else{Q=Q_1;P=P_1}}if(!mixed)return[0,sgn*P,Q];var q=Math.floor(sgn*P/Q);return[q,sgn*P-q*Q,Q]};

window.tastyRecipesVulgarFractions = JSON.parse(decodeURIComponent(“%7B%22%C2%BC%22%3A%221%2F4%22%2C%22%C2%BD%22%3A%221%2F2%22%2C%22%C2%BE%22%3A%223%2F4%22%2C%22%E2%85%93%22%3A%221%2F3%22%2C%22%E2%85%94%22%3A%222%2F3%22%2C%22%E2%85%95%22%3A%221%2F5%22%2C%22%E2%85%96%22%3A%222%2F5%22%2C%22%E2%85%97%22%3A%223%2F5%22%2C%22%E2%85%98%22%3A%224%2F5%22%2C%22%E2%85%99%22%3A%221%2F6%22%2C%22%E2%85%9A%22%3A%225%2F6%22%2C%22%E2%85%9B%22%3A%221%2F8%22%2C%22%E2%85%9C%22%3A%223%2F8%22%2C%22%E2%85%9D%22%3A%225%2F8%22%2C%22%E2%85%9E%22%3A%227%2F8%22%7D”));

window.tastyRecipesFormatAmount = function(amount, el) {
if ( parseFloat( amount ) === parseInt( amount ) ) {
return amount;
}
var roundType = ‘frac’;
if (typeof el.dataset.amountShouldRound !== ‘undefined’) {
if (‘false’ !== el.dataset.amountShouldRound) {
if ( ‘number’ === el.dataset.amountShouldRound ) {
roundType = ‘number’;
} else if (‘frac’ === el.dataset.amountShouldRound) {
roundType = ‘frac’;
} else if (‘vulgar’ === el.dataset.amountShouldRound) {
roundType = ‘vulgar’;
} else {
roundType = ‘integer’;
}
}
}
if (‘number’ === roundType) {
amount = Number.parseFloat(amount).toPrecision(2);
} else if (‘integer’ === roundType) {
amount = Math.round(amount);
} else if (‘frac’ === roundType || ‘vulgar’ === roundType) {
var denom = 8;
if (typeof el.dataset.unit !== ‘undefined’) {
var unit = el.dataset.unit;
if ([‘cups’,’cup’,’c’].includes(unit)) {
denom = 4;
if (0.125 === amount) {
denom = 8;
}
if (“0.1667″ === Number.parseFloat( amount ).toPrecision(4)) {
denom = 6;
}
}
if ([‘tablespoons’,’tablespoon’,’tbsp’].includes(unit)) {
denom = 2;
}
if ([‘teaspoons’,’teaspoon’,’tsp’].includes(unit)) {
denom = 8;
}
}
var amountArray = frac.cont( amount, denom, true );
var newAmount = ”;
if ( amountArray[1] !== 0 ) {
newAmount = amountArray[1] + ‘/’ + amountArray[2];
if (‘vulgar’ === roundType) {
Object.keys(window.tastyRecipesVulgarFractions).forEach(function(vulgar) {
if (newAmount === window.tastyRecipesVulgarFractions[vulgar]) {
newAmount = vulgar;
}
});
}
}
if ( newAmount ) {
newAmount = ‘ ‘ + newAmount;
}
if ( amountArray[0] ) {
newAmount = amountArray[0] + newAmount;
}
amount = newAmount;
}
return amount;
};

window.tastyRecipesUpdatePrintLink = () => {

const printButton = document.querySelector( ‘.tasty-recipes-print-button’ );

if ( ! printButton ) {
return;
}

const printURL = new URL( printButton.href );
const searchParams = new URLSearchParams( printURL.search );

const unitButton = document.querySelector( ‘.tasty-recipes-convert-button-active’ );
const scaleButton = document.querySelector( ‘.tasty-recipes-scale-button-active’ );

let unit = ”;
let scale = ”;

if ( unitButton ) {
unit = unitButton.dataset.unitType;
searchParams.delete(‘unit’);
searchParams.set( ‘unit’, unit );
}

if ( scaleButton ) {
scale = scaleButton.dataset.amount;
searchParams.set( ‘scale’, scale );
}

const paramString = searchParams.toString();
const newURL = ” === paramString ? printURL.href : printURL.origin + printURL.pathname + ‘?’ + paramString;
const printLinks = document.querySelectorAll( ‘.tasty-recipes-print-link’ );

printLinks.forEach( ( el ) => {
el.href = newURL;
});

const printButtons = document.querySelectorAll( ‘.tasty-recipes-print-button’ );
printButtons.forEach( ( el ) => {
el.href = newURL;
});
};

document.addEventListener( ‘DOMContentLoaded’, () => {

if ( ! window.location.href.includes( ‘/print/’ ) ) {
return;
}

const searchParams = new URLSearchParams( window.location.search );

const unit = searchParams.get( ‘unit’ );
const scale = searchParams.get( ‘scale’ );

if ( unit && ( ‘metric’ === unit || ‘usc’ === unit ) ) {
document.querySelector( ‘.tasty-recipes-convert-button[data-unit-type=”‘ + unit + ‘”]’ ).click();
}

if ( scale && Number(scale) > 0 ) {
document.querySelector( ‘.tasty-recipes-scale-button[data-amount=”‘ + Number(scale) + ‘”]’ ).click();
}
});
}());

(function(){
var buttonClass = ‘tasty-recipes-scale-button’,
buttonActiveClass = ‘tasty-recipes-scale-button-active’,
buttons = document.querySelectorAll(‘.tasty-recipes-scale-button’);
if ( ! buttons ) {
return;
}

buttons.forEach(function(button){
button.addEventListener(‘click’, function(event){
event.preventDefault();
var recipe = event.target.closest(‘.tasty-recipes’);
if ( ! recipe ) {
return;
}
var otherButtons = recipe.querySelectorAll(‘.’ + buttonClass);
otherButtons.forEach(function(bt){
bt.classList.remove(buttonActiveClass);
});
button.classList.add(buttonActiveClass);

var scalables = recipe.querySelectorAll(‘span[data-amount]’);
var buttonAmount = parseFloat( button.dataset.amount );
scalables.forEach(function(scalable){
if (typeof scalable.dataset.amountOriginalType === ‘undefined’
&& typeof scalable.dataset.nfOriginal === ‘undefined’) {
if (-1 !== scalable.innerText.indexOf(‘/’)) {
scalable.dataset.amountOriginalType = ‘frac’;
}
if (-1 !== scalable.innerText.indexOf(‘.’)) {
scalable.dataset.amountOriginalType = ‘number’;
}
Object.keys(window.tastyRecipesVulgarFractions).forEach(function(vulgar) {
if (-1 !== scalable.innerText.indexOf(vulgar)) {
scalable.dataset.amountOriginalType = ‘vulgar’;
}
});
if (typeof scalable.dataset.amountOriginalType !== ‘undefined’) {
scalable.dataset.amountShouldRound = scalable.dataset.amountOriginalType;
}
}
var amount = parseFloat( scalable.dataset.amount ) * buttonAmount;
amount = window.tastyRecipesFormatAmount(amount, scalable);
if ( typeof scalable.dataset.unit !== ‘undefined’ ) {
if ( ! scalable.classList.contains(‘nutrifox-quantity’) ) {
if ( ! scalable.classList.contains(‘nutrifox-second-quantity’) ) {
amount += ‘ ‘ + scalable.dataset.unit;
}
}
}
scalable.innerText = amount;
});

var nonNumerics = recipe.querySelectorAll(‘[data-has-non-numeric-amount]’);
nonNumerics.forEach(function(nonNumeric){
var indicator = nonNumeric.querySelector(‘span[data-non-numeric-label]’);
if ( indicator ) {
nonNumeric.removeChild(indicator);
}
if ( 1 !== buttonAmount ) {
indicator = document.createElement(‘span’);
indicator.setAttribute(‘data-non-numeric-label’, true);
var text = document.createTextNode(‘ (x’ + buttonAmount + ‘)’);
indicator.appendChild(text);
nonNumeric.appendChild(indicator);
}
});

window.tastyRecipesUpdatePrintLink();
});
});
}());

window.TastyRecipes = window.TastyRecipes || {};
window.TastyRecipes.cookMode = {
wakeLockApi: false,
wakeLock: false,
cookModeSelector: ‘.tasty-recipes-cook-mode’,
init() {
if (“wakeLock” in navigator && “request” in navigator.wakeLock) {
this.wakeLockApi = navigator.wakeLock;
}

const cookModes = document.querySelectorAll(this.cookModeSelector);

if (cookModes.length > 0) {
for (const cookMode of cookModes) {
if (this.wakeLockApi) {
cookMode.querySelector(‘input[type=”checkbox”]’).addEventListener(“change”, event => {
this.checkboxChange(event.target);
}, false);
} else {
cookMode.style.display = “none”;
}
}
}
},
checkboxChange(checkbox) {
if (checkbox.checked) {
this.lock();
} else {
this.unlock();
}
},
setCheckboxesState(state) {
const checkboxes = document.querySelectorAll(this.cookModeSelector + ‘ input[type=”checkbox”]’);
for (const checkbox of checkboxes) {
checkbox.checked = state;
}
},
async lock() {
try {
this.wakeLock = await this.wakeLockApi.request(“screen”);
this.wakeLock.addEventListener(“release”, () => {
this.wakeLock = false;
this.setCheckboxesState(false);
});
this.setCheckboxesState(true);
} catch (error) {
this.setCheckboxesState(false);
}
},
unlock() {
if (this.wakeLock) {
this.wakeLock.release();
this.wakeLock = false;
}
this.setCheckboxesState(false);
}
};

(function(callback) {
if (document.readyState !== “loading”) {
callback();
} else {
document.addEventListener(“DOMContentLoaded”, callback);
}
})(() => {
window.TastyRecipes.cookMode.init();
});

window.TastyRecipes = window.TastyRecipes || {};

window.TastyRecipes.staticTooltip = {
element: null,
tooltipElement: null,
deleting: false,
init( element ) {
if ( this.deleting ) {
return;
}
this.element = element;
this.buildElements();
},
destroy() {
if ( ! this.tooltipElement || this.deleting ) {
return;
}

this.deleting = true;
this.tooltipElement.classList.remove( ‘opened’ );

setTimeout( () => {
this.tooltipElement.remove();
this.deleting = false;
}, 500 );
},
buildElements() {
const tooltipElement = document.createElement( ‘div’ );
tooltipElement.classList.add( ‘tasty-recipes-static-tooltip’);
tooltipElement.setAttribute( ‘id’, ‘tasty-recipes-tooltip’ );

const currentTooltipElement = document.getElementById( ‘tasty-recipes-tooltip’ );
if ( currentTooltipElement ) {
document.body.replaceChild( tooltipElement, currentTooltipElement );
} else {
document.body.appendChild( tooltipElement );
}

this.tooltipElement = document.getElementById( ‘tasty-recipes-tooltip’ );
},
show() {
if ( ! this.tooltipElement ) {
return;
}

const tooltipTop = this.element.getBoundingClientRect().top
+ window.scrollY
– 10 // 10px offset.
– this.tooltipElement.getBoundingClientRect().height;
const tooltipLeft = this.element.getBoundingClientRect().left
– ( this.tooltipElement.getBoundingClientRect().width / 2 )
+ ( this.element.getBoundingClientRect().width / 2 ) – 1;
const posLeft = Math.max( 10, tooltipLeft );
this.maybeRemoveTail( posLeft !== tooltipLeft );

this.tooltipElement.setAttribute( ‘style’, ‘top:’ + tooltipTop + ‘px;left:’ + posLeft + ‘px;’ );
this.tooltipElement.classList.add( ‘opened’ );

},
maybeRemoveTail( removeTail ) {
if ( removeTail ) {
this.tooltipElement.classList.add( ‘tr-hide-tail’ );
} else {
this.tooltipElement.classList.remove( ‘tr-hide-tail’ );
}
},
changeMessage( message ) {
if ( ! this.tooltipElement ) {
return;
}
this.tooltipElement.innerHTML = message;
}
};

window.TastyRecipes.ajax = {
sendPostRequest( url, data, success, failure ) {
const xhr = new XMLHttpRequest();
xhr.open( ‘POST’, url, true );
xhr.send( this.preparePostData( data ) );

xhr.onreadystatechange = () => {
if ( 4 !== xhr.readyState ) {
return;
}
if ( xhr.status === 200 ) {
success( JSON.parse( xhr.responseText ) );
return;
}

failure( xhr );
};

xhr.onerror = () => {
failure( xhr );
};
},
preparePostData( data ) {
const formData = new FormData();

for ( const key in data ) {
formData.append( key, data[key] );
}
return formData;
},
};

window.TastyRecipes.ratings = {
defaultRating: 0,
currentRatingPercentage: 100,
savingRating: false,
init( minRating ) {
this.minRating = minRating;

this.formWatchRating();
this.closeTooltipWhenClickOutside();
this.addBodyClassBasedOnSelectedRating();
this.backwardCompFormRatingPosition();
},
formWatchRating() {
const ratings = document.querySelectorAll(‘.tasty-recipes-no-ratings-buttons [data-rating]’);
if ( ratings.length {
event.preventDefault();
this.defaultRating = event.target.closest( ‘.checked’ ).dataset.rating;
this.setCheckedStar( event.target );
this.maybeSendRating( this.defaultRating, event.target );
this.setRatingInForm( this.defaultRating );
} );
}
},
closeTooltipWhenClickOutside() {
window.addEventListener( ‘click’, e => {
// Bailout (don’t remove the tooltip) when the clicked element is a rating star, or it’s the tooltip itself.
if ( e.target.closest( ‘.tasty-recipes-rating’ ) || e.target.classList.contains( ‘tasty-recipes-static-tooltip’ ) ) {
return;
}

window.TastyRecipes.staticTooltip.destroy();
} );
},
setRatingInForm( rating ) {
const ratingInput = document.querySelector( ‘#respond .tasty-recipes-rating[value=”‘ + rating + ‘”]’ );
if ( ! ratingInput ) {
return;
}
ratingInput.click();
},
addBodyClassBasedOnSelectedRating() {
const ratingInputs = document.querySelectorAll( ‘input.tasty-recipes-rating’ );
if ( ! ratingInputs ) {
return;
}
for ( const ratingInput of ratingInputs ) {
ratingInput.addEventListener( ‘click’, currentEvent => {
const selectedRating = currentEvent.target.getAttribute( ‘value’ );
this.handleBodyClassByRating( selectedRating );
this.toggleCommentTextareaRequired( selectedRating );
} );
}
},
handleBodyClassByRating( rating ) {
if ( rating < this.minRating ) {
document.body.classList.remove( 'tasty-recipes-selected-minimum-rating' );
return;
}
document.body.classList.add( 'tasty-recipes-selected-minimum-rating' );
},
toggleCommentTextareaRequired( rating ) {
const commentTextarea = document.getElementById( 'comment' );
if ( ! commentTextarea ) {
return;
}

if ( rating {
window.TastyRecipes.staticTooltip.changeMessage( response.data.message );
window.TastyRecipes.staticTooltip.show();
this.updateAverageText( response.data, recipeCardElement );
this.maybeFillCommentForm( response.data );

// Hide the tooltip after 5 seconds.
setTimeout( () => {
this.maybeResetTooltip( recipeCardElement, response.data, rating );
}, 5000 );
},
() => {
this.resetTooltip( recipeCardElement );
}
);
},
updateAverageText( data, recipeCardElement ) {
if ( ! data.average ) {
return;
}
this.setRatingPercent( data );

if ( ! data.count ) {
return;
}

const quickLink = document.querySelector( ‘.tasty-recipes-rating-link’ );
if ( quickLink ) {
this.setTextInContainer( quickLink, data );
this.setPartialStar( quickLink );
}

const cardStars = recipeCardElement.querySelector( ‘.tasty-recipes-ratings-buttons’ );
cardStars.dataset.trDefaultRating = data.average;
this.setTextInContainer( recipeCardElement.querySelector( ‘.tasty-recipes-rating’ ), data );
},
setTextInContainer( container, data ) {
if ( ! container ) {
return;
}

if ( data.label ) {
const ratingLabelElement = container.querySelector( ‘.rating-label’ );
if ( ratingLabelElement ) {
ratingLabelElement.innerHTML = data.label;
}
return;
}

const averageElement = container.querySelector( ‘.average’ );
if ( averageElement ) {
averageElement.textContent = data.average;
}

const countElement = container.querySelector( ‘.count’ );
if ( countElement ) {
countElement.textContent = data.count;
}
},
setPartialStar( container ) {
const highestStar = container.querySelector( ‘[data-rating=”‘ + Math.ceil( this.defaultRating ) + ‘”]’ );
if ( highestStar ) {
highestStar.dataset.trClip = this.currentRatingPercentage;
}
},
setRatingPercent( data ) {
this.defaultRating = data.average.toFixed( 1 );
const parts = data.average.toFixed( 2 ).toString().split( ‘.’ );
this.currentRatingPercentage = parts[1] ? parts[1] : 100;
if ( this.currentRatingPercentage === ’00’ ) {
this.currentRatingPercentage = 100;
}
},
setCheckedStar( target ) {
const cardRatingContainer = target.closest( ‘.tasty-recipes-ratings-buttons’ );
const selectedRatingElement = cardRatingContainer.querySelector( ‘[data-tr-checked]’ );
if ( selectedRatingElement ) {
delete selectedRatingElement.dataset.trChecked;
}

const thisStar = target.closest( ‘.tasty-recipes-rating’ );
thisStar.dataset.trChecked = 1;
thisStar.querySelector( ‘[data-tr-clip]’ ).dataset.trClip = 100;
},
maybeFillCommentForm( data ) {
if ( ! data.comment || ! data.comment.content ) {
return;
}

const commentForm = document.querySelector( ‘#commentform’ );
if ( ! commentForm ) {
return;
}

const commentBox = commentForm.querySelector( ‘[name=comment]’ );
if ( ! commentBox || commentBox.value ) {
return;
}

// Add comment details for editing.
commentBox.innerHTML = data.comment.content;
if ( data.comment.name ) {
commentForm.querySelector( ‘[name=author]’ ).value = data.comment.name;
commentForm.querySelector( ‘[name=email]’ ).value = data.comment.email;
}
},
maybeResetTooltip( recipeCardElement, data, rating ) {
if ( this.savingRating === rating ) {
this.resetTooltip( recipeCardElement, data );
}
},
resetTooltip( recipeCardElement, data ) {
window.TastyRecipes.staticTooltip.destroy();
this.savingRating = false;

// Reset the default rating.
const cardRatingContainer = recipeCardElement.querySelector( ‘.tasty-recipes-ratings-buttons’ );
if ( cardRatingContainer ) {
this.defaultRating = ( data && data.average ) ? data.average.toFixed(1) : cardRatingContainer.dataset.trDefaultRating;
cardRatingContainer.dataset.trDefaultRating = this.defaultRating;

this.resetSelectedStar( cardRatingContainer, data );
}
},
resetSelectedStar( cardRatingContainer ) {
const selectedRatingElement = cardRatingContainer.querySelector( ‘[data-rating=”‘ + Math.ceil( this.defaultRating ) + ‘”]’ );
if ( selectedRatingElement ) {
selectedRatingElement.querySelector( ‘[data-tr-clip]’ ).dataset.trClip = this.currentRatingPercentage;
selectedRatingElement.parentNode.dataset.trChecked = 1;
}

const previousSelectedElement= cardRatingContainer.querySelector( ‘[data-tr-checked]’ );
if ( previousSelectedElement ) {
const currentSelectedRating = previousSelectedElement.querySelector(‘[data-rating]’);
if ( currentSelectedRating !== selectedRatingElement ) {
delete previousSelectedElement.dataset.trChecked;
}
}
},
backwardCompFormRatingPosition() {
const ratingsButtons = document.querySelector( ‘#respond .tasty-recipes-ratings-buttons, #tasty-recipes-comment-rating .tasty-recipes-ratings-buttons’ );
if ( ! ratingsButtons ) {
return;
}
const ratingsButtonsStyles = window.getComputedStyle(ratingsButtons);
if ( ! ratingsButtonsStyles.display.includes( ‘flex’ ) ) {
ratingsButtons.style.direction = ‘rtl’;
}

if ( typeof tastyRecipesRating !== ‘undefined’ ) {
// Select the rating that was previously selected in admin.
ratingsButtons.querySelector( ‘.tasty-recipes-rating[value=”‘ + tastyRecipesRating + ‘”]’ ).checked = true;
}

const ratingSpans = ratingsButtons.querySelectorAll( ‘.tasty-recipes-rating’ );
for (const ratingSpan of ratingSpans) {
ratingSpan.addEventListener( ‘click’, event => {
if ( ratingSpan === event.target ) {
return;
}
ratingSpan.previousElementSibling.click();
} );
}
}
};

(function(callback) {
if (document.readyState !== “loading”) {
callback();
} else {
window.addEventListener( ‘load’, callback );
}
})(() => {
window.TastyRecipes.ratings.init( window.trCommon ? window.trCommon.minRating : 4 );
});

Recipe and Styling by Anna Franklin
Photography by Dave Bryce

Subscribe to TABLE Magazine‘s print edition.

Quinoa Nourish Bowl

0
A Quinoa Bowl filled with egg, avocado, kale, and more on a green plate beside a drink, chili oil, and a spoon and knife.

The whole-grain source of quinoa leaves it with a high fiber content, making it the perfect base for a nourishment bowl. It helps lower cholesterol, steady blood pressure, and even promotes a healthy digestive system. Contributor Anna Franklin magnifies these wellness elements with the addition of lacinato kale, greek yogurt, and avocado in her Quinoa Nourish Bowl. All these yummy ingredients come together mixed with savory red onion, protein-filled egg, and a bit of chili oil for maximum flavor and bodily happiness.

Quinoa Nourish Bowl Recipe

(Makes 1 bowl)

INGREDIENTS

3 leaves lacinato kale, chopped from Clarion River Organics
1/4 red onion, sliced from Who Cooks For You Farm
1/2 cup quinoa, cooked by package directions
1 egg
1/4 cup greek yogurt
1/2 avocado, sliced
Salt and pepper to taste
Drizzle of chili oil for garnish

INSTRUCTIONS

  1. In a skillet cook chopped kale and onion with a drizzle of olive oil and salt and pepper.
  2. Poach or fry egg, keeping the yolk runny.
  3. Place cooked veggies, egg, yogurt, sliced avocado and chili oil on top of cooked quinoa and enjoy!

Try our Winter Power Bowl for another wellness recipe!

 Recipe and Styling by Anna Franklin / Photography by Dave Bryce

A footer photo with a black background and subscribe info and button

Subscribe to TABLE Magazine‘s print edition.

Create a free account, or log in.

Gain access to read this content, plus limited free content.

Yes! I would like to receive new content and updates.