{"id":3868,"date":"2026-02-27T12:59:46","date_gmt":"2026-02-27T12:59:46","guid":{"rendered":"https:\/\/inasrecipes.com\/?p=3868"},"modified":"2026-02-27T12:59:47","modified_gmt":"2026-02-27T12:59:47","slug":"stir-fried-bok-choy-beef","status":"publish","type":"post","link":"https:\/\/inasrecipes.com\/fr\/stir-fried-bok-choy-beef\/","title":{"rendered":"Stir-fried Bok Choy Beef"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">If you want a fast dinner that still feels special, make <strong>Stir-fried Bok Choy Beef<\/strong>. It\u2019s tender beef, bright bok choy, and a shiny garlic-ginger sauce that clings to every bite. Best part? Once your ingredients are ready, the actual stir-fry takes minutes\u2014so dinner hits the table fast.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Internal link (intro):<\/strong> If you like quick skillet dinners, you\u2019ll also enjoy <a href=\"https:\/\/inasrecipes.com\/dinner\/\"><strong>\/quick-dinner-recipes\/<\/strong> on inasrecipes.com.<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This <strong>Stir-fried Bok Choy Beef<\/strong> is built for real life: busy nights, small kitchens, and that craving for \u201crestaurant-style\u201d texture without a ton of oil.<\/p>\n\n\n\n<div class=\"wp-block-rank-math-toc-block\" id=\"rank-math-toc\"><h2>Table of Contents<\/h2><nav><ul><li><a href=\"#fast-fresh-and-filling\">Fast, fresh, and filling<\/a><\/li><li><a href=\"#tender-beef-without-fancy-cuts\">Tender beef without fancy cuts<\/a><\/li><li><a href=\"#bok-choy-cooks-quickly-and-stays-bright\">Bok choy cooks quickly and stays bright<\/a><\/li><li><a href=\"#beef-tenderizing-marinade\">Beef + tenderizing marinade<\/a><\/li><li><a href=\"#bok-choy-aromatics\">Bok choy + aromatics<\/a><\/li><li><a href=\"#stir-fry-sauce-glossy-and-savory\">Stir-fry sauce (glossy and savory)<\/a><\/li><li><a href=\"#cooking\">Cooking<\/a><\/li><li><a href=\"#best-pan-for-stir-fried-bok-choy-beef\">Best pan for Stir-fried Bok Choy Beef<\/a><\/li><li><a href=\"#mise-en-place-matters\">Mise en place matters<\/a><\/li><li><a href=\"#step-1-wash-it-the-right-way\">Step 1: Wash it the right way<\/a><\/li><li><a href=\"#step-2-cut-for-even-cooking\">Step 2: Cut for even cooking<\/a><\/li><li><a href=\"#step-3-dry-it\">Step 3: Dry it<\/a><\/li><li><a href=\"#slice-the-beef-the-right-way\">Slice the beef the right way<\/a><\/li><li><a href=\"#use-a-quick-tenderizing-marinade-velveting-style\">Use a quick tenderizing marinade (velveting style)<\/a><\/li><li><a href=\"#h-3-step-1-mix-the-sauce\">H3 Step 1: Mix the sauce<\/a><\/li><li><a href=\"#h-3-step-2-marinate-the-beef\">H3 Step 2: Marinate the beef<\/a><\/li><li><a href=\"#h-3-step-3-sear-the-beef-hot-pan-small-batches\">H3 Step 3: Sear the beef (hot pan, small batches)<\/a><\/li><li><a href=\"#h-3-step-4-cook-stems-first-then-leaves\">H3 Step 4: Cook stems first, then leaves<\/a><\/li><li><a href=\"#h-3-step-5-combine-and-glaze\">H3 Step 5: Combine and glaze<\/a><\/li><li><a href=\"#quick-answer-stir-fry-timing\">Quick answer (stir-fry timing)<\/a><\/li><li><a href=\"#signs-its-done\">Signs it\u2019s done<\/a><\/li><li><a href=\"#mistake-1-starting-with-a-pan-that-isnt-hot-enough\">Mistake 1: Starting with a pan that isn\u2019t hot enough<\/a><\/li><li><a href=\"#mistake-2-overcrowding-the-pan\">Mistake 2: Overcrowding the pan<\/a><\/li><li><a href=\"#mistake-3-adding-sauce-too-early\">Mistake 3: Adding sauce too early<\/a><\/li><li><a href=\"#mistake-4-cooking-bok-choy-all-at-once\">Mistake 4: Cooking bok choy all at once<\/a><\/li><li><a href=\"#mistake-5-cutting-beef-thick-or-with-the-grain\">Mistake 5: Cutting beef thick or with the grain<\/a><\/li><li><a href=\"#classic-pairings\">Classic pairings<\/a><\/li><li><a href=\"#fresh-crunchy-sides\">Fresh, crunchy sides<\/a><\/li><li><a href=\"#make-it-a-bigger-spread\">Make it a bigger spread<\/a><\/li><li><a href=\"#how-to-store\">How to store<\/a><\/li><li><a href=\"#how-to-reheat-without-overcooking-bok-choy\">How to reheat without overcooking bok choy<\/a><\/li><li><a href=\"#what-are-common-stir-fry-mistakes-to-avoid\">What are common stir fry mistakes to avoid?<\/a><\/li><li><a href=\"#how-to-prep-bok-choy-for-stir-fry\">How to prep bok choy for stir fry?<\/a><\/li><li><a href=\"#how-to-ensure-stir-fry-beef-is-tender\">How to ensure stir fry beef is tender?<\/a><\/li><li><a href=\"#how-long-does-bok-choy-take-to-cook\">How long does bok choy take to cook?<\/a><\/li><\/ul><\/nav><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Why You\u2019ll Love Stir-fried Bok Choy Beef<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"fast-fresh-and-filling\">Fast, fresh, and filling<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">You get protein + vegetables in one pan, so you\u2019re not stuck making three different sides.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"tender-beef-without-fancy-cuts\">Tender beef without fancy cuts<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A simple \u201cvelveting\u201d style marinade can make budget-friendly beef feel soft and juicy\u2014this method is widely used in Chinese-style stir-fries.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"bok-choy-cooks-quickly-and-stays-bright\">Bok choy cooks quickly and stays bright<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Bok choy\u2019s stems and leaves cook at different speeds, so a simple split-and-stagger method keeps everything crisp-tender.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Ingredients for Stir-fried Bok Choy Beef<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"beef-tenderizing-marinade\">Beef + tenderizing marinade<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>1 lb flank steak, skirt steak, sirloin, or top round (thinly sliced)<\/li>\n\n\n\n<li>1 tablespoon soy sauce<\/li>\n\n\n\n<li>1 tablespoon Shaoxing wine (or dry sherry) <em>optional<\/em><\/li>\n\n\n\n<li>1 teaspoon cornstarch<\/li>\n\n\n\n<li>1 teaspoon neutral oil<\/li>\n\n\n\n<li><strong>Optional velveting boost:<\/strong> \u00bd teaspoon baking soda (see notes below)<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Velveting with baking soda is a well-known restaurant method for tender stir-fry beef.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"bok-choy-aromatics\">Bok choy + aromatics<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>1\u00bd lbs bok choy (baby bok choy or regular)<\/li>\n\n\n\n<li>3 cloves garlic, minced<\/li>\n\n\n\n<li>1 tablespoon fresh ginger, grated<\/li>\n\n\n\n<li>3 scallions, sliced (optional)<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"stir-fry-sauce-glossy-and-savory\">Stir-fry sauce (glossy and savory)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>3 tablespoons soy sauce<\/li>\n\n\n\n<li>1 tablespoon oyster sauce (or mushroom \u201coyster\u201d sauce)<\/li>\n\n\n\n<li>1 tablespoon rice vinegar<\/li>\n\n\n\n<li>1\u20132 teaspoons brown sugar or honey<\/li>\n\n\n\n<li>\u00bd cup beef broth (or water)<\/li>\n\n\n\n<li>1\u00bd teaspoons cornstarch<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"cooking\">Cooking<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>2 tablespoons neutral oil (avocado, canola, grapeseed)<\/li>\n\n\n\n<li>Optional: toasted sesame oil (few drops at the end)<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>LSI\/NLP keywords used naturally:<\/strong> tender stir fry beef, velveting beef, bok choy stir fry, garlic ginger sauce, wok cooking, high heat, quick Asian dinner.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Equipment and Setup<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"best-pan-for-stir-fried-bok-choy-beef\">Best pan for Stir-fried Bok Choy Beef<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Wok (great heat and tossing), or<\/li>\n\n\n\n<li>Large heavy skillet (cast iron or stainless works)<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"mise-en-place-matters\">Mise en place matters<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Stir-fry is quick. Chop everything first, mix sauce first, then cook. This \u201cprep-first\u201d approach helps prevent common stir-fry problems like overcooked veggies and soggy texture.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"683\" data-pin-url=\"https:\/\/inasrecipes.com\/fr\/stir-fried-bok-choy-beef\/?tp_image_id=3871\" data-pin-title=\"Stir-fried Bok Choy Beef\" data-pin-description=\"Stir-fried Bok Choy Beef\" src=\"https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/02\/image_1200x800_1772196872608-1024x683.webp\" alt=\"\" class=\"wp-image-3871\" title=\"\" srcset=\"https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/02\/image_1200x800_1772196872608-1024x683.webp 1024w, https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/02\/image_1200x800_1772196872608-300x200.webp 300w, https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/02\/image_1200x800_1772196872608-768x512.webp 768w, https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/02\/image_1200x800_1772196872608.webp 1200w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption><\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">How to Prep Bok Choy for Stir fry<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"step-1-wash-it-the-right-way\">Step 1: Wash it the right way<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Bok choy can hide grit near the base.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Slice off the very bottom nub.<\/li>\n\n\n\n<li>Separate leaves\/stems.<\/li>\n\n\n\n<li>Rinse well, then drain.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Many prep guides recommend separating stems from leaves so they cook evenly.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"step-2-cut-for-even-cooking\">Step 2: Cut for even cooking<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Stems:<\/strong> chop into 1-inch pieces<\/li>\n\n\n\n<li><strong>Leaves:<\/strong> keep larger pieces so they don\u2019t vanish<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"step-3-dry-it\">Step 3: Dry it<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Wet bok choy steams instead of searing. Pat dry or spin dry.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Internal link (body #1):<\/strong> For more veggie prep basics, see <strong>\/kitchen-basics\/<\/strong> on inasrecipes.com.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How to Ensure Stir fry Beef Is Tender<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"slice-the-beef-the-right-way\">Slice the beef the right way<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Freeze beef 15\u201320 minutes so it\u2019s easier to slice thin.<\/li>\n\n\n\n<li>Slice <strong>against the grain<\/strong> for tenderness.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"use-a-quick-tenderizing-marinade-velveting-style\">Use a quick tenderizing marinade (velveting style)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A common velveting approach includes cornstarch and (optionally) baking soda to soften the meat\u2019s texture for quick, high-heat cooking.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>My easy method:<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Toss sliced beef with soy sauce, cornstarch, oil, and (optional) baking soda.<\/li>\n\n\n\n<li>Rest <strong>15\u201320 minutes<\/strong>.<\/li>\n\n\n\n<li>Cook in a hot pan in <strong>small batches<\/strong>.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Important:<\/strong> If you use baking soda, keep it small (\u00bd tsp per pound). Too much can taste off.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Stir-fried Bok Choy Beef Instructions<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-3-step-1-mix-the-sauce\">H3 Step 1: Mix the <a href=\"https:\/\/www.saucepizzaandwine.com\/\" target=\"_blank\" rel=\"noopener\">sauce<\/a><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">In a bowl, whisk:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>soy sauce, oyster sauce, vinegar, sugar, broth, cornstarch<br>Set aside.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-3-step-2-marinate-the-beef\">H3 Step 2: Marinate the beef<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">In another bowl, toss beef with:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>soy sauce, cornstarch, oil (+ optional baking soda)<br>Rest 15\u201320 minutes.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-3-step-3-sear-the-beef-hot-pan-small-batches\">H3 Step 3: Sear the beef (hot pan, small batches)<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Heat 1 tablespoon oil in a wok\/skillet over medium-high to high heat.<\/li>\n\n\n\n<li>Add beef in a single layer.<\/li>\n\n\n\n<li>Sear 45\u201360 seconds, flip, 30\u201345 seconds more.<\/li>\n\n\n\n<li>Remove to a plate.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Don\u2019t crowd the pan.<\/strong> Overcrowding drops heat and leads to steaming, which is a classic stir-fry mistake.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-3-step-4-cook-stems-first-then-leaves\">H3 Step 4: Cook stems first, then leaves<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Add another tablespoon oil.<\/li>\n\n\n\n<li>Add garlic and ginger; stir 10\u201315 seconds until fragrant.<\/li>\n\n\n\n<li>Add bok choy <strong>stems<\/strong>; stir-fry 2\u20133 minutes.<\/li>\n\n\n\n<li>Add bok choy <strong>leaves<\/strong>; stir-fry 1\u20132 minutes until just wilted.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Separating stems and leaves is a common method because stems need longer than the leaves.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-3-step-5-combine-and-glaze\">H3 Step 5: Combine and glaze<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Return beef to the pan.<\/li>\n\n\n\n<li>Pour sauce around the edges of the pan (so it hits heat first).<\/li>\n\n\n\n<li>Toss 30\u201360 seconds until glossy and thickened.<\/li>\n\n\n\n<li>Finish with scallions and a tiny drizzle of sesame oil (optional).<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">That\u2019s your <strong>Stir-fried Bok Choy Beef<\/strong>\u2014tender, bright, and saucy.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Internal link (body #2):<\/strong> Want a simple side? Try <a href=\"https:\/\/inasrecipes.com\/bang-bang-chicken-crispy-rice-salad\/\"><strong>\/perfect-steamed-rice\/<\/strong> on inasrecipes.com.<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How Long Does Bok Choy Take to Cook?<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"quick-answer-stir-fry-timing\">Quick answer (stir-fry timing)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Stems:<\/strong> about 2\u20133 minutes<\/li>\n\n\n\n<li><strong>Leaves:<\/strong> about 1\u20132 minutes<br>Total bok choy cook time is usually <strong>3\u20135 minutes<\/strong> in a hot pan when you stagger stems then leaves.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"signs-its-done\">Signs it\u2019s done<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Stems: crisp-tender (not raw, not mushy)<\/li>\n\n\n\n<li>Leaves: wilted but still bright green<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Common Stir Fry Mistakes to Avoid<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"mistake-1-starting-with-a-pan-that-isnt-hot-enough\">Mistake 1: Starting with a pan that isn\u2019t hot enough<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Stir-fry needs high heat to sear quickly. Low heat causes watery veggies and pale meat.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"mistake-2-overcrowding-the-pan\">Mistake 2: Overcrowding the pan<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Crowding traps steam and kills browning. Cook meat in batches if needed.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"mistake-3-adding-sauce-too-early\">Mistake 3: Adding sauce too early<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">If you sauce before the meat and veggies are seared, the pan cools and everything turns soft.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"mistake-4-cooking-bok-choy-all-at-once\">Mistake 4: Cooking bok choy all at once<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Stems and leaves need different timing. Split them for better texture.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"mistake-5-cutting-beef-thick-or-with-the-grain\">Mistake 5: Cutting beef thick or with the grain<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Thin slices + against-the-grain cuts matter a lot for tenderness.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Internal link (body #3):<\/strong> If you want more weeknight stir-fry ideas, browse <a href=\"https:\/\/inasrecipes.com\/bang-bang-chicken-crispy-rice-salad\/\"><strong>\/asian-inspired\/<\/strong> on inasrecipes.com.<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Serving Ideas for Stir-fried Bok Choy Beef<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"classic-pairings\">Classic pairings<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Steamed jasmine rice<\/li>\n\n\n\n<li>Fried rice<\/li>\n\n\n\n<li>Rice noodles<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"fresh-crunchy-sides\">Fresh, crunchy sides<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Quick cucumber salad<\/li>\n\n\n\n<li>Sesame slaw<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"make-it-a-bigger-spread\">Make it a bigger spread<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Add a simple soup or dumplings.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Internal link (body #4):<\/strong> For more side dishes, see <a href=\"http:\/\/inasrecipes.com\" data-type=\"link\" data-id=\"inasrecipes.com\"><strong>\/easy-sides\/<\/strong> on inasrecipes.com.<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Storage, Reheating, and Meal Prep<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"how-to-store\">How to store<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Cool quickly.<\/li>\n\n\n\n<li>Refrigerate in an airtight container up to <strong>3\u20134 days<\/strong> (best texture in the first 2 days).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"how-to-reheat-without-overcooking-bok-choy\">How to reheat without overcooking bok choy<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Reheat in a skillet over medium heat with a splash of water\/broth.<\/li>\n\n\n\n<li>Warm just until hot\u2014bok choy can get soft if reheated too long.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">FAQ: Stir-fried Bok Choy Beef<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"what-are-common-stir-fry-mistakes-to-avoid\">What are common stir fry mistakes to avoid?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The biggest ones are low heat, overcrowding the pan, adding sauce too early, and not prepping ingredients before cooking. These mistakes often lead to soggy veggies and steamed meat instead of a quick sear.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"how-to-prep-bok-choy-for-stir-fry\">How to prep bok choy for stir fry?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Trim the base, separate stems and leaves, rinse thoroughly to remove grit, then chop stems smaller than leaves. Dry well so it stir-fries instead of steaming.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"how-to-ensure-stir-fry-beef-is-tender\">How to ensure stir fry beef is tender?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Slice thin against the grain, then use a quick velveting-style marinade (cornstarch + soy; optional small baking soda). Cook fast in a hot pan, in batches.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"how-long-does-bok-choy-take-to-cook\">How long does bok choy take to cook?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">In a stir-fry, bok choy cooks fast\u2014stems about 2\u20133 minutes, then leaves 1\u20132 minutes, for a total around 3\u20135 minutes.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">This <strong>Stir-fried Bok Choy Beef<\/strong> is the kind of dinner that saves a weeknight: fast, flavorful, and packed with crisp greens and tender beef. Keep your pan hot, cook in batches, and add bok choy stems before leaves\u2014then watch it turn glossy and perfect in minutes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Internal link (conclusion):<\/strong> Next, make dessert easy with <a href=\"https:\/\/inasrecipes.com\/desserts\/\"><strong>\/quick-desserts\/<\/strong> on inasrecipes.com.<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Orphan links<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Check out\u2026 <strong>\/contact\/<\/strong> on <a href=\"https:\/\/inasrecipes.com\/contact-inas\/\">inasrecipes.com<\/a><\/li>\n\n\n\n<li>Check out\u2026 <strong>\/about\/<\/strong> on <a href=\"https:\/\/inasrecipes.com\/about-us\/\">inasrecipes.com<\/a><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Tasty Recipe Card (Copy\/Paste)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Recipe:<\/strong> Stir-fried Bok Choy Beef<br><strong>Prep Time:<\/strong> 20 minutes<br><strong>Cook Time:<\/strong> 10 minutes<br><strong>Total Time:<\/strong> 30 minutes<br><strong>Servings:<\/strong> 4<br><strong>Method:<\/strong> Stir-fry<br><strong>Cuisine:<\/strong> Chinese-inspired<br><strong>Diet:<\/strong> Dairy-free<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Ingredients<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>1 lb thin-sliced beef (flank\/sirloin\/top round)<\/li>\n\n\n\n<li>Marinade: 1 tbsp soy sauce, 1 tsp cornstarch, 1 tsp oil, optional \u00bd tsp baking soda<\/li>\n\n\n\n<li>1\u00bd lbs bok choy (stems\/leaves separated)<\/li>\n\n\n\n<li>Aromatics: 3 garlic cloves, 1 tbsp ginger<\/li>\n\n\n\n<li>Sauce: 3 tbsp soy sauce, 1 tbsp oyster sauce, 1 tbsp rice vinegar, 1\u20132 tsp sugar, \u00bd cup broth, 1\u00bd tsp cornstarch<\/li>\n\n\n\n<li>2 tbsp neutral oil, optional sesame oil<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Instructions<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Whisk sauce; set aside.<\/li>\n\n\n\n<li>Toss beef with marinade; rest 15\u201320 minutes.<\/li>\n\n\n\n<li>Sear beef in hot pan in batches; remove.<\/li>\n\n\n\n<li>Stir-fry garlic\/ginger; add bok choy stems 2\u20133 minutes.<\/li>\n\n\n\n<li>Add leaves 1\u20132 minutes.<\/li>\n\n\n\n<li>Return beef; pour sauce; toss 30\u201360 seconds until glossy. Serve.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Notes<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Slice beef against the grain.<\/li>\n\n\n\n<li>Don\u2019t crowd the pan.<\/li>\n\n\n\n<li>Add bok choy stems before leaves for crisp-tender texture.<\/li>\n<\/ul>\n\n\n<svg aria-hidden=\"true\" style=\"position: absolute;width: 0;height: 0;overflow: hidden\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n<defs>\n<symbol viewbox=\"9 9 46 42\" id=\"wpt-star-full\">\n\t<path d=\"m46.3 52-14.4-9.5-14.4 9.4L22 35.3 8.7 24.5l17.1-.9 6.2-16 6 16 17.2 1-13.4 10.7z\" \/>\n<\/symbol>\n<\/defs>\n<\/svg>\n<a class=\"button tasty-recipes-print-button tasty-recipes-no-print tasty-recipes-print-above-card\" href=\"https:\/\/inasrecipes.com\/fr\/stir-fried-bok-choy-beef\/print\/3869\/\">Print<\/a><span class=\"tasty-recipes-jump-target\" id=\"tasty-recipes-3869-jump-target\" style=\"display:block;padding-top:2px;margin-top:-2px;\"><\/span><div id=\"tasty-recipes-3869\" data-tr-id=\"3869\" class=\"tasty-recipes tasty-recipes-3869 tasty-recipes-display tasty-recipes-has-image\" style=\"border-color: #EEF1E6 !important;\" data-tasty-recipes-customization=\"primary-color.border-color\">\n\n<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"display: none;\"><defs><symbol id=\"tasty-recipes-icon-clock\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\"><title>clock<\/title> <desc>clock icon<\/desc><path d=\"M22 5.72l-4.6-3.86-1.29 1.53 4.6 3.86L22 5.72zM7.88 3.39L6.6 1.86 2 5.71l1.29 1.53 4.59-3.85zM12.5 8H11v6l4.75 2.85.75-1.23-4-2.37V8zM12 4c-4.97 0-9 4.03-9 9s4.02 9 9 9c4.97 0 9-4.03 9-9s-4.03-9-9-9zm0 16c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7z\" fill=\"currentColor\" \/><\/symbol><symbol id=\"tasty-recipes-icon-cutlery\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\"><title>cutlery<\/title> <desc>cutlery icon<\/desc><path d=\"M11 9H9V2H7v7H5V2H3v7c0 2.12 1.66 3.84 3.75 3.97V22h2.5v-9.03C11.34 12.84 13 11.12 13 9V2h-2v7zm5-3v8h2.5v8H21V2c-2.76 0-5 2.24-5 4z\" fill=\"currentColor\" \/><\/symbol><symbol id=\"tasty-recipes-icon-flag\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\"><title>flag<\/title> <desc>flag icon<\/desc><path d=\"M14.4 6L14 4H5v17h2v-7h5.6l.4 2h7V6z\" fill=\"currentColor\"\/><\/symbol><symbol id=\"tasty-recipes-icon-folder\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\"><title>folder<\/title> <desc>folder icon<\/desc><path d=\"M10 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2h-8l-2-2z\" fill=\"currentColor\" \/><\/symbol><symbol id=\"tasty-recipes-icon-instagram\" viewBox=\"0 0 448 512\"><title>instagram<\/title> <desc>instagram icon<\/desc><path fill=\"currentColor\" d=\"M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z\"><\/path><\/symbol><symbol id=\"tasty-recipes-icon-pinterest\" viewBox=\"0 0 384 512\"><title>pinterest<\/title> <desc>pinterest icon<\/desc><path fill=\"currentColor\" d=\"M204 6.5C101.4 6.5 0 74.9 0 185.6 0 256 39.6 296 63.6 296c9.9 0 15.6-27.6 15.6-35.4 0-9.3-23.7-29.1-23.7-67.8 0-80.4 61.2-137.4 140.4-137.4 68.1 0 118.5 38.7 118.5 109.8 0 53.1-21.3 152.7-90.3 152.7-24.9 0-46.2-18-46.2-43.8 0-37.8 26.4-74.4 26.4-113.4 0-66.2-93.9-54.2-93.9 25.8 0 16.8 2.1 35.4 9.6 50.7-13.8 59.4-42 147.9-42 209.1 0 18.9 2.7 37.5 4.5 56.4 3.4 3.8 1.7 3.4 6.9 1.5 50.4-69 48.6-82.5 71.4-172.8 12.3 23.4 44.1 36 69.3 36 106.2 0 153.9-103.5 153.9-196.8C384 71.3 298.2 6.5 204 6.5z\" \/><\/symbol><symbol id=\"tasty-recipes-icon-facebook\" viewBox=\"0 0 448 512\"><title>facebook<\/title> <desc>facebook icon<\/desc><path fill=\"currentColor\" d=\"M400 32H48A48 48 0 0 0 0 80v352a48 48 0 0 0 48 48h137.25V327.69h-63V256h63v-54.64c0-62.15 37-96.48 93.67-96.48 27.14 0 55.52 4.84 55.52 4.84v61h-31.27c-30.81 0-40.42 19.12-40.42 38.73V256h68.78l-11 71.69h-57.78V480H400a48 48 0 0 0 48-48V80a48 48 0 0 0-48-48z\" \/><\/symbol><symbol id=\"tasty-recipes-icon-print\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\"><title>print<\/title> <desc>print icon<\/desc><path d=\"M19 8H5c-1.66 0-3 1.34-3 3v6h4v4h12v-4h4v-6c0-1.66-1.34-3-3-3zm-3 11H8v-5h8v5zm3-7c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1zm-1-9H6v4h12V3z\" fill=\"currentColor\" \/><\/symbol><symbol id=\"tasty-recipes-icon-squares\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\"><title>squares<\/title> <desc>squares icon<\/desc><path d=\"M22 9V7h-2V5c0-1.1-.9-2-2-2H4c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-2h2v-2h-2v-2h2v-2h-2V9h2zm-4 10H4V5h14v14zM6 13h5v4H6zm6-6h4v3h-4zM6 7h5v5H6zm6 4h4v6h-4z\" fill=\"currentColor\" \/><\/symbol><symbol id=\"tasty-recipes-icon-heart-regular\" viewBox=\"0 0 512 512\"><title>heart<\/title> <desc>heart icon<\/desc><path fill=\"currentColor\" d=\"M458.4 64.3C400.6 15.7 311.3 23 256 79.3 200.7 23 111.4 15.6 53.6 64.3-21.6 127.6-10.6 230.8 43 285.5l175.4 178.7c10 10.2 23.4 15.9 37.6 15.9 14.3 0 27.6-5.6 37.6-15.8L469 285.6c53.5-54.7 64.7-157.9-10.6-221.3zm-23.6 187.5L259.4 430.5c-2.4 2.4-4.4 2.4-6.8 0L77.2 251.8c-36.5-37.2-43.9-107.6 7.3-150.7 38.9-32.7 98.9-27.8 136.5 10.5l35 35.7 35-35.7c37.8-38.5 97.8-43.2 136.5-10.6 51.1 43.1 43.5 113.9 7.3 150.8z\"><\/path><\/symbol><symbol id=\"tasty-recipes-icon-heart-solid\" viewBox=\"0 0 512 512\"><title>heart solid<\/title> <desc>heart solid icon<\/desc><path fill=\"currentColor\" d=\"M462.3 62.6C407.5 15.9 326 24.3 275.7 76.2L256 96.5l-19.7-20.3C186.1 24.3 104.5 15.9 49.7 62.6c-62.8 53.6-66.1 149.8-9.9 207.9l193.5 199.8c12.5 12.9 32.8 12.9 45.3 0l193.5-199.8c56.3-58.1 53-154.3-9.8-207.9z\"><\/path><\/symbol><\/defs><\/svg>\n<header class=\"tasty-recipes-entry-header\" style=\"background: #EEF1E6 !important;\" data-tasty-recipes-customization=\"primary-color.background\">\n\t\t\t<div class=\"tasty-recipes-image\">\n\t\t\t<img decoding=\"async\" style=\"border-color: #EEF1E6 !important;\" data-tasty-recipes-customization=\"primary-color.border-color\" width=\"150\" height=\"150\" src=\"https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/02\/image_1200x800_1772196740317-e1772196927255-150x150.webp\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" data-pin-nopin=\"true\" data-pin-description=\"Stir-fried Bok Choy Beef\" data-pin-title=\"Stir-fried Bok Choy Beef\" data-pin-url=\"https:\/\/inasrecipes.com\/fr\/stir-fried-bok-choy-beef\/?tp_image_id=3870\" title=\"\">\t\t<\/div>\n\t\t<h2 class=\"tasty-recipes-title\" style=\"color: #283C30 !important;\" data-tasty-recipes-customization=\"h2-color.color h2-transform.text-transform\">Stir-fried Bok Choy Beef<\/h2>\n\t<hr style=\"border-color: #F4F1E8 !important; background-color: #F4F1E8 !important;\" data-tasty-recipes-customization=\"secondary-color.border-color secondary-color.background-color\">\n\t\t\t<div class=\"tasty-recipes-rating\">\n\t\t\t\t\t\t\t<p><svg aria-hidden=\"true\" style=\"position: absolute;width: 0;height: 0;overflow: hidden\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n<defs>\n<symbol viewbox=\"9 9 46 42\" id=\"wpt-star-full\">\n\t<path d=\"m46.3 52-14.4-9.5-14.4 9.4L22 35.3 8.7 24.5l17.1-.9 6.2-16 6 16 17.2 1-13.4 10.7z\" \/>\n<\/symbol>\n<\/defs>\n<\/svg>\n<span class=\"tasty-recipes-ratings-buttons tasty-recipes-no-ratings-buttons\"\tdata-tr-default-rating=\"0\"\t>\t\t<span class=\"tasty-recipes-rating\" >\t\t<i class=\"checked\" data-rating=\"5\">\t\t\t<span class=\"tasty-recipes-rating-solid\" data-tr-clip=\"0\">\t\t\t\t<svg class=\"tasty-recipes-svg\" width=\"18\" height=\"17\"><use href=\"#wpt-star-full\" \/><\/svg>\t\t\t<\/span>\t\t\t<span class=\"tasty-recipes-screen-reader\">\t\t\t\t5 Stars\t\t\t<\/span>\t\t<\/i>\t<\/span>\t\t<span class=\"tasty-recipes-rating\" >\t\t<i class=\"checked\" data-rating=\"4\">\t\t\t<span class=\"tasty-recipes-rating-solid\" data-tr-clip=\"0\">\t\t\t\t<svg class=\"tasty-recipes-svg\" width=\"18\" height=\"17\"><use href=\"#wpt-star-full\" \/><\/svg>\t\t\t<\/span>\t\t\t<span class=\"tasty-recipes-screen-reader\">\t\t\t\t4 Stars\t\t\t<\/span>\t\t<\/i>\t<\/span>\t\t<span class=\"tasty-recipes-rating\" >\t\t<i class=\"checked\" data-rating=\"3\">\t\t\t<span class=\"tasty-recipes-rating-solid\" data-tr-clip=\"0\">\t\t\t\t<svg class=\"tasty-recipes-svg\" width=\"18\" height=\"17\"><use href=\"#wpt-star-full\" \/><\/svg>\t\t\t<\/span>\t\t\t<span class=\"tasty-recipes-screen-reader\">\t\t\t\t3 Stars\t\t\t<\/span>\t\t<\/i>\t<\/span>\t\t<span class=\"tasty-recipes-rating\" >\t\t<i class=\"checked\" data-rating=\"2\">\t\t\t<span class=\"tasty-recipes-rating-solid\" data-tr-clip=\"0\">\t\t\t\t<svg class=\"tasty-recipes-svg\" width=\"18\" height=\"17\"><use href=\"#wpt-star-full\" \/><\/svg>\t\t\t<\/span>\t\t\t<span class=\"tasty-recipes-screen-reader\">\t\t\t\t2 Stars\t\t\t<\/span>\t\t<\/i>\t<\/span>\t\t<span class=\"tasty-recipes-rating\" >\t\t<i class=\"checked\" data-rating=\"1\">\t\t\t<span class=\"tasty-recipes-rating-solid\" data-tr-clip=\"0\">\t\t\t\t<svg class=\"tasty-recipes-svg\" width=\"18\" height=\"17\"><use href=\"#wpt-star-full\" \/><\/svg>\t\t\t<\/span>\t\t\t<span class=\"tasty-recipes-screen-reader\">\t\t\t\t1 Star\t\t\t<\/span>\t\t<\/i>\t<\/span><\/span><\/p>\n\t\t\t\t\t\t\t\t\t\t<p><span style=\"color: #374B3E !important;\" data-tasty-recipes-customization=\"detail-label-color.color\" class=\"rating-label\">No reviews<\/span><\/p>\n\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"tasty-recipes-details\">\n\t\t\t<ul>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li class=\"author\"><span class=\"tasty-recipes-label\" style=\"color: #374B3E !important;\" data-tasty-recipes-customization=\"detail-label-color.color\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tAuthor:<\/span> <span style=\"color: #283C30 !important;\" data-tasty-recipes-customization=\"detail-value-color.color\" class=\"tasty-recipes-author-name\">Inas Recipes<\/span>\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li class=\"total-time\"><span class=\"tasty-recipes-label\" style=\"color: #374B3E !important;\" data-tasty-recipes-customization=\"detail-label-color.color\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<svg viewBox=\"0 0 24 24\" class=\"detail-icon\" aria-hidden=\"true\"><use xlink:href=\"#tasty-recipes-icon-clock\" style=\"color: #314C3C !important;\" data-tasty-recipes-customization=\"icon-color.color\"><\/use><\/svg>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tTotal Time:<\/span> <span style=\"color: #283C30 !important;\" data-tasty-recipes-customization=\"detail-value-color.color\" class=\"tasty-recipes-total-time\">30 minutes<\/span>\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li class=\"yield\"><span class=\"tasty-recipes-label\" style=\"color: #374B3E !important;\" data-tasty-recipes-customization=\"detail-label-color.color\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<svg viewBox=\"0 0 24 24\" class=\"detail-icon\" aria-hidden=\"true\"><use xlink:href=\"#tasty-recipes-icon-cutlery\" style=\"color: #314C3C !important;\" data-tasty-recipes-customization=\"icon-color.color\"><\/use><\/svg>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tYield:<\/span> <span style=\"color: #283C30 !important;\" data-tasty-recipes-customization=\"detail-value-color.color\" class=\"tasty-recipes-yield\"><span data-amount=\"4\">4<\/span> servings <span class=\"tasty-recipes-yield-scale\"><span data-amount=\"1\">1<\/span>x<\/span><\/span>\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/ul>\n\t\t<\/div>\n\t<\/header>\n\n<div class=\"tasty-recipes-entry-content\">\n\n\t\t<div class=\"tasty-recipes-buttons\">\n\t\t\t\t<div class=\"tasty-recipes-button-wrap\">\n\t\t\t\n<a class=\"button tasty-recipes-print-button tasty-recipes-no-print\" href=\"https:\/\/inasrecipes.com\/fr\/stir-fried-bok-choy-beef\/print\/3869\/\" target=\"_blank\" data-tasty-recipes-customization=\"\">\n\t\t\t<svg viewBox=\"0 0 24 24\" class=\"svg-print\" aria-hidden=\"true\"><use xlink:href=\"#tasty-recipes-icon-print\"><\/use><\/svg>\n\t\tPrint Recipe<\/a>\n\t\t<\/div>\n\t\t\t\t\t\t<div class=\"tasty-recipes-button-wrap\">\n\t\t\t\n<a class=\"share-pin button\" data-pin-custom=\"true\" data-href=\"https:\/\/www.pinterest.com\/pin\/create\/bookmarklet\/?url=https%3A%2F%2Finasrecipes.com%2Ffr%2Fstir-fried-bok-choy-beef%2F\" href=\"https:\/\/www.pinterest.com\/pin\/create\/bookmarklet\/?url=https%3A%2F%2Finasrecipes.com%2Ffr%2Fstir-fried-bok-choy-beef%2F\" data-tasty-recipes-customization=\"\">\n\t\t\t<svg viewBox=\"0 0 24 24\" class=\"svg-print\" aria-hidden=\"true\"><use xlink:href=\"#tasty-recipes-icon-pinterest\"><\/use><\/svg>\n\t\tPin Recipe<\/a>\n<script>\n\tconst share_pin_buttons = document.getElementsByClassName( 'share-pin button' );\n\tif ( share_pin_buttons ) {\n\t\tfor ( let share_key = 0; share_key < share_pin_buttons.length; share_key++ ) {\n\t\t\tshare_pin_buttons[share_key].addEventListener( 'click', (e) => {\n\t\t\t\te.stopPropagation();\n\t\t\t\twindow.open(e.target.dataset.href,'targetWindow','toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=500,height=500');\n\t\t\t\treturn false;\n\t\t\t} );\n\t\t}\n\t}\n<\/script>\n\t\t<\/div>\n\t\t\t<\/div>\n\t\n\t\t\t<div class=\"tasty-recipes-description\">\n\t\t\t<h3 style=\"color: #314C3C !important;\" data-tasty-recipes-customization=\"h3-color.color h3-transform.text-transform\">Description<\/h3>\n\t\t\t<div class=\"tasty-recipes-description-body\" style=\"color: #292A25 !important;\" data-tasty-recipes-customization=\"body-color.color\">\n\t\t\t\t<p>Pumpkin Pecan Cobbler is a savory, high-heat stir-fried bok choy beef dish featuring tender velveted beef, crisp-tender greens, and a glossy garlic ginger sauce.<\/p>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\n\t\t\t<hr style=\"border-color: #F4F1E8 !important; background-color: #F4F1E8 !important;\" data-tasty-recipes-customization=\"secondary-color.border-color secondary-color.background-color\">\n\t\n\t\t\t<div class=\"tasty-recipes-ingredients\">\n\t\t\t<div class=\"tasty-recipes-ingredients-header\">\n\t\t\t\t<div class=\"tasty-recipes-ingredients-clipboard-container\">\n\t\t\t\t\t<h3 style=\"color: #314C3C !important;\" data-tasty-recipes-customization=\"h3-color.color h3-transform.text-transform\">Ingredients<\/h3>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"tasty-recipes-units-scale-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"tasty-recipes-scale-container\">\n\t\t\t\t\t\t\t<span class=\"tasty-recipes-scale-label\">Scale<\/span>\n\t\t\t\t\t\t\t<button class=\"tasty-recipes-scale-button tasty-recipes-scale-button-active\" data-amount=\"1\" type=\"button\">1x<\/button><button class=\"tasty-recipes-scale-button\" data-amount=\"2\" type=\"button\">2x<\/button><button class=\"tasty-recipes-scale-button\" data-amount=\"3\" type=\"button\">3x<\/button>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t<div style=\"color: #292A25 !important;\" data-tasty-recipes-customization=\"body-color.color\">\n\t\t\t\t<ul>\n<li><span data-amount=\"1\">1<\/span> lb flank steak, skirt steak, sirloin, or top round, thinly sliced<\/li>\n<li><span data-amount=\"1\" data-unit=\"tablespoon\">1 tablespoon<\/span> soy sauce (for marinade)<\/li>\n<li><span data-amount=\"1\" data-unit=\"tablespoon\">1 tablespoon<\/span> Shaoxing wine or dry sherry (optional)<\/li>\n<li><span data-amount=\"1\" data-unit=\"teaspoon\">1 teaspoon<\/span> cornstarch (for marinade)<\/li>\n<li><span data-amount=\"1\" data-unit=\"teaspoon\">1 teaspoon<\/span> neutral oil (for marinade)<\/li>\n<li><span data-amount=\"0.5\" data-unit=\"teaspoon\">1\/2 teaspoon<\/span> baking soda (optional velveting boost)<\/li>\n<li><span data-amount=\"1.5\">1 1\/2<\/span> lbs bok choy<\/li>\n<li><span data-amount=\"3\">3<\/span> cloves garlic, minced<\/li>\n<li><span data-amount=\"1\" data-unit=\"tablespoon\">1 tablespoon<\/span> fresh ginger, grated<\/li>\n<li><span data-amount=\"3\">3<\/span> scallions, sliced (optional)<\/li>\n<li><span data-amount=\"3\" data-unit=\"tablespoon\">3 tablespoons<\/span> soy sauce<\/li>\n<li><span data-amount=\"1\" data-unit=\"tablespoon\">1 tablespoon<\/span> oyster sauce or mushroom oyster sauce<\/li>\n<li><span data-amount=\"1\" data-unit=\"tablespoon\">1 tablespoon<\/span> rice vinegar<\/li>\n<li><span data-amount=\"1\">1<\/span> to <span data-amount=\"2\">2<\/span> teaspoons brown sugar or honey<\/li>\n<li><span data-amount=\"0.5\" data-unit=\"cup\">1\/2 cup<\/span> beef broth or water<\/li>\n<li><span data-amount=\"1.5\" data-unit=\"teaspoon\">1 1\/2 teaspoons<\/span> cornstarch (for sauce)<\/li>\n<li><span data-amount=\"2\" data-unit=\"tablespoon\">2 tablespoons<\/span> neutral oil (for cooking)<\/li>\n<li>Few drops toasted sesame oil (optional)<\/li>\n<\/ul>\n<!--INSIDE_INGREDIENTS-->\t\t\t<\/div>\n\t\t\t<div class=\"tasty-recipes-cook-mode\">\n\t<div class=\"tasty-recipes-cook-mode__container\">\n\t\t<label class=\"tasty-recipes-cook-mode__switch\">\n\t\t\t<input type=\"checkbox\" id=\"tasty_recipes_6adca119c68aa_cookmode\">\n\t\t\t<span class=\"tasty-recipes-cook-mode__switch-slider tasty-recipes-cook-mode__switch-round\"\n\t\t\t\tdata-tasty-recipes-customization=\"button-color.background button-text-color.color\"><\/span>\n\t\t<\/label>\n\t\t<label for=\"tasty_recipes_6adca119c68aa_cookmode\">\n\t\t\t<span class=\"tasty-recipes-cook-mode__label\">Cook Mode<\/span>\n\t\t\t<span class=\"tasty-recipes-cook-mode__helper\">\n\t\t\t\tPrevent your screen from going dark\t\t\t<\/span>\n\t\t<\/label>\n\t<\/div>\n<\/div>\n\t\t<\/div>\n\t\n\t\t\t<hr style=\"border-color: #F4F1E8 !important; background-color: #F4F1E8 !important;\" data-tasty-recipes-customization=\"secondary-color.border-color secondary-color.background-color\">\n\t\n\t\t<div class=\"tasty-recipes-instructions\">\n\t\t<div class=\"tasty-recipes-instructions-header\">\n\t\t\t<h3 style=\"color: #314C3C !important;\" data-tasty-recipes-customization=\"h3-color.color h3-transform.text-transform\">Instructions<\/h3>\n\t\t\t\t\t<\/div>\n\t\t<div style=\"color: #292A25 !important;\" data-tasty-recipes-customization=\"body-color.color\">\n\t\t\t<ol>\n<li id=\"instruction-step-1\">In a bowl, combine sliced beef with soy sauce, Shaoxing wine, cornstarch, neutral oil, and baking soda if using.<\/li>\n<li id=\"instruction-step-2\">Marinate 15 to 20 minutes.<\/li>\n<li id=\"instruction-step-3\">Trim bok choy by slicing off the base and separating stems from leaves.<\/li>\n<li id=\"instruction-step-4\">Rinse thoroughly and drain well.<\/li>\n<li id=\"instruction-step-5\">Chop stems into 1-inch pieces and keep leaves larger.<\/li>\n<li id=\"instruction-step-6\">In a small bowl, whisk soy sauce, oyster sauce, rice vinegar, brown sugar, beef broth, and cornstarch.<\/li>\n<li id=\"instruction-step-7\">Heat a wok or large skillet over high heat.<\/li>\n<li id=\"instruction-step-8\">Add 1 tablespoon oil and sear beef in a single layer 1 to 2 minutes per side.<\/li>\n<li id=\"instruction-step-9\">Remove beef and set aside.<\/li>\n<li id=\"instruction-step-10\">Add remaining oil to pan.<\/li>\n<li id=\"instruction-step-11\">Stir-fry garlic and ginger 30 seconds until fragrant.<\/li>\n<li id=\"instruction-step-12\">Add bok choy stems and cook 1 to 2 minutes.<\/li>\n<li id=\"instruction-step-13\">Add leaves and cook until just wilted.<\/li>\n<li id=\"instruction-step-14\">Return beef to pan.<\/li>\n<li id=\"instruction-step-15\">Pour in sauce and toss until thickened and glossy.<\/li>\n<li id=\"instruction-step-16\">Finish with scallions and a few drops sesame oil if desired.<\/li>\n<li id=\"instruction-step-17\">Serve immediately.<\/li>\n<\/ol>\n\t\t<\/div>\n\t<\/div>\n\t\n\t\n\t\t\n\t\n\t\t\t<div class=\"tasty-recipes-notes\" style=\"background-color: #F4F1E8 !important;\" data-tasty-recipes-customization=\"secondary-color.background-color\">\n\t\t\t<h3 style=\"color: #314C3C !important;\" data-tasty-recipes-customization=\"h3-color.color h3-transform.text-transform\">Notes<\/h3>\n\t\t\t<div class=\"tasty-recipes-notes-body\" style=\"color: #292A25 !important;\" data-tasty-recipes-customization=\"body-color.color\">\n\t\t\t\t<p>Prep all ingredients before cooking since stir-frying moves quickly. Avoid overcrowding the pan to keep beef tender and vegetables crisp.<\/p>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\n\t\t\t<div class=\"tasty-recipes-other-details\" style=\"background-color: #F4F1E8 !important;\" data-tasty-recipes-customization=\"secondary-color.background-color\">\n\t\t\t<ul>\n\t\t\t\t<li class=\"prep-time\"><span class=\"tasty-recipes-label\" style=\"color: #374B3E !important;\" data-tasty-recipes-customization=\"detail-label-color.color\"><svg viewbox=\"0 0 24 24\" class=\"detail-icon\" aria-hidden=\"true\"><use xlink:href=\"#tasty-recipes-icon-clock\"><\/use><\/svg>Prep Time:<\/span> <span style=\"color: #283C30 !important;\" data-tasty-recipes-customization=\"detail-value-color.color\" class=\"tasty-recipes-prep-time\">20 minutes<\/span><\/li><li class=\"cook-time\"><span class=\"tasty-recipes-label\" style=\"color: #374B3E !important;\" data-tasty-recipes-customization=\"detail-label-color.color\"><svg viewbox=\"0 0 24 24\" class=\"detail-icon\" aria-hidden=\"true\"><use xlink:href=\"#tasty-recipes-icon-clock\"><\/use><\/svg>Cook Time:<\/span> <span style=\"color: #283C30 !important;\" data-tasty-recipes-customization=\"detail-value-color.color\" class=\"tasty-recipes-cook-time\">10 minutes<\/span><\/li><li class=\"category\"><span class=\"tasty-recipes-label\" style=\"color: #374B3E !important;\" data-tasty-recipes-customization=\"detail-label-color.color\"><svg viewbox=\"0 0 24 24\" class=\"detail-icon\" aria-hidden=\"true\"><use xlink:href=\"#tasty-recipes-icon-folder\"><\/use><\/svg>Category:<\/span> <span style=\"color: #283C30 !important;\" data-tasty-recipes-customization=\"detail-value-color.color\" class=\"tasty-recipes-category\">Dinner<\/span><\/li><li class=\"method\"><span class=\"tasty-recipes-label\" style=\"color: #374B3E !important;\" data-tasty-recipes-customization=\"detail-label-color.color\"><svg viewbox=\"0 0 24 24\" class=\"detail-icon\" aria-hidden=\"true\"><use xlink:href=\"#tasty-recipes-icon-squares\"><\/use><\/svg>Method:<\/span> <span style=\"color: #283C30 !important;\" data-tasty-recipes-customization=\"detail-value-color.color\" class=\"tasty-recipes-method\">Stir Fry<\/span><\/li><li class=\"cuisine\"><span class=\"tasty-recipes-label\" style=\"color: #374B3E !important;\" data-tasty-recipes-customization=\"detail-label-color.color\"><svg viewbox=\"0 0 24 24\" class=\"detail-icon\" aria-hidden=\"true\"><use xlink:href=\"#tasty-recipes-icon-flag\"><\/use><\/svg>Cuisine:<\/span> <span style=\"color: #283C30 !important;\" data-tasty-recipes-customization=\"detail-value-color.color\" class=\"tasty-recipes-cuisine\">Asian Inspired<\/span><\/li>\t\t\t<\/ul>\n\t\t<\/div>\n\t\n\t\n\t\n\t\t\t\t<div class=\"tasty-recipes-nutrition\">\n\t\t\t<h3 style=\"color: #314C3C !important;\" data-tasty-recipes-customization=\"h3-color.color h3-transform.text-transform\">Nutrition<\/h3>\n\t\t\t<ul>\n\t\t\t\t\t\t\t\t\t<li><strong class=\"tasty-recipes-label\" style=\"color: #292A25 !important;\" data-tasty-recipes-customization=\"body-color.color\">Serving Size:<\/strong> <span style=\"color: #292A25 !important;\" data-tasty-recipes-customization=\"body-color.color\" class=\"tasty-recipes-serving-size\">1 serving<\/span><\/li>\n\t\t\t\t\t\t\t\t\t<li><strong class=\"tasty-recipes-label\" style=\"color: #292A25 !important;\" data-tasty-recipes-customization=\"body-color.color\">Calories:<\/strong> <span style=\"color: #292A25 !important;\" data-tasty-recipes-customization=\"body-color.color\" class=\"tasty-recipes-calories\">390<\/span><\/li>\n\t\t\t\t\t\t\t\t\t<li><strong class=\"tasty-recipes-label\" style=\"color: #292A25 !important;\" data-tasty-recipes-customization=\"body-color.color\">Sugar:<\/strong> <span style=\"color: #292A25 !important;\" data-tasty-recipes-customization=\"body-color.color\" class=\"tasty-recipes-sugar\">4g<\/span><\/li>\n\t\t\t\t\t\t\t\t\t<li><strong class=\"tasty-recipes-label\" style=\"color: #292A25 !important;\" data-tasty-recipes-customization=\"body-color.color\">Sodium:<\/strong> <span style=\"color: #292A25 !important;\" data-tasty-recipes-customization=\"body-color.color\" class=\"tasty-recipes-sodium\">720mg<\/span><\/li>\n\t\t\t\t\t\t\t\t\t<li><strong class=\"tasty-recipes-label\" style=\"color: #292A25 !important;\" data-tasty-recipes-customization=\"body-color.color\">Fat:<\/strong> <span style=\"color: #292A25 !important;\" data-tasty-recipes-customization=\"body-color.color\" class=\"tasty-recipes-fat\">20g<\/span><\/li>\n\t\t\t\t\t\t\t\t\t<li><strong class=\"tasty-recipes-label\" style=\"color: #292A25 !important;\" data-tasty-recipes-customization=\"body-color.color\">Saturated Fat:<\/strong> <span style=\"color: #292A25 !important;\" data-tasty-recipes-customization=\"body-color.color\" class=\"tasty-recipes-saturated-fat\">5g<\/span><\/li>\n\t\t\t\t\t\t\t\t\t<li><strong class=\"tasty-recipes-label\" style=\"color: #292A25 !important;\" data-tasty-recipes-customization=\"body-color.color\">Unsaturated Fat:<\/strong> <span style=\"color: #292A25 !important;\" data-tasty-recipes-customization=\"body-color.color\" class=\"tasty-recipes-unsaturated-fat\">13g<\/span><\/li>\n\t\t\t\t\t\t\t\t\t<li><strong class=\"tasty-recipes-label\" style=\"color: #292A25 !important;\" data-tasty-recipes-customization=\"body-color.color\">Trans Fat:<\/strong> <span style=\"color: #292A25 !important;\" data-tasty-recipes-customization=\"body-color.color\" class=\"tasty-recipes-trans-fat\">0g<\/span><\/li>\n\t\t\t\t\t\t\t\t\t<li><strong class=\"tasty-recipes-label\" style=\"color: #292A25 !important;\" data-tasty-recipes-customization=\"body-color.color\">Carbohydrates:<\/strong> <span style=\"color: #292A25 !important;\" data-tasty-recipes-customization=\"body-color.color\" class=\"tasty-recipes-carbohydrates\">12g<\/span><\/li>\n\t\t\t\t\t\t\t\t\t<li><strong class=\"tasty-recipes-label\" style=\"color: #292A25 !important;\" data-tasty-recipes-customization=\"body-color.color\">Fiber:<\/strong> <span style=\"color: #292A25 !important;\" data-tasty-recipes-customization=\"body-color.color\" class=\"tasty-recipes-fiber\">3g<\/span><\/li>\n\t\t\t\t\t\t\t\t\t<li><strong class=\"tasty-recipes-label\" style=\"color: #292A25 !important;\" data-tasty-recipes-customization=\"body-color.color\">Protein:<\/strong> <span style=\"color: #292A25 !important;\" data-tasty-recipes-customization=\"body-color.color\" class=\"tasty-recipes-protein\">38g<\/span><\/li>\n\t\t\t\t\t\t\t\t\t<li><strong class=\"tasty-recipes-label\" style=\"color: #292A25 !important;\" data-tasty-recipes-customization=\"body-color.color\">Cholesterol:<\/strong> <span style=\"color: #292A25 !important;\" data-tasty-recipes-customization=\"body-color.color\" class=\"tasty-recipes-cholesterol\">95mg<\/span><\/li>\n\t\t\t\t\t\t\t<\/ul>\n\t\t\t<\/div>\n\t\n\t\n\t<footer class=\"tasty-recipes-entry-footer\" style=\"background: #EEF1E6 !important;\" data-tasty-recipes-customization=\"primary-color.background\">\n\t\t<div class=\"tasty-recipes-footer-content\">\n\t\t\t\t\t\t\t\t\t\t\t\t<svg viewBox=\"0 0 24 24\" class=\"svg-instagram\" aria-hidden=\"true\" style=\"color: #314C3C !important;\" data-tasty-recipes-customization=\"footer-icon-color.color\"><use xlink:href=\"#tasty-recipes-icon-instagram\"><\/use><\/svg>\n\t\t\t\t\t\t\t\t\t\t<div class=\"tasty-recipes-footer-copy\">\n\t\t\t\t<h3 style=\"color: #283C30 !important;\" data-tasty-recipes-customization=\"footer-heading-color.color h3-transform.text-transform footer-heading.innerText\">Did you make this recipe?<\/h3>\n\t\t\t\t<div style=\"color: #374B3E !important;\" data-tasty-recipes-customization=\"footer-description-color.color footer-description.innerHTML\"><p>Share a photo and tag us \u2014 we can&#8217;t wait to see what you&#8217;ve made!<\/p>\n<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/footer>\n<\/div>\n\n\n\n<script>\nwindow.trCommon={\"minRating\":6,\"ajaxurl\":\"https:\\\/\\\/inasrecipes.com\\\/wp-admin\\\/admin-ajax.php\",\"ratingNonce\":\"\",\"postId\":3868};\nwindow.TastyRecipes = window.TastyRecipes || {};\n\nwindow.TastyRecipes.smoothScroll = {\ninit() {\ndocument.addEventListener( 'click', ( e ) => {\nlet anchor = e.target;\nif ( anchor.tagName !== 'A' ) {\nanchor = anchor.closest( 'a.tasty-recipes-scrollto' );\n}\n\nif ( ! anchor || ! anchor.classList.contains( 'tasty-recipes-scrollto' ) ) {\nreturn;\n}\n\nconst elementHref = anchor.getAttribute( 'href' );\nif ( ! elementHref ) {\nreturn;\n}\n\ne.preventDefault();\nthis.goToSelector( elementHref );\n});\n},\ngoToSelector( selector ) {\nconst element = document.querySelector( selector );\nif ( ! element ) {\nreturn;\n}\nelement.scrollIntoView( { behavior: 'smooth' } );\n}\n};\n\ndocument.addEventListener(\n'DOMContentLoaded',\n() => window.TastyRecipes.smoothScroll.init()\n);\n\n(function(){\n\n\nvar bothEquals = function( d1, d2, D ) {\nvar ret = 0;\nif (d1<=D) {\nret++;\n}\nif (d2<=D) {\nret++;\n}\nreturn ret === 2;\n};\n\nvar 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+d2<=D){d1+=d2;n1+=n2;d2=D+1}else if(d1>d2){d2=D+1;}else {d1=D+1;}break}else if(x<m){n2=n1+n2;d2=d1+d2}else{n1=n1+n2;d1=d1+d2}}}if(d1>D){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-A<5e-8){break;}B=1\/(B-A);P_2=P_1;P_1=P;Q_2=Q_1;Q_1=Q}if(Q>D){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]};\n\n\nwindow.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\"));\n\nwindow.tastyRecipesFormatAmount = function(amount, el) {\nif ( parseFloat( amount ) === parseInt( amount ) ) {\nreturn amount;\n}\nvar roundType = 'frac';\nif (typeof el.dataset.amountShouldRound !== 'undefined') {\nif ('false' !== el.dataset.amountShouldRound) {\nif ( 'number' === el.dataset.amountShouldRound ) {\nroundType = 'number';\n} else if ('frac' === el.dataset.amountShouldRound) {\nroundType = 'frac';\n} else if ('vulgar' === el.dataset.amountShouldRound) {\nroundType = 'vulgar';\n} else {\nroundType = 'integer';\n}\n}\n}\nif ('number' === roundType) {\namount = Number.parseFloat(amount).toPrecision(2);\n} else if ('integer' === roundType) {\namount = Math.round(amount);\n} else if ('frac' === roundType || 'vulgar' === roundType) {\nvar denom = 8;\nif (typeof el.dataset.unit !== 'undefined') {\nvar unit = el.dataset.unit;\nif (['cups','cup','c'].includes(unit)) {\ndenom = 4;\nif (0.125 === amount) {\ndenom = 8;\n}\nif (\"0.1667\" === Number.parseFloat( amount ).toPrecision(4)) {\ndenom = 6;\n}\n}\nif (['tablespoons','tablespoon','tbsp'].includes(unit)) {\ndenom = 2;\n}\nif (['teaspoons','teaspoon','tsp'].includes(unit)) {\ndenom = 8;\n}\n}\nvar amountArray = frac.cont( amount, denom, true );\nvar newAmount = '';\nif ( amountArray[1] !== 0 ) {\nnewAmount = amountArray[1] + '\/' + amountArray[2];\nif ('vulgar' === roundType) {\nObject.keys(window.tastyRecipesVulgarFractions).forEach(function(vulgar) {\nif (newAmount === window.tastyRecipesVulgarFractions[vulgar]) {\nnewAmount = vulgar;\n}\n});\n}\n}\nif ( newAmount ) {\nnewAmount = ' ' + newAmount;\n}\nif ( amountArray[0] ) {\nnewAmount = amountArray[0] + newAmount;\n}\namount = newAmount;\n}\nreturn amount;\n};\n\n\nwindow.tastyRecipesUpdatePrintLink = () => {\n\nconst printButton = document.querySelector( '.tasty-recipes-print-button' );\n\n\nif ( ! printButton ) {\nreturn;\n}\n\nconst printURL = new URL( printButton.href );\nconst searchParams = new URLSearchParams( printURL.search );\n\nconst unitButton = document.querySelector( '.tasty-recipes-convert-button-active' );\nconst scaleButton = document.querySelector( '.tasty-recipes-scale-button-active' );\n\nlet unit = '';\nlet scale = '';\n\nif ( unitButton ) {\nunit = unitButton.dataset.unitType;\nsearchParams.delete('unit');\nsearchParams.set( 'unit', unit );\n}\n\nif ( scaleButton ) {\nscale = scaleButton.dataset.amount;\nsearchParams.set( 'scale', scale );\n}\n\nconst paramString = searchParams.toString();\nconst newURL = '' === paramString ? printURL.href : printURL.origin + printURL.pathname + '?' + paramString;\nconst printLinks = document.querySelectorAll( '.tasty-recipes-print-link' );\n\nprintLinks.forEach( ( el ) => {\nel.href = newURL;\n});\n\nconst printButtons = document.querySelectorAll( '.tasty-recipes-print-button' );\nprintButtons.forEach( ( el ) => {\nel.href = newURL;\n});\n};\n\n\ndocument.addEventListener( 'DOMContentLoaded', () => {\n\n\nif ( ! window.location.href.includes( '\/print\/' ) ) {\nreturn;\n}\n\nconst searchParams = new URLSearchParams( window.location.search );\n\nconst unit = searchParams.get( 'unit' );\nconst scale = searchParams.get( 'scale' );\n\nif ( unit && ( 'metric' === unit || 'usc' === unit ) ) {\ndocument.querySelector( '.tasty-recipes-convert-button[data-unit-type=\"' + unit + '\"]' ).click();\n}\n\nif ( scale && Number(scale) > 0 ) {\ndocument.querySelector( '.tasty-recipes-scale-button[data-amount=\"' + Number(scale) + '\"]' ).click();\n}\n});\n}());\n\n(function(){\nvar buttonClass = 'tasty-recipes-scale-button',\nbuttonActiveClass = 'tasty-recipes-scale-button-active',\nbuttons = document.querySelectorAll('.tasty-recipes-scale-button');\nif ( ! buttons ) {\nreturn;\n}\n\nbuttons.forEach(function(button){\nbutton.addEventListener('click', function(event){\nevent.preventDefault();\nvar recipe = event.target.closest('.tasty-recipes');\nif ( ! recipe ) {\nreturn;\n}\nvar otherButtons = recipe.querySelectorAll('.' + buttonClass);\notherButtons.forEach(function(bt){\nbt.classList.remove(buttonActiveClass);\n});\nbutton.classList.add(buttonActiveClass);\n\n\nvar scalables = recipe.querySelectorAll('span[data-amount]');\nvar buttonAmount = parseFloat( button.dataset.amount );\nscalables.forEach(function(scalable){\nif (typeof scalable.dataset.amountOriginalType === 'undefined'\n&& typeof scalable.dataset.nfOriginal === 'undefined') {\nif (-1 !== scalable.innerText.indexOf('\/')) {\nscalable.dataset.amountOriginalType = 'frac';\n}\nif (-1 !== scalable.innerText.indexOf('.')) {\nscalable.dataset.amountOriginalType = 'number';\n}\nObject.keys(window.tastyRecipesVulgarFractions).forEach(function(vulgar) {\nif (-1 !== scalable.innerText.indexOf(vulgar)) {\nscalable.dataset.amountOriginalType = 'vulgar';\n}\n});\nif (typeof scalable.dataset.amountOriginalType !== 'undefined') {\nscalable.dataset.amountShouldRound = scalable.dataset.amountOriginalType;\n}\n}\nvar amount = parseFloat( scalable.dataset.amount ) * buttonAmount;\namount = window.tastyRecipesFormatAmount(amount, scalable);\nif ( typeof scalable.dataset.unit !== 'undefined' ) {\nif ( ! scalable.classList.contains('nutrifox-quantity') ) {\nif ( ! scalable.classList.contains('nutrifox-second-quantity') ) {\namount += ' ' + scalable.dataset.unit;\n}\n}\n}\nscalable.innerText = amount;\n});\n\nvar nonNumerics = recipe.querySelectorAll('[data-has-non-numeric-amount]');\nnonNumerics.forEach(function(nonNumeric){\nvar indicator = nonNumeric.querySelector('span[data-non-numeric-label]');\nif ( indicator ) {\nnonNumeric.removeChild(indicator);\n}\nif ( 1 !== buttonAmount ) {\nindicator = document.createElement('span');\nindicator.setAttribute('data-non-numeric-label', true);\nvar text = document.createTextNode(' (x' + buttonAmount + ')');\nindicator.appendChild(text);\nnonNumeric.appendChild(indicator);\n}\n});\n\nwindow.tastyRecipesUpdatePrintLink();\n});\n});\n}());\n\nwindow.TastyRecipes = window.TastyRecipes || {};\nwindow.TastyRecipes.cookMode = {\nwakeLockApi: false,\nwakeLock: false,\ncookModeSelector: '.tasty-recipes-cook-mode',\ninit() {\nif (\"wakeLock\" in navigator && \"request\" in navigator.wakeLock) {\nthis.wakeLockApi = navigator.wakeLock;\n}\n\nconst cookModes = document.querySelectorAll(this.cookModeSelector);\n\nif (cookModes.length > 0) {\nfor (const cookMode of cookModes) {\nif (this.wakeLockApi) {\ncookMode.querySelector('input[type=\"checkbox\"]').addEventListener(\"change\", event => {\nthis.checkboxChange(event.target);\n}, false);\n} else {\ncookMode.style.display = \"none\";\n}\n}\n}\n},\ncheckboxChange(checkbox) {\nif (checkbox.checked) {\nthis.lock();\n} else {\nthis.unlock();\n}\n},\nsetCheckboxesState(state) {\nconst checkboxes = document.querySelectorAll(this.cookModeSelector + ' input[type=\"checkbox\"]');\nfor (const checkbox of checkboxes) {\ncheckbox.checked = state;\n}\n},\nasync lock() {\ntry {\nthis.wakeLock = await this.wakeLockApi.request(\"screen\");\nthis.wakeLock.addEventListener(\"release\", () => {\nthis.wakeLock = false;\nthis.setCheckboxesState(false);\n});\nthis.setCheckboxesState(true);\n} catch (error) {\nthis.setCheckboxesState(false);\n}\n},\nunlock() {\nif (this.wakeLock) {\nthis.wakeLock.release();\nthis.wakeLock = false;\n}\nthis.setCheckboxesState(false);\n}\n};\n\n(function(callback) {\nif (document.readyState !== \"loading\") {\ncallback();\n} else {\ndocument.addEventListener(\"DOMContentLoaded\", callback);\n}\n})(() => {\nwindow.TastyRecipes.cookMode.init();\n});\n\n\n\nwindow.TastyRecipes = window.TastyRecipes || {};\n\nwindow.TastyRecipes.staticTooltip = {\nelement: null,\ntooltipElement: null,\ndeleting: false,\ninit( element ) {\nif ( this.deleting ) {\nreturn;\n}\nthis.element = element;\nthis.buildElements();\n},\ndestroy() {\nif ( ! this.tooltipElement || this.deleting ) {\nreturn;\n}\n\nthis.deleting = true;\nthis.tooltipElement.classList.remove( 'opened' );\n\nsetTimeout( () => {\nthis.tooltipElement.remove();\nthis.deleting = false;\n}, 500 );\n},\nbuildElements() {\nconst tooltipElement = document.createElement( 'div' );\ntooltipElement.classList.add( 'tasty-recipes-static-tooltip');\ntooltipElement.setAttribute( 'id', 'tasty-recipes-tooltip' );\n\nconst currentTooltipElement = document.getElementById( 'tasty-recipes-tooltip' );\nif ( currentTooltipElement ) {\ndocument.body.replaceChild( tooltipElement, currentTooltipElement );\n} else {\ndocument.body.appendChild( tooltipElement );\n}\n\nthis.tooltipElement = document.getElementById( 'tasty-recipes-tooltip' );\n},\nshow() {\nif ( ! this.tooltipElement ) {\nreturn;\n}\n\nconst tooltipTop = this.element.getBoundingClientRect().top\n+ window.scrollY\n- 10 \/\/ 10px offset.\n- this.tooltipElement.getBoundingClientRect().height;\nconst tooltipLeft = this.element.getBoundingClientRect().left\n- ( this.tooltipElement.getBoundingClientRect().width \/ 2 )\n+ ( this.element.getBoundingClientRect().width \/ 2 ) - 1;\nconst posLeft = Math.max( 10, tooltipLeft );\nthis.maybeRemoveTail( posLeft !== tooltipLeft );\n\nthis.tooltipElement.setAttribute( 'style', 'top:' + tooltipTop + 'px;left:' + posLeft + 'px;' );\nthis.tooltipElement.classList.add( 'opened' );\n\n},\nmaybeRemoveTail( removeTail ) {\nif ( removeTail ) {\nthis.tooltipElement.classList.add( 'tr-hide-tail' );\n} else {\nthis.tooltipElement.classList.remove( 'tr-hide-tail' );\n}\n},\nchangeMessage( message ) {\nif ( ! this.tooltipElement ) {\nreturn;\n}\nthis.tooltipElement.innerHTML = message;\n}\n};\n\nwindow.TastyRecipes.ajax = {\nsendPostRequest( url, data, success, failure ) {\nconst xhr = new XMLHttpRequest();\nxhr.open( 'POST', url, true );\nxhr.send( this.preparePostData( data ) );\n\nxhr.onreadystatechange = () => {\nif ( 4 !== xhr.readyState ) {\nreturn;\n}\nif ( xhr.status === 200 ) {\nsuccess( JSON.parse( xhr.responseText ) );\nreturn;\n}\n\nfailure( xhr );\n};\n\nxhr.onerror = () => {\nfailure( xhr );\n};\n},\npreparePostData( data ) {\nconst formData = new FormData();\n\nfor ( const key in data ) {\nformData.append( key, data[key] );\n}\nreturn formData;\n},\n};\n\nwindow.TastyRecipes.ratings = {\ndefaultRating: 0,\ncurrentRatingPercentage: 100,\nsavingRating: false,\ninit( minRating ) {\nthis.minRating = minRating;\n\nthis.formWatchRating();\nthis.closeTooltipWhenClickOutside();\nthis.addBodyClassBasedOnSelectedRating();\nthis.backwardCompFormRatingPosition();\n},\nformWatchRating() {\nconst ratings = document.querySelectorAll('.tasty-recipes-no-ratings-buttons [data-rating]');\nif ( ratings.length <= 0 ) {\nreturn;\n}\nfor ( const rating of ratings ) {\nrating.addEventListener( 'click', event => {\nevent.preventDefault();\nthis.defaultRating = event.target.closest( '.checked' ).dataset.rating;\nthis.setCheckedStar( event.target );\nthis.maybeSendRating( this.defaultRating, event.target );\nthis.setRatingInForm( this.defaultRating );\n} );\n}\n},\ncloseTooltipWhenClickOutside() {\nwindow.addEventListener( 'click', e => {\n\/\/ Bailout (don't remove the tooltip) when the clicked element is a rating star, or it's the tooltip itself.\nif ( e.target.closest( '.tasty-recipes-rating' ) || e.target.classList.contains( 'tasty-recipes-static-tooltip' ) ) {\nreturn;\n}\n\nwindow.TastyRecipes.staticTooltip.destroy();\n} );\n},\n setRatingInForm( rating ) {\nconst ratingInput = document.querySelector( '#respond .tasty-recipes-rating[value=\"' + rating + '\"]' );\nif ( ! ratingInput ) {\nreturn;\n}\nratingInput.click();\n},\naddBodyClassBasedOnSelectedRating() {\nconst ratingInputs = document.querySelectorAll( 'input.tasty-recipes-rating' );\nif ( ! ratingInputs ) {\nreturn;\n}\nfor ( const ratingInput of ratingInputs ) {\nratingInput.addEventListener( 'click', currentEvent => {\nconst selectedRating = currentEvent.target.getAttribute( 'value' );\nthis.handleBodyClassByRating( selectedRating );\nthis.toggleCommentTextareaRequired( selectedRating );\n} );\n}\n},\nhandleBodyClassByRating( rating ) {\nif ( rating < this.minRating ) {\ndocument.body.classList.remove( 'tasty-recipes-selected-minimum-rating' );\nreturn;\n}\ndocument.body.classList.add( 'tasty-recipes-selected-minimum-rating' );\n},\ntoggleCommentTextareaRequired( rating ) {\nconst commentTextarea = document.getElementById( 'comment' );\nif ( ! commentTextarea ) {\nreturn;\n}\n\nif ( rating < this.minRating ) {\ncommentTextarea.setAttribute( 'required', '' );\nreturn;\n}\n\ncommentTextarea.removeAttribute( 'required' );\n},\nmaybeSendRating( rating, element ) {\nif ( this.savingRating === rating ) {\nreturn;\n}\n\nthis.savingRating = rating;\nwindow.TastyRecipes.staticTooltip.init( element );\n\nconst recipeCardElement = element.closest( '.tasty-recipes' );\nif ( ! recipeCardElement ) {\nwindow.TastyRecipes.staticTooltip.destroy();\nreturn;\n}\n\nwindow.TastyRecipes.ajax.sendPostRequest(\nwindow.trCommon.ajaxurl,\n{\naction: 'tasty_recipes_save_rating',\nrating,\nnonce: window.trCommon.ratingNonce,\npost_id: window.trCommon.postId,\nrecipe_id: recipeCardElement.dataset.trId,\n},\n( response ) => {\nwindow.TastyRecipes.staticTooltip.changeMessage( response.data.message );\nwindow.TastyRecipes.staticTooltip.show();\nthis.updateAverageText( response.data, recipeCardElement );\nthis.maybeFillCommentForm( response.data );\n\n\/\/ Hide the tooltip after 5 seconds.\nsetTimeout( () => {\nthis.maybeResetTooltip( recipeCardElement, response.data, rating );\n}, 5000 );\n},\n() => {\nthis.resetTooltip( recipeCardElement );\n}\n);\n},\nupdateAverageText( data, recipeCardElement ) {\nif ( ! data.average ) {\nreturn;\n}\nthis.setRatingPercent( data );\n\nif ( ! data.count ) {\nreturn;\n}\n\nconst quickLink = document.querySelector( '.tasty-recipes-rating-link' );\nif ( quickLink ) {\nthis.setTextInContainer( quickLink, data );\nthis.setPartialStar( quickLink );\n}\n\nconst cardStars = recipeCardElement.querySelector( '.tasty-recipes-ratings-buttons' );\ncardStars.dataset.trDefaultRating = data.average;\nthis.setTextInContainer( recipeCardElement.querySelector( '.tasty-recipes-rating' ), data );\n},\nsetTextInContainer( container, data ) {\nif ( ! container ) {\nreturn;\n}\n\nif ( data.label ) {\nconst ratingLabelElement = container.querySelector( '.rating-label' );\nif ( ratingLabelElement ) {\nratingLabelElement.innerHTML = data.label;\n}\nreturn;\n}\n\nconst averageElement = container.querySelector( '.average' );\nif ( averageElement ) {\naverageElement.textContent = data.average;\n}\n\nconst countElement = container.querySelector( '.count' );\nif ( countElement ) {\ncountElement.textContent = data.count;\n}\n},\nsetPartialStar( container ) {\nconst highestStar = container.querySelector( '[data-rating=\"' + Math.ceil( this.defaultRating ) + '\"]' );\nif ( highestStar ) {\nhighestStar.dataset.trClip = this.currentRatingPercentage;\n}\n},\nsetRatingPercent( data ) {\nthis.defaultRating = data.average.toFixed( 1 );\nconst parts = data.average.toFixed( 2 ).toString().split( '.' );\nthis.currentRatingPercentage = parts[1] ? parts[1] : 100;\nif ( this.currentRatingPercentage === '00' ) {\nthis.currentRatingPercentage = 100;\n}\n},\nsetCheckedStar( target ) {\nconst cardRatingContainer = target.closest( '.tasty-recipes-ratings-buttons' );\nconst selectedRatingElement = cardRatingContainer.querySelector( '[data-tr-checked]' );\nif ( selectedRatingElement ) {\ndelete selectedRatingElement.dataset.trChecked;\n}\n\nconst thisStar = target.closest( '.tasty-recipes-rating' );\nthisStar.dataset.trChecked = 1;\nthisStar.querySelector( '[data-tr-clip]' ).dataset.trClip = 100;\n},\nmaybeFillCommentForm( data ) {\nif ( ! data.comment || ! data.comment.content ) {\nreturn;\n}\n\nconst commentForm = document.querySelector( '#commentform' );\nif ( ! commentForm ) {\nreturn;\n}\n\nconst commentBox = commentForm.querySelector( '[name=comment]' );\nif ( ! commentBox || commentBox.value ) {\nreturn;\n}\n\n\/\/ Add comment details for editing.\ncommentBox.innerHTML = data.comment.content;\nif ( data.comment.name ) {\ncommentForm.querySelector( '[name=author]' ).value = data.comment.name;\ncommentForm.querySelector( '[name=email]' ).value = data.comment.email;\n}\n},\nmaybeResetTooltip( recipeCardElement, data, rating ) {\nif ( this.savingRating === rating ) {\nthis.resetTooltip( recipeCardElement, data );\n}\n},\nresetTooltip( recipeCardElement, data ) {\nwindow.TastyRecipes.staticTooltip.destroy();\nthis.savingRating = false;\n\n\/\/ Reset the default rating.\nconst cardRatingContainer = recipeCardElement.querySelector( '.tasty-recipes-ratings-buttons' );\nif ( cardRatingContainer ) {\nthis.defaultRating = ( data && data.average ) ? data.average.toFixed(1) : cardRatingContainer.dataset.trDefaultRating;\ncardRatingContainer.dataset.trDefaultRating = this.defaultRating;\n\nthis.resetSelectedStar( cardRatingContainer, data );\n}\n},\nresetSelectedStar( cardRatingContainer ) {\nconst selectedRatingElement = cardRatingContainer.querySelector( '[data-rating=\"' + Math.ceil( this.defaultRating ) + '\"]' );\nif ( selectedRatingElement ) {\nselectedRatingElement.querySelector( '[data-tr-clip]' ).dataset.trClip = this.currentRatingPercentage;\nselectedRatingElement.parentNode.dataset.trChecked = 1;\n}\n\nconst previousSelectedElement= cardRatingContainer.querySelector( '[data-tr-checked]' );\nif ( previousSelectedElement ) {\nconst currentSelectedRating = previousSelectedElement.querySelector('[data-rating]');\nif ( currentSelectedRating !== selectedRatingElement ) {\ndelete previousSelectedElement.dataset.trChecked;\n}\n}\n},\nbackwardCompFormRatingPosition() {\nconst ratingsButtons = document.querySelector( '#respond .tasty-recipes-ratings-buttons, #tasty-recipes-comment-rating .tasty-recipes-ratings-buttons' );\nif ( ! ratingsButtons ) {\nreturn;\n}\nconst ratingsButtonsStyles = window.getComputedStyle(ratingsButtons);\nif ( ! ratingsButtonsStyles.display.includes( 'flex' ) ) {\nratingsButtons.style.direction = 'rtl';\n}\n\nif ( typeof tastyRecipesRating !== 'undefined' ) {\n\/\/ Select the rating that was previously selected in admin.\nratingsButtons.querySelector( '.tasty-recipes-rating[value=\"' + tastyRecipesRating + '\"]' ).checked = true;\n}\n\nconst ratingSpans = ratingsButtons.querySelectorAll( '.tasty-recipes-rating' );\nfor (const ratingSpan of ratingSpans) {\nratingSpan.addEventListener( 'click', event => {\nif ( ratingSpan === event.target ) {\nreturn;\n}\nratingSpan.previousElementSibling.click();\n} );\n}\n}\n};\n\n(function(callback) {\nif (document.readyState !== \"loading\") {\ncallback();\n} else {\nwindow.addEventListener( 'load', callback );\n}\n})(() => {\nwindow.TastyRecipes.ratings.init( window.trCommon ? window.trCommon.minRating : 4 );\n});\n<\/script><\/div>\n    <div class=\"xs_social_share_widget xs_share_url after_content \t\tmain_content  wslu-style-1 wslu-share-box-shaped wslu-fill-colored wslu-none wslu-share-horizontal wslu-theme-font-no wslu-main_content\">\n\n\t\t\n        <ul>\n\t\t\t        <\/ul>\n    <\/div> \n","protected":false},"excerpt":{"rendered":"<p>If you want a fast dinner that still feels special, make Stir-fried Bok Choy Beef. It\u2019s tender beef, bright bok choy, and &#8230; <\/p>\n<p class=\"read-more-container\"><a title=\"Stir-fried Bok Choy Beef\" class=\"read-more button\" href=\"https:\/\/inasrecipes.com\/fr\/stir-fried-bok-choy-beef\/#more-3868\" aria-label=\"En savoir plus sur Stir-fried Bok Choy Beef\">Voir la recette<\/a><\/p>","protected":false},"author":2,"featured_media":3870,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"googlesitekit_rrm_CAownpvBDA:productID":"","footnotes":""},"categories":[35],"tags":[],"class_list":["post-3868","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dinner","generate-columns","tablet-grid-50","mobile-grid-100","grid-parent","grid-50","no-featured-image-padding"],"_links":{"self":[{"href":"https:\/\/inasrecipes.com\/fr\/wp-json\/wp\/v2\/posts\/3868","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/inasrecipes.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/inasrecipes.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/inasrecipes.com\/fr\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/inasrecipes.com\/fr\/wp-json\/wp\/v2\/comments?post=3868"}],"version-history":[{"count":1,"href":"https:\/\/inasrecipes.com\/fr\/wp-json\/wp\/v2\/posts\/3868\/revisions"}],"predecessor-version":[{"id":3872,"href":"https:\/\/inasrecipes.com\/fr\/wp-json\/wp\/v2\/posts\/3868\/revisions\/3872"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/inasrecipes.com\/fr\/wp-json\/wp\/v2\/media\/3870"}],"wp:attachment":[{"href":"https:\/\/inasrecipes.com\/fr\/wp-json\/wp\/v2\/media?parent=3868"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/inasrecipes.com\/fr\/wp-json\/wp\/v2\/categories?post=3868"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/inasrecipes.com\/fr\/wp-json\/wp\/v2\/tags?post=3868"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}