{"id":2403,"date":"2014-01-16T19:27:23","date_gmt":"2014-01-17T01:27:23","guid":{"rendered":"http:\/\/domesticallyblissful.com\/?p=2403"},"modified":"2019-08-22T23:15:34","modified_gmt":"2019-08-23T03:15:34","slug":"crispy-asian-tofu","status":"publish","type":"post","link":"https:\/\/domesticallyblissful.com\/crispy-asian-tofu\/","title":{"rendered":"Crispy Asian Tofu"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2397\" alt=\"Crispy Asian Tofu\" src=\"https:\/\/domesticallyblissful.com\/wp-content\/uploads\/2014\/01\/Crispy-Asian-Tofu.jpg\" width=\"4290\" height=\"2856\" srcset=\"https:\/\/domesticallyblissful.com\/wp-content\/uploads\/2014\/01\/Crispy-Asian-Tofu.jpg 4290w, https:\/\/domesticallyblissful.com\/wp-content\/uploads\/2014\/01\/Crispy-Asian-Tofu-300x200.jpg 300w, https:\/\/domesticallyblissful.com\/wp-content\/uploads\/2014\/01\/Crispy-Asian-Tofu-1024x681.jpg 1024w, https:\/\/domesticallyblissful.com\/wp-content\/uploads\/2014\/01\/Crispy-Asian-Tofu-600x399.jpg 600w, https:\/\/domesticallyblissful.com\/wp-content\/uploads\/2014\/01\/Crispy-Asian-Tofu-250x166.jpg 250w\" sizes=\"auto, (max-width: 4290px) 100vw, 4290px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Tofu is something that can be very scary or extremely delicious! This Crispy Asian Tofu is similar to the<span style=\"color: #00ccff;\"> <a title=\"Crispy Tofu\" href=\"https:\/\/domesticallyblissful.com\/crispy-tofu\/\"><span style=\"color: #00ccff;\">Crispy Tofu<\/span><\/a><\/span> that I made for you last year, but instead of crisping the actual tofu this Crispy Asian Tofu has a crispy crust!<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2398\" alt=\"Crispy Tofu made with cornstarch\" src=\"https:\/\/domesticallyblissful.com\/wp-content\/uploads\/2014\/01\/Crispy-Tofu-made-with-cornstarch.jpg\" width=\"4290\" height=\"2856\" srcset=\"https:\/\/domesticallyblissful.com\/wp-content\/uploads\/2014\/01\/Crispy-Tofu-made-with-cornstarch.jpg 4290w, https:\/\/domesticallyblissful.com\/wp-content\/uploads\/2014\/01\/Crispy-Tofu-made-with-cornstarch-300x200.jpg 300w, https:\/\/domesticallyblissful.com\/wp-content\/uploads\/2014\/01\/Crispy-Tofu-made-with-cornstarch-1024x681.jpg 1024w, https:\/\/domesticallyblissful.com\/wp-content\/uploads\/2014\/01\/Crispy-Tofu-made-with-cornstarch-600x399.jpg 600w, https:\/\/domesticallyblissful.com\/wp-content\/uploads\/2014\/01\/Crispy-Tofu-made-with-cornstarch-250x166.jpg 250w\" sizes=\"auto, (max-width: 4290px) 100vw, 4290px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>My husband and I love making this Crispy Asian Tofu and experimenting with different dishes to incorporate it into, like stir fry, curry, or this <span style=\"color: #00ccff;\"><a title=\"Sweet &amp; Sour Tofu\" href=\"https:\/\/domesticallyblissful.com\/sweet-sour-tofu\/\"><span style=\"color: #00ccff;\">Sweet and Sour Tofu<\/span><\/a><\/span>&nbsp;&#8211; I even eat it hot out of the pan sometimes!<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2395\" alt=\"Asian Tofu with a crispy crust\" src=\"https:\/\/domesticallyblissful.com\/wp-content\/uploads\/2014\/01\/Asian-Tofu-with-a-crispy-crust.jpg\" width=\"4290\" height=\"2856\" srcset=\"https:\/\/domesticallyblissful.com\/wp-content\/uploads\/2014\/01\/Asian-Tofu-with-a-crispy-crust.jpg 4290w, https:\/\/domesticallyblissful.com\/wp-content\/uploads\/2014\/01\/Asian-Tofu-with-a-crispy-crust-300x200.jpg 300w, https:\/\/domesticallyblissful.com\/wp-content\/uploads\/2014\/01\/Asian-Tofu-with-a-crispy-crust-1024x681.jpg 1024w, https:\/\/domesticallyblissful.com\/wp-content\/uploads\/2014\/01\/Asian-Tofu-with-a-crispy-crust-600x399.jpg 600w, https:\/\/domesticallyblissful.com\/wp-content\/uploads\/2014\/01\/Asian-Tofu-with-a-crispy-crust-250x166.jpg 250w, https:\/\/domesticallyblissful.com\/wp-content\/uploads\/2014\/01\/Asian-Tofu-with-a-crispy-crust-800x532.jpg 800w\" sizes=\"auto, (max-width: 4290px) 100vw, 4290px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>The secret to this Crispy Asian Tofu is the cornstarch! Crazy right?<\/p>\n<p>&nbsp;<\/p>\n<p>Ingredients:<\/p>\n<p>1 container of extra firm tofu<\/p>\n<p>1 tablespoon chili paste<\/p>\n<p>\u00bc cup sweet and sour sauce<\/p>\n<p>1 teaspoon rice wine vinegar<\/p>\n<p>2 teaspoons soy sauce<\/p>\n<p>\u00bd cup cornstarch + extra just in case<\/p>\n<p>\u00bc cup vegetable oil<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2401\" alt=\"how to cut triangular tofu\" src=\"https:\/\/domesticallyblissful.com\/wp-content\/uploads\/2014\/01\/how-to-cut-triangular-tofu.jpg\" width=\"5120\" height=\"5120\" srcset=\"https:\/\/domesticallyblissful.com\/wp-content\/uploads\/2014\/01\/how-to-cut-triangular-tofu.jpg 5120w, https:\/\/domesticallyblissful.com\/wp-content\/uploads\/2014\/01\/how-to-cut-triangular-tofu-150x150.jpg 150w, https:\/\/domesticallyblissful.com\/wp-content\/uploads\/2014\/01\/how-to-cut-triangular-tofu-300x300.jpg 300w, https:\/\/domesticallyblissful.com\/wp-content\/uploads\/2014\/01\/how-to-cut-triangular-tofu-1024x1024.jpg 1024w, https:\/\/domesticallyblissful.com\/wp-content\/uploads\/2014\/01\/how-to-cut-triangular-tofu-600x600.jpg 600w, https:\/\/domesticallyblissful.com\/wp-content\/uploads\/2014\/01\/how-to-cut-triangular-tofu-250x250.jpg 250w, https:\/\/domesticallyblissful.com\/wp-content\/uploads\/2014\/01\/how-to-cut-triangular-tofu-48x48.jpg 48w, https:\/\/domesticallyblissful.com\/wp-content\/uploads\/2014\/01\/how-to-cut-triangular-tofu-800x800.jpg 800w\" sizes=\"auto, (max-width: 5120px) 100vw, 5120px\" \/><\/p>\n<p>&nbsp;&nbsp;<\/p>\n<p>First, turn the tofu on its side and slice the tofu into five sections. Turn the tofu back over and use the knife to cut a &#8220;X&#8221;, then make another two slices to make a &#8220;t&#8221;. You could leave it at this step and have large triangular tofu or you can cut them into smaller triangular like the above picture.<\/p>\n<p>&nbsp;<\/p>\n<p>Next, place the tofu in a clean hand towel, wrap it up, and gently squeeze so that some of the liquid is released from the tofu. If the towel is really wet place the tofu in a new towel, wrap it up, and set it to the side.<\/p>\n<p>&nbsp;<\/p>\n<p>In a medium sized bowl whisk together 1 tablespoon chili paste, \u00bc cup sweet and sour sauce, 1 teaspoon rice wine vinegar, and 2 teaspoons soy sauce.<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2402\" alt=\"Sweet and Sour Tofu\" src=\"https:\/\/domesticallyblissful.com\/wp-content\/uploads\/2014\/01\/Sweet-and-Sour-Tofu.jpg\" width=\"4290\" height=\"2856\" srcset=\"https:\/\/domesticallyblissful.com\/wp-content\/uploads\/2014\/01\/Sweet-and-Sour-Tofu.jpg 4290w, https:\/\/domesticallyblissful.com\/wp-content\/uploads\/2014\/01\/Sweet-and-Sour-Tofu-300x200.jpg 300w, https:\/\/domesticallyblissful.com\/wp-content\/uploads\/2014\/01\/Sweet-and-Sour-Tofu-1024x681.jpg 1024w, https:\/\/domesticallyblissful.com\/wp-content\/uploads\/2014\/01\/Sweet-and-Sour-Tofu-600x399.jpg 600w, https:\/\/domesticallyblissful.com\/wp-content\/uploads\/2014\/01\/Sweet-and-Sour-Tofu-250x166.jpg 250w\" sizes=\"auto, (max-width: 4290px) 100vw, 4290px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Remove the tofu from the towel and fold the tofu into the sauce gently until all of the tofu is coated.<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2396\" alt=\"Cornstarch Tofu\" src=\"https:\/\/domesticallyblissful.com\/wp-content\/uploads\/2014\/01\/Cornstarch-Tofu.jpg\" width=\"4290\" height=\"2856\" srcset=\"https:\/\/domesticallyblissful.com\/wp-content\/uploads\/2014\/01\/Cornstarch-Tofu.jpg 4290w, https:\/\/domesticallyblissful.com\/wp-content\/uploads\/2014\/01\/Cornstarch-Tofu-300x200.jpg 300w, https:\/\/domesticallyblissful.com\/wp-content\/uploads\/2014\/01\/Cornstarch-Tofu-1024x681.jpg 1024w, https:\/\/domesticallyblissful.com\/wp-content\/uploads\/2014\/01\/Cornstarch-Tofu-600x399.jpg 600w, https:\/\/domesticallyblissful.com\/wp-content\/uploads\/2014\/01\/Cornstarch-Tofu-250x166.jpg 250w\" sizes=\"auto, (max-width: 4290px) 100vw, 4290px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>In a small bowl pour \u00bd cup of cornstarch, place a few of the tofu into the cornstarch, then into a sifter to shake out any extra cornstarch, then place them onto a plate. Continue to do this until all of the tofu has been coated &#8211; feel free to add more cornstarch to the bowl as needed.<\/p>\n<p>&nbsp;<\/p>\n<p>Place a large pan on the stove and pour in enough vegetable oil to coat the majority of the pan, about \u00bc cup, and turn the heat to medium.<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2400\" alt=\"Fried Tofu\" src=\"https:\/\/domesticallyblissful.com\/wp-content\/uploads\/2014\/01\/Fried-Tofu.jpg\" width=\"3150\" height=\"2516\" srcset=\"https:\/\/domesticallyblissful.com\/wp-content\/uploads\/2014\/01\/Fried-Tofu.jpg 3150w, https:\/\/domesticallyblissful.com\/wp-content\/uploads\/2014\/01\/Fried-Tofu-300x240.jpg 300w, https:\/\/domesticallyblissful.com\/wp-content\/uploads\/2014\/01\/Fried-Tofu-1024x817.jpg 1024w, https:\/\/domesticallyblissful.com\/wp-content\/uploads\/2014\/01\/Fried-Tofu-600x479.jpg 600w, https:\/\/domesticallyblissful.com\/wp-content\/uploads\/2014\/01\/Fried-Tofu-250x199.jpg 250w\" sizes=\"auto, (max-width: 3150px) 100vw, 3150px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Once the oil begins to simmer turn the heat down to medium low and place the tofu in the pan \u2013 there\u2019s a lot of tofu and not a lot of pan so you might have to cook the tofu in several batches. Cook the tofu until both sides are golden brown and crispy.<\/p>\n<p>&nbsp;<\/p>\n<p>I usually turn the oven to 350\u00b0 and place the cooked tofu on a baking sheet lined with foil to keep it warm while the rest of the tofu is cooking.<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2399\" alt=\"Crispy Tofu\" src=\"https:\/\/domesticallyblissful.com\/wp-content\/uploads\/2014\/01\/Crispy-Tofu.jpg\" width=\"4290\" height=\"2856\" srcset=\"https:\/\/domesticallyblissful.com\/wp-content\/uploads\/2014\/01\/Crispy-Tofu.jpg 4290w, https:\/\/domesticallyblissful.com\/wp-content\/uploads\/2014\/01\/Crispy-Tofu-300x200.jpg 300w, https:\/\/domesticallyblissful.com\/wp-content\/uploads\/2014\/01\/Crispy-Tofu-1024x681.jpg 1024w, https:\/\/domesticallyblissful.com\/wp-content\/uploads\/2014\/01\/Crispy-Tofu-600x399.jpg 600w, https:\/\/domesticallyblissful.com\/wp-content\/uploads\/2014\/01\/Crispy-Tofu-250x166.jpg 250w\" sizes=\"auto, (max-width: 4290px) 100vw, 4290px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Serve warm over rice with vegetables and your favorite Asian sauce or turn it into this <span style=\"color: #00ccff;\"><a title=\"Sweet &amp; Sour Tofu\" href=\"https:\/\/domesticallyblissful.com\/sweet-sour-tofu\/\"><span style=\"color: #00ccff;\">Sweet and Sour Tofu<\/span><\/a><\/span>.<\/p>\n<p>&nbsp;<\/p>\n<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<a class=\"button tasty-recipes-print-button tasty-recipes-no-print tasty-recipes-print-above-card\" href=\"https:\/\/domesticallyblissful.com\/crispy-asian-tofu\/print\/27943\/\">Print<\/a><span class=\"tasty-recipes-jump-target\" id=\"tasty-recipes-27943-jump-target\" style=\"display:block;padding-top:2px;margin-top:-2px;\"><\/span><div id=\"tasty-recipes-27943\" data-tr-id=\"27943\" class=\"tasty-recipes tasty-recipes-27943 tasty-recipes-display tasty-recipes-has-image tasty-recipes-has-plug\" data-tasty-recipes-customization=\"primary-color.background-color primary-color.outline-color\">\n\n\n<h2 class=\"tasty-recipes-title\" data-tasty-recipes-customization=\"h2-color.color h2-transform.text-transform\">Crispy Asian Tofu<\/h2>\n<div class=\"tasty-recipes-image-button-container\">\n\t\t\t<div class=\"tasty-recipes-image\">\n\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/domesticallyblissful.com\/wp-content\/uploads\/2014\/01\/Crispy-Asian-Tofu-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" data-pin-nopin=\"true\" \/>\t\t<\/div>\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:\/\/domesticallyblissful.com\/crispy-asian-tofu\/print\/27943\/\" 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<\/div>\n<\/div>\n\t<div class=\"tasty-recipes-rating\" data-tasty-recipes-customization=\"body-color.color\">\n\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\"><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\"><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\"><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\"><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\"><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<p><span data-tasty-recipes-customization=\"detail-label-color.color\" class=\"rating-label\">No reviews<\/span><\/p>\n\t\t\t<\/div>\n\n\n\n\n\t<div class=\"tasty-recipes-ingredients\">\n\t\t<div class=\"tasty-recipes-ingredients-header\">\n\t\t\t<div class=\"tasty-recipes-ingredients-clipboard-container\">\n\t\t\t\t<h3 data-tasty-recipes-customization=\"h3-color.color h3-transform.text-transform\">Ingredients<\/h3>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t<div class=\"tasty-recipes-units-scale-container\">\n\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<span class=\"tasty-recipes-scale-label\">Scale<\/span>\n\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<\/span>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t<div class=\"tasty-recipes-ingredients-body\" data-tasty-recipes-customization=\"body-color.color\">\n\t\t\t<ul>\n<li><span data-amount=\"1\">1<\/span> container of extra firm tofu<\/li>\n<li><span data-amount=\"1\" data-unit=\"tablespoon\">1 tablespoon<\/span> chili paste<\/li>\n<li><span data-amount=\"0.25\" data-unit=\"cup\">\u00bc cup<\/span> sweet and sour sauce<\/li>\n<li><span data-amount=\"1\" data-unit=\"teaspoon\">1 teaspoon<\/span> rice wine vinegar<\/li>\n<li><span data-amount=\"2\" data-unit=\"teaspoon\">2 teaspoons<\/span> soy sauce<\/li>\n<li><span data-amount=\"0.5\" data-unit=\"cup\">\u00bd cup<\/span> cornstarch + extra just in case<\/li>\n<li><span data-amount=\"0.25\" data-unit=\"cup\">\u00bc cup<\/span> vegetable oil<\/li>\n<\/ul>\n<!--INSIDE_INGREDIENTS-->\t\t<\/div>\n\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_69ea1cfd0ab84_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_69ea1cfd0ab84_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<\/div>\n\n\t<div class=\"tasty-recipe-instructions\">\n\t\t<div class=\"tasty-recipes-instructions-header\">\n\t\t\t<h3 data-tasty-recipes-customization=\"h3-color.color h3-transform.text-transform\">Instructions<\/h3>\n\t\t\t\t\t<\/div>\n\t\t<div class=\"tasty-recipes-instructions-body\" data-tasty-recipes-customization=\"body-color.color\">\n\t\t\t<ol>\n<li id=\"instruction-step-1\">First, turn the tofu on its side and slice the tofu into five sections. Turn the tofu back over and use the knife to cut a &#8220;X&#8221;, then make another two slices to make a &#8220;t&#8221;. You could leave it at this step and have large triangular tofu or you can cut them into smaller triangular like the above picture.<\/li>\n<li id=\"instruction-step-2\">Next, place the tofu in a clean hand towel, wrap it up, and gently squeeze so that some of the liquid is released from the tofu. If the towel is really wet place the tofu in a new towel, wrap it up, and set it to the side.<\/li>\n<li id=\"instruction-step-3\">In a medium sized bowl whisk together 1 tablespoon chili paste, \u00bc cup sweet and sour sauce, 1 teaspoon rice wine vinegar, and 2 teaspoons soy sauce.<\/li>\n<li id=\"instruction-step-4\">Remove the tofu from the towel and fold the tofu into the sauce gently until all of the tofu is coated.<\/li>\n<li id=\"instruction-step-5\">In a small bowl pour \u00bd cup of cornstarch, place a few of the tofu into the cornstarch, then into a sifter to shake out any extra cornstarch, then place them onto a plate. Continue to do this until all of the tofu has been coated &#8211; feel free to add more cornstarch to the bowl as needed.<\/li>\n<li id=\"instruction-step-6\">Place a large pan on the stove and pour in enough vegetable oil to coat the majority of the pan, about \u00bc cup, and turn the heat to medium.<\/li>\n<li id=\"instruction-step-7\">Once the oil begins to simmer turn the heat down to medium low and place the tofu in the pan \u2013 there\u2019s a lot of tofu and not a lot of pan so you might have to cook the tofu in several batches. Cook the tofu until both sides are golden brown and crispy.<\/li>\n<li id=\"instruction-step-8\">I usually turn the oven to 350\u00b0 and place the cooked tofu on a baking sheet lined with foil to keep it warm while the rest of the tofu is cooking.<\/li>\n<li id=\"instruction-step-9\">Serve warm over rice with vegetables and your favorite Asian sauce or turn it into Sweet and Sour Tofu.<\/li>\n<\/ol>\n\t\t<\/div>\n\t<\/div>\n\n\n\n\n\n\n\n\n<footer class=\"tasty-recipes-entry-footer\">\n\t<h3 data-tasty-recipes-customization=\"footer-heading-color.color h3-transform.text-transform footer-heading.innerText\">Did you make this recipe?<\/h3>\n\t<div data-tasty-recipes-customization=\"footer-description-color.color footer-description.innerHTML\"><p>Tag <a href=\"https:\/\/www.instagram.com\/domesticallyblissful\" target=\"_blank\" rel=\"noreferrer noopener\">@domesticallyblissful<\/a> on Instagram and hashtag it <a href=\"https:\/\/www.instagram.com\/explore\/tags\/domesticallyblissful\" target=\"_blank\" rel=\"noreferrer noopener\">#domesticallyblissful<\/a><\/p><\/div>\n<\/footer>\n\n\n\n<script>\nwindow.trCommon={\"minRating\":6,\"ajaxurl\":\"https:\\\/\\\/domesticallyblissful.com\\\/wp-admin\\\/admin-ajax.php\",\"ratingNonce\":\"\",\"postId\":2403};\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><div class=\"tasty-recipes-plug\">Recipe Card powered by<a href=\"https:\/\/shareasale.com\/r.cfm?b=973044&#038;u=https:\/\/www.shareasale.com\/r.cfm?b=964352&#038;u=1025880&#038;m=69860&#038;m=69860&#038;urllink=&#038;afftrack=trattr\" target=\"_blank\" rel=\"nofollow\"><img decoding=\"async\" data-pin-nopin=\"true\" alt=\"Tasty Recipes\" src=\"https:\/\/domesticallyblissful.com\/wp-content\/plugins\/tasty-recipes\/assets\/images\/tasty-recipes-neutral.svg\" height=\"20\"><\/a><\/div><br \/>\n&nbsp;<\/p>\n<p>[smoothslider]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp; Tofu is something that can be very scary or extremely delicious! This Crispy Asian Tofu is similar to the Crispy Tofu that I made for you last year, but instead of crisping the actual tofu this Crispy Asian Tofu has a crispy crust! &nbsp; &nbsp; My husband and I love making this Crispy Asian&#8230;<\/p>\n","protected":false},"author":1,"featured_media":2395,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_kadence_starter_templates_imported_post":false,"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"categories":[11,126,2979,1,1304,34],"tags":[729,730,728,331,732,731,239,734,733],"class_list":["post-2403","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-appetizers","category-asian-food-tried-and-true","category-cuisine","category-recipes","category-side-dish-food-tried-and-true","category-vegetable-sides","tag-asian-tofu","tag-cornstarch-tofu","tag-crispy-asian-tofu","tag-crispy-tofu","tag-crunchy-tofu","tag-sweet-and-sour-tofu","tag-vegetarian","tag-vegetarian-asian","tag-vegetarian-tofu"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Crispy Asian Tofu<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/domesticallyblissful.com\/crispy-asian-tofu\/\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Giustina Miller\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/domesticallyblissful.com\\\/crispy-asian-tofu\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/domesticallyblissful.com\\\/crispy-asian-tofu\\\/\"},\"author\":{\"name\":\"Giustina Miller\",\"@id\":\"https:\\\/\\\/domesticallyblissful.com\\\/#\\\/schema\\\/person\\\/779d27eb2205a402722237440bcee38a\"},\"headline\":\"Crispy Asian Tofu\",\"datePublished\":\"2014-01-17T01:27:23+00:00\",\"dateModified\":\"2019-08-23T03:15:34+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/domesticallyblissful.com\\\/crispy-asian-tofu\\\/\"},\"wordCount\":496,\"commentCount\":1,\"image\":{\"@id\":\"https:\\\/\\\/domesticallyblissful.com\\\/crispy-asian-tofu\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/domesticallyblissful.com\\\/wp-content\\\/uploads\\\/2014\\\/01\\\/Asian-Tofu-with-a-crispy-crust.jpg\",\"keywords\":[\"asian tofu\",\"cornstarch tofu\",\"crispy asian tofu\",\"crispy tofu\",\"crunchy tofu\",\"sweet and sour tofu\",\"vegetarian\",\"vegetarian asian\",\"vegetarian tofu\"],\"articleSection\":[\"Appetizers\",\"Asian\",\"Cuisine\",\"Recipes\",\"Side Dish\",\"Vegetable Sides\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/domesticallyblissful.com\\\/crispy-asian-tofu\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/domesticallyblissful.com\\\/crispy-asian-tofu\\\/\",\"url\":\"https:\\\/\\\/domesticallyblissful.com\\\/crispy-asian-tofu\\\/\",\"name\":\"Crispy Asian Tofu\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/domesticallyblissful.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/domesticallyblissful.com\\\/crispy-asian-tofu\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/domesticallyblissful.com\\\/crispy-asian-tofu\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/domesticallyblissful.com\\\/wp-content\\\/uploads\\\/2014\\\/01\\\/Asian-Tofu-with-a-crispy-crust.jpg\",\"datePublished\":\"2014-01-17T01:27:23+00:00\",\"dateModified\":\"2019-08-23T03:15:34+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/domesticallyblissful.com\\\/#\\\/schema\\\/person\\\/779d27eb2205a402722237440bcee38a\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/domesticallyblissful.com\\\/crispy-asian-tofu\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/domesticallyblissful.com\\\/crispy-asian-tofu\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/domesticallyblissful.com\\\/crispy-asian-tofu\\\/#primaryimage\",\"url\":\"https:\\\/\\\/domesticallyblissful.com\\\/wp-content\\\/uploads\\\/2014\\\/01\\\/Asian-Tofu-with-a-crispy-crust.jpg\",\"contentUrl\":\"https:\\\/\\\/domesticallyblissful.com\\\/wp-content\\\/uploads\\\/2014\\\/01\\\/Asian-Tofu-with-a-crispy-crust.jpg\",\"width\":4290,\"height\":2856},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/domesticallyblissful.com\\\/crispy-asian-tofu\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/domesticallyblissful.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Crispy Asian Tofu\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/domesticallyblissful.com\\\/#website\",\"url\":\"https:\\\/\\\/domesticallyblissful.com\\\/\",\"name\":\"\",\"description\":\"Helping you create bliss through food, home, faith, &amp; travel.\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/domesticallyblissful.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/domesticallyblissful.com\\\/#\\\/schema\\\/person\\\/779d27eb2205a402722237440bcee38a\",\"name\":\"Giustina Miller\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/domesticallyblissful.com\\\/wp-content\\\/uploads\\\/2018\\\/07\\\/IMG_3101-150x150.jpg\",\"url\":\"https:\\\/\\\/domesticallyblissful.com\\\/wp-content\\\/uploads\\\/2018\\\/07\\\/IMG_3101-150x150.jpg\",\"contentUrl\":\"https:\\\/\\\/domesticallyblissful.com\\\/wp-content\\\/uploads\\\/2018\\\/07\\\/IMG_3101-150x150.jpg\",\"caption\":\"Giustina Miller\"},\"sameAs\":[\"http:\\\/\\\/domesticallyblissful.com\\\/\",\"https:\\\/\\\/www.facebook.com\\\/domesticallyblissful\",\"https:\\\/\\\/x.com\\\/@blissfulmiller\"],\"url\":\"https:\\\/\\\/domesticallyblissful.com\\\/author\\\/domesticallyblissfulyahoo-com\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Crispy Asian Tofu","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/domesticallyblissful.com\/crispy-asian-tofu\/","twitter_misc":{"Written by":"Giustina Miller","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/domesticallyblissful.com\/crispy-asian-tofu\/#article","isPartOf":{"@id":"https:\/\/domesticallyblissful.com\/crispy-asian-tofu\/"},"author":{"name":"Giustina Miller","@id":"https:\/\/domesticallyblissful.com\/#\/schema\/person\/779d27eb2205a402722237440bcee38a"},"headline":"Crispy Asian Tofu","datePublished":"2014-01-17T01:27:23+00:00","dateModified":"2019-08-23T03:15:34+00:00","mainEntityOfPage":{"@id":"https:\/\/domesticallyblissful.com\/crispy-asian-tofu\/"},"wordCount":496,"commentCount":1,"image":{"@id":"https:\/\/domesticallyblissful.com\/crispy-asian-tofu\/#primaryimage"},"thumbnailUrl":"https:\/\/domesticallyblissful.com\/wp-content\/uploads\/2014\/01\/Asian-Tofu-with-a-crispy-crust.jpg","keywords":["asian tofu","cornstarch tofu","crispy asian tofu","crispy tofu","crunchy tofu","sweet and sour tofu","vegetarian","vegetarian asian","vegetarian tofu"],"articleSection":["Appetizers","Asian","Cuisine","Recipes","Side Dish","Vegetable Sides"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/domesticallyblissful.com\/crispy-asian-tofu\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/domesticallyblissful.com\/crispy-asian-tofu\/","url":"https:\/\/domesticallyblissful.com\/crispy-asian-tofu\/","name":"Crispy Asian Tofu","isPartOf":{"@id":"https:\/\/domesticallyblissful.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/domesticallyblissful.com\/crispy-asian-tofu\/#primaryimage"},"image":{"@id":"https:\/\/domesticallyblissful.com\/crispy-asian-tofu\/#primaryimage"},"thumbnailUrl":"https:\/\/domesticallyblissful.com\/wp-content\/uploads\/2014\/01\/Asian-Tofu-with-a-crispy-crust.jpg","datePublished":"2014-01-17T01:27:23+00:00","dateModified":"2019-08-23T03:15:34+00:00","author":{"@id":"https:\/\/domesticallyblissful.com\/#\/schema\/person\/779d27eb2205a402722237440bcee38a"},"breadcrumb":{"@id":"https:\/\/domesticallyblissful.com\/crispy-asian-tofu\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/domesticallyblissful.com\/crispy-asian-tofu\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/domesticallyblissful.com\/crispy-asian-tofu\/#primaryimage","url":"https:\/\/domesticallyblissful.com\/wp-content\/uploads\/2014\/01\/Asian-Tofu-with-a-crispy-crust.jpg","contentUrl":"https:\/\/domesticallyblissful.com\/wp-content\/uploads\/2014\/01\/Asian-Tofu-with-a-crispy-crust.jpg","width":4290,"height":2856},{"@type":"BreadcrumbList","@id":"https:\/\/domesticallyblissful.com\/crispy-asian-tofu\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/domesticallyblissful.com\/"},{"@type":"ListItem","position":2,"name":"Crispy Asian Tofu"}]},{"@type":"WebSite","@id":"https:\/\/domesticallyblissful.com\/#website","url":"https:\/\/domesticallyblissful.com\/","name":"","description":"Helping you create bliss through food, home, faith, &amp; travel.","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/domesticallyblissful.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/domesticallyblissful.com\/#\/schema\/person\/779d27eb2205a402722237440bcee38a","name":"Giustina Miller","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/domesticallyblissful.com\/wp-content\/uploads\/2018\/07\/IMG_3101-150x150.jpg","url":"https:\/\/domesticallyblissful.com\/wp-content\/uploads\/2018\/07\/IMG_3101-150x150.jpg","contentUrl":"https:\/\/domesticallyblissful.com\/wp-content\/uploads\/2018\/07\/IMG_3101-150x150.jpg","caption":"Giustina Miller"},"sameAs":["http:\/\/domesticallyblissful.com\/","https:\/\/www.facebook.com\/domesticallyblissful","https:\/\/x.com\/@blissfulmiller"],"url":"https:\/\/domesticallyblissful.com\/author\/domesticallyblissfulyahoo-com\/"}]}},"_links":{"self":[{"href":"https:\/\/domesticallyblissful.com\/wp-json\/wp\/v2\/posts\/2403","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/domesticallyblissful.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/domesticallyblissful.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/domesticallyblissful.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/domesticallyblissful.com\/wp-json\/wp\/v2\/comments?post=2403"}],"version-history":[{"count":0,"href":"https:\/\/domesticallyblissful.com\/wp-json\/wp\/v2\/posts\/2403\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/domesticallyblissful.com\/wp-json\/wp\/v2\/media\/2395"}],"wp:attachment":[{"href":"https:\/\/domesticallyblissful.com\/wp-json\/wp\/v2\/media?parent=2403"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/domesticallyblissful.com\/wp-json\/wp\/v2\/categories?post=2403"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/domesticallyblissful.com\/wp-json\/wp\/v2\/tags?post=2403"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}