{"id":4079,"date":"2026-03-12T21:19:59","date_gmt":"2026-03-12T21:19:59","guid":{"rendered":"https:\/\/inasrecipes.com\/?p=4079"},"modified":"2026-03-12T21:20:01","modified_gmt":"2026-03-12T21:20:01","slug":"homemade-mini-pineapple-upside-down-cheesecake","status":"publish","type":"post","link":"https:\/\/inasrecipes.com\/fr\/homemade-mini-pineapple-upside-down-cheesecake\/","title":{"rendered":"Homemade Mini Pineapple Upside-down Cheesecake Recipe"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">If you love creamy cheesecake and classic pineapple upside-down cake, this <strong>Homemade Mini Pineapple Upside-down Cheesecake Recipe<\/strong> gives you the best of both in one adorable dessert. Each mini <a href=\"https:\/\/inasrecipes.com\/decadent-mini-cheesecakes-with-a-fudgy-brownie-bot\/\">cheesecake<\/a> has a buttery graham cracker crust, a rich cream cheese filling, and a glossy pineapple-and-cherry topping that feels straight out of a retro dessert dream. Current top-ranking recipes for this dessert theme consistently combine cheesecake filling with pineapple, brown sugar, and cherries in individual portions, which tells us readers want that classic upside-down look in an easier, party-friendly format.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I love this recipe because it looks impressive without being hard to make. The mini size keeps serving simple, and the tropical topping makes every piece feel cheerful. The first time I made these, my family grabbed them before they had fully chilled. Now I always make an extra batch for the fridge. For another sweet treat from your site, try <a href=\"https:\/\/inasrecipes.com\/strawberry-crunch-cheesecake-bites\/?utm_source=chatgpt.com\">Strawberry Crunch Cheesecake Bites<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The winning pattern across popular recipes is clear: a muffin tin, pineapple topping first, <a href=\"https:\/\/www.allrecipes.com\/recipe\/7832\/creamy-cheesecake\/\" target=\"_blank\" rel=\"noopener\">cheesecake<\/a> filling next, then a good chill before serving. That chill time matters because mini cheesecakes set their texture in the refrigerator after baking. Several current mini cheesecake recipes recommend at least about 2 hours of chilling for clean, firm bites.<\/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=\"#it-has-the-best-parts-of-two-classic-desserts\">It Has the Best Parts of Two Classic Desserts<\/a><\/li><li><a href=\"#its-easier-than-a-full-cheesecake\">It\u2019s Easier Than a Full Cheesecake<\/a><\/li><li><a href=\"#the-pineapple-topping-bakes-into-a-glossy-layer\">The Pineapple Topping Bakes Into a Glossy Layer<\/a><\/li><li><a href=\"#the-cheesecake-filling-stays-rich-and-tangy\">The Cheesecake Filling Stays Rich and Tangy<\/a><\/li><li><a href=\"#the-graham-cracker-crust-keeps-it-familiar\">The Graham Cracker Crust Keeps It Familiar<\/a><\/li><li><a href=\"#for-the-pineapple-topping\">For the Pineapple Topping<\/a><\/li><li><a href=\"#for-the-crust\">For the Crust<\/a><\/li><li><a href=\"#for-the-cheesecake-filling\">For the Cheesecake Filling<\/a><\/li><li><a href=\"#optional-garnish\">Optional Garnish<\/a><\/li><li><a href=\"#step-1-prep-the-pan\">Step 1: Prep the Pan<\/a><\/li><li><a href=\"#step-2-make-the-topping\">Step 2: Make the Topping<\/a><\/li><li><a href=\"#step-3-make-the-crust\">Step 3: Make the Crust<\/a><\/li><li><a href=\"#step-4-make-the-cheesecake-filling\">Step 4: Make the Cheesecake Filling<\/a><\/li><li><a href=\"#step-5-fill-and-bake\">Step 5: Fill and Bake<\/a><\/li><li><a href=\"#step-6-cool-and-refrigerate\">Step 6: Cool and Refrigerate<\/a><\/li><li><a href=\"#step-7-unmold-and-serve\">Step 7: Unmold and Serve<\/a><\/li><li><a href=\"#dry-the-pineapple-well\">Dry the Pineapple Well<\/a><\/li><li><a href=\"#use-softened-cream-cheese\">Use Softened Cream Cheese<\/a><\/li><li><a href=\"#do-not-overbake\">Do Not Overbake<\/a><\/li><li><a href=\"#chill-before-serving\">Chill Before Serving<\/a><\/li><li><a href=\"#grease-the-pan-if-skipping-liners\">Grease the Pan if Skipping Liners<\/a><\/li><li><a href=\"#coconut-pineapple-version\">Coconut Pineapple Version<\/a><\/li><li><a href=\"#brown-sugar-cinnamon-crust\">Brown Sugar Cinnamon Crust<\/a><\/li><li><a href=\"#no-cherry-version\">No-Cherry Version<\/a><\/li><li><a href=\"#extra-tangy-cheesecake\">Extra Tangy Cheesecake<\/a><\/li><li><a href=\"#how-long-to-refrigerate-before-serving\">How Long to Refrigerate Before Serving<\/a><\/li><li><a href=\"#how-long-they-last-in-the-fridge\">How Long They Last in the Fridge<\/a><\/li><li><a href=\"#can-you-make-them-ahead\">Can You Make Them Ahead?<\/a><\/li><li><a href=\"#how-long-does-pineapple-upside-cake-need-to-be-refrigerated\">How long does pineapple upside cake need to be refrigerated?<\/a><\/li><li><a href=\"#why-is-my-pineapple-upside-down-cake-soggy\">Why is my pineapple upside down cake soggy?<\/a><\/li><li><a href=\"#do-you-grease-the-pan-when-making-pineapple-upside-down-cake\">Do you grease the pan when making pineapple upside down cake?<\/a><\/li><li><a href=\"#how-long-does-pineapple-cheesecake-last-in-the-fridge\">How long does pineapple cheesecake last in the fridge?<\/a><\/li><\/ul><\/nav><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Why You\u2019ll Love This Homemade Mini Pineapple Upside-down Cheesecake Recipe<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"it-has-the-best-parts-of-two-classic-desserts\">It Has the Best Parts of Two Classic Desserts<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">This recipe takes the caramel-like fruit topping from pineapple upside-down cake and pairs it with the smooth richness of cheesecake. That combination is also what makes full-size pineapple upside-down cheesecakes so popular across major recipe sites.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Easy to portion<\/li>\n\n\n\n<li>Great for parties<\/li>\n\n\n\n<li>No slicing needed<\/li>\n\n\n\n<li>Tropical flavor in every bite<\/li>\n\n\n\n<li>Beautiful presentation<\/li>\n\n\n\n<li>Make-ahead friendly<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"its-easier-than-a-full-cheesecake\">It\u2019s Easier Than a Full Cheesecake<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A full cheesecake can be fussy. Mini cheesecakes are simpler. They bake faster, chill faster, and serve faster. Using a standard muffin pan is also a common method in current mini pineapple upside-down cheesecake recipes.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What Makes This Homemade Mini Pineapple Upside-down Cheesecake Recipe So Good?<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"the-pineapple-topping-bakes-into-a-glossy-layer\">The Pineapple Topping Bakes Into a Glossy Layer<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The brown sugar, butter, pineapple, and cherry mixture gives these mini cheesecakes that classic upside-down cake finish. Popular upside-down pineapple cake recipes also lean on this same butter-and-brown-sugar fruit base for color, sweetness, and shine.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"the-cheesecake-filling-stays-rich-and-tangy\">The Cheesecake Filling Stays Rich and Tangy<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A good mini cheesecake needs full-fat cream cheese, sugar, vanilla, and eggs for structure. Some current pineapple cheesecake recipes also use sour cream or similar dairy for a silkier texture and a little extra tang.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"the-graham-cracker-crust-keeps-it-familiar\">The Graham Cracker Crust Keeps It Familiar<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Many cheesecake recipes still use a graham cracker crust because it brings a buttery crunch without competing with the filling. That style also shows up in mini pineapple upside-down cheesecake recipes now ranking well.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Ingredients for Homemade Mini Pineapple Upside-down Cheesecake Recipe<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"for-the-pineapple-topping\">For the Pineapple Topping<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>3 tablespoons unsalted butter, melted<\/li>\n\n\n\n<li>1\/3 cup packed light brown sugar<\/li>\n\n\n\n<li>6 pineapple rings, cut into small pieces<\/li>\n\n\n\n<li>6 maraschino cherries, halved and patted dry<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"for-the-crust\">For the Crust<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>1 cup graham cracker crumbs<\/li>\n\n\n\n<li>2 tablespoons granulated sugar<\/li>\n\n\n\n<li>4 tablespoons unsalted butter, melted<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"for-the-cheesecake-filling\">For the Cheesecake Filling<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>16 ounces full-fat cream cheese, softened<\/li>\n\n\n\n<li>1\/2 cup granulated sugar<\/li>\n\n\n\n<li>2 large eggs<\/li>\n\n\n\n<li>1 teaspoon vanilla extract<\/li>\n\n\n\n<li>1\/4 cup sour cream<\/li>\n\n\n\n<li>1 tablespoon pineapple juice<\/li>\n\n\n\n<li>1 tablespoon all-purpose flour<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"optional-garnish\">Optional Garnish<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Whipped cream<\/li>\n\n\n\n<li>Toasted coconut<\/li>\n\n\n\n<li>Extra cherry half<\/li>\n\n\n\n<li>Pineapple tidbits<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">These ingredients follow the broad ingredient logic found in current mini and full-size pineapple upside-down cheesecake recipes: pineapple, brown sugar, butter, cream cheese, and a cookie-style crust.<\/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\/homemade-mini-pineapple-upside-down-cheesecake\/?tp_image_id=4081\" data-pin-title=\"Homemade Mini Pineapple Upside-down Cheesecake Recipe\" data-pin-description=\"Homemade Mini Pineapple Upside-down Cheesecake Recipe\" src=\"https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/03\/image_1200x800_1773349757202-1024x683.webp\" alt=\"\" class=\"wp-image-4081\" title=\"\" srcset=\"https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/03\/image_1200x800_1773349757202-1024x683.webp 1024w, https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/03\/image_1200x800_1773349757202-300x200.webp 300w, https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/03\/image_1200x800_1773349757202-768x512.webp 768w, https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/03\/image_1200x800_1773349757202.webp 1200w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption><\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">How to Make Homemade Mini Pineapple Upside-down Cheesecake Recipe<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"step-1-prep-the-pan\">Step 1: Prep the Pan<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Preheat your oven to 325\u00b0F. Line a 12-cup muffin pan with paper liners or use a well-greased pan if you plan to loosen and flip the cheesecakes later. If you are not using liners, greasing matters because sugary fruit toppings can stick. Traditional upside-down cake methods also rely on proper pan prep to help release the caramelized topping cleanly.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"step-2-make-the-topping\">Step 2: Make the Topping<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Mix the melted butter and brown sugar. Spoon about 1 teaspoon into each muffin cup. Add a few pineapple pieces and half a cherry to each cup. Patting the pineapple dry first helps prevent excess moisture, which can make the base wet. Soggy upside-down cakes are commonly linked to too much fruit liquid or underbaking.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"step-3-make-the-crust\">Step 3: Make the Crust<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">In a small bowl, stir together graham cracker crumbs, sugar, and melted butter. Press about 1 tablespoon into each muffin cup over the fruit layer.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"step-4-make-the-cheesecake-filling\">Step 4: Make the Cheesecake Filling<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Beat the softened cream cheese until smooth. Add sugar and mix again. Add eggs one at a time. Then stir in vanilla, sour cream, pineapple juice, and flour. Mix just until combined. Do not overbeat once the eggs are in, because too much air can lead to cracks or puffing.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"step-5-fill-and-bake\">Step 5: Fill and Bake<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Divide the filling evenly among the 12 muffin cups. Bake for 18 to 22 minutes, until the centers are just slightly jiggly. Mini cheesecakes usually finish setting as they cool, so do not wait for them to look fully firm in the oven. That carryover setting is part of why chill time matters so much afterward.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"step-6-cool-and-refrigerate\">Step 6: Cool and Refrigerate<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Let the cheesecakes cool in the pan for about 30 minutes. Then move them to the refrigerator for at least 2 hours, though 4 hours is even better. Current mini cheesecake recipes commonly recommend a chill of at least 2 hours for proper structure.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"step-7-unmold-and-serve\">Step 7: Unmold and Serve<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">If you used liners, peel them away carefully before serving. If you baked directly in the pan, run a thin knife around the edges and flip them gently so the pineapple topping ends up on top.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you want another fun dessert idea for your site, your <a href=\"https:\/\/inasrecipes.com\/desserts\/?utm_source=chatgpt.com\">Desserts category<\/a> is a natural internal link here.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Tips for the Best Homemade Mini Pineapple Upside-down Cheesecake Recipe<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"dry-the-pineapple-well\">Dry the Pineapple Well<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">This is one of the biggest details. Too much fruit liquid can make the topping loose and the crust soggy. Recipes for upside-down pineapple cakes and mini versions alike benefit from drained fruit.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"use-softened-cream-cheese\">Use Softened Cream Cheese<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Soft cream cheese blends smoother and helps you avoid lumps in the filling.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"do-not-overbake\">Do Not Overbake<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Mini cheesecakes should still have a slight wobble in the center when they come out. They firm up as they cool and chill.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"chill-before-serving\">Chill Before Serving<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">This dessert is much better cold. Refrigeration gives it the clean texture people expect from cheesecake. Mini cheesecake recipes commonly call for at least a couple of hours in the fridge before serving.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"grease-the-pan-if-skipping-liners\">Grease the Pan if Skipping Liners<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">One of your FAQ questions asks whether you grease the pan for pineapple upside-down cake. For this recipe, yes, grease matters if you do not use paper liners. The sugar-and-butter topping can stick as it cools, and greasing helps the cakes release more cleanly. That same principle applies to classic upside-down cakes as well.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"630\" data-pin-url=\"https:\/\/inasrecipes.com\/fr\/homemade-mini-pineapple-upside-down-cheesecake\/?tp_image_id=4083\" data-pin-title=\"Homemade Mini Pineapple Upside-down Cheesecake Recipe\" data-pin-description=\"Homemade Mini Pineapple Upside-down Cheesecake Recipe\" src=\"https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/03\/image_1200x800_1773349779105-e1773349870923-1024x630.webp\" alt=\"\" class=\"wp-image-4083\" title=\"\" srcset=\"https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/03\/image_1200x800_1773349779105-e1773349870923-1024x630.webp 1024w, https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/03\/image_1200x800_1773349779105-e1773349870923-300x185.webp 300w, https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/03\/image_1200x800_1773349779105-e1773349870923-768x472.webp 768w, https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/03\/image_1200x800_1773349779105-e1773349870923.webp 1200w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption><\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Flavor Variations for Homemade Mini Pineapple Upside-down Cheesecake Recipe<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"coconut-pineapple-version\">Coconut Pineapple Version<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Add 2 tablespoons toasted coconut to the crust or sprinkle some on top after chilling. This makes the dessert feel even more tropical.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"brown-sugar-cinnamon-crust\">Brown Sugar Cinnamon Crust<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Add 1\/4 teaspoon cinnamon to the crust for a warmer upside-down cake vibe.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"no-cherry-version\">No-Cherry Version<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Skip the cherries if you want a cleaner pineapple flavor. The dessert still looks beautiful.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"extra-tangy-cheesecake\">Extra Tangy Cheesecake<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Add another spoonful of sour cream for a slightly softer, tangier bite.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Check out <a href=\"https:\/\/inasrecipes.com\/lemon-blueberry-cottage-cheese-protein-bites\/?utm_source=chatgpt.com\">Lemon Blueberry Cottage Cheese Protein Bites<\/a> for another bright, fruit-forward dessert-style recipe on your site.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Storage and Make-Ahead Notes<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"how-long-to-refrigerate-before-serving\">How Long to Refrigerate Before Serving<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">For the best texture, refrigerate these mini cheesecakes at least 2 hours before serving. Many current mini cheesecake recipes use that as the minimum chill time, with longer chilling giving an even firmer result.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"how-long-they-last-in-the-fridge\">How Long They Last in the Fridge<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Cheesecake is a perishable dairy dessert, so keep it refrigerated. USDA food safety guidance says leftovers are generally good in the refrigerator for 3 to 4 days when stored properly. That is a smart guideline for homemade mini pineapple upside-down cheesecakes too.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"can-you-make-them-ahead\">Can You Make Them Ahead?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Yes. In fact, they are better made ahead. Bake them the day before, chill overnight, and serve the next day.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Why Pineapple Upside-down Cake Can Turn Soggy<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A soggy result usually comes from excess pineapple liquid, underbaking, or trying to unmold the dessert before it sets properly. Current classic upside-down cake guidance highlights moisture control and proper bake time as key for avoiding a wet base.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To avoid that issue in this <strong>Homemade Mini Pineapple Upside-down Cheesecake Recipe<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Drain canned pineapple well<\/li>\n\n\n\n<li>Pat the fruit dry<\/li>\n\n\n\n<li>Do not add too much topping liquid<\/li>\n\n\n\n<li>Bake until just set<\/li>\n\n\n\n<li>Chill fully before removing<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">What to Serve With Homemade Mini Pineapple Upside-down Cheesecake Recipe<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">These mini cheesecakes are great on dessert trays because they are easy to grab and already portioned. Serve them with:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>fresh pineapple chunks<\/li>\n\n\n\n<li>whipped cream<\/li>\n\n\n\n<li>toasted coconut<\/li>\n\n\n\n<li>coffee<\/li>\n\n\n\n<li>iced tea<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">For more sweet baking inspiration on your site, add links in the body to <a href=\"https:\/\/inasrecipes.com\/crustless-pumpkin-pie-creamy-light-naturally-glute\/?utm_source=chatgpt.com\">Crustless Pumpkin Pie \u2013 Creamy, Light &amp; Naturally Gluten-Free<\/a> and <a href=\"https:\/\/inasrecipes.com\/delicious-pumpkin-snickerdoodle-blondies-you-must\/?utm_source=chatgpt.com\">Delicious Pumpkin Snickerdoodle Blondies<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Check out <a href=\"https:\/\/inasrecipes.com\/spider-peanut-butter-cookies\/?utm_source=chatgpt.com\">Spider Peanut Butter Cookies<\/a> for another cute, shareable dessert idea. Check out <a href=\"https:\/\/inasrecipes.com\/halloween-zombie-vein-fudge\/?utm_source=chatgpt.com\">Halloween Zombie Vein Fudge<\/a> if you want a fun themed sweets board.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">FAQ: Homemade Mini Pineapple Upside-down Cheesecake Recipe<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"how-long-does-pineapple-upside-cake-need-to-be-refrigerated\">How long does pineapple upside cake need to be refrigerated?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">For cheesecake-style mini versions like this one, refrigerate for at least 2 hours before serving so the filling can set properly. Many current mini pineapple upside-down cheesecake recipes use about 2 hours as the minimum chill time.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"why-is-my-pineapple-upside-down-cake-soggy\">Why is my pineapple upside down cake soggy?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">It is usually soggy because the pineapple was too wet, the cake was underbaked, or the dessert did not cool and set properly before being turned out. Fruit moisture is one of the biggest causes of a wet texture in upside-down cakes.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"do-you-grease-the-pan-when-making-pineapple-upside-down-cake\">Do you grease the pan when making pineapple upside down cake?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Yes, especially if you are not using liners. The butter-and-sugar topping can stick, so a greased pan helps the dessert release more cleanly. That logic carries over to mini upside-down cheesecakes too.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"how-long-does-pineapple-cheesecake-last-in-the-fridge\">How long does pineapple cheesecake last in the fridge?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A homemade pineapple cheesecake should be kept refrigerated and is best within 3 to 4 days, following general USDA leftover safety guidance for perishable foods.<\/p>\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\/homemade-mini-pineapple-upside-down-cheesecake\/print\/4080\/\">Print<\/a><span class=\"tasty-recipes-jump-target\" id=\"tasty-recipes-4080-jump-target\" style=\"display:block;padding-top:2px;margin-top:-2px;\"><\/span><div id=\"tasty-recipes-4080\" data-tr-id=\"4080\" class=\"tasty-recipes tasty-recipes-4080 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\/03\/image_1200x800_1773349542001-e1773349849457-150x150.webp\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" data-pin-nopin=\"true\" data-pin-description=\"Homemade Mini Pineapple Upside-down Cheesecake Recipe\" data-pin-title=\"Homemade Mini Pineapple Upside-down Cheesecake Recipe\" data-pin-url=\"https:\/\/inasrecipes.com\/fr\/homemade-mini-pineapple-upside-down-cheesecake\/?tp_image_id=4082\" 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\">Homemade Mini Pineapple Upside-down Cheesecake Recipe<\/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\">2 hours 45 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=\"12\">12<\/span> mini cheesecakes <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\/homemade-mini-pineapple-upside-down-cheesecake\/print\/4080\/\" 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%2Fhomemade-mini-pineapple-upside-down-cheesecake%2F\" href=\"https:\/\/www.pinterest.com\/pin\/create\/bookmarklet\/?url=https%3A%2F%2Finasrecipes.com%2Ffr%2Fhomemade-mini-pineapple-upside-down-cheesecake%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>These Homemade Mini Pineapple Upside-Down Cheesecakes combine the classic tropical flavors of pineapple upside-down cake with creamy baked cheesecake. Each mini dessert features a buttery brown sugar pineapple base, a graham cracker crust, and a smooth cheesecake filling topped with sweet pineapple and cherries.<\/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=\"3\" data-unit=\"tablespoon\">3 tablespoons<\/span> unsalted butter, melted<\/li>\n<li><span data-amount=\"0.33333333333333\" data-unit=\"cup\">\u2153 cup<\/span> packed light brown sugar<\/li>\n<li><span data-amount=\"6\">6<\/span> pineapple rings, cut into small pieces<\/li>\n<li><span data-amount=\"6\">6<\/span> maraschino cherries, halved<\/li>\n<li><span data-amount=\"1\" data-unit=\"cup\">1 cup<\/span> graham cracker crumbs<\/li>\n<li><span data-amount=\"2\" data-unit=\"tablespoon\">2 tablespoons<\/span> granulated sugar<\/li>\n<li><span data-amount=\"4\" data-unit=\"tablespoon\">4 tablespoons<\/span> unsalted butter, melted<\/li>\n<li><span data-amount=\"16\" data-unit=\"ounce\">16 ounces<\/span> full-fat cream cheese, softened<\/li>\n<li><span data-amount=\"0.5\" data-unit=\"cup\">\u00bd cup<\/span> granulated sugar<\/li>\n<li><span data-amount=\"2\">2<\/span> large eggs<\/li>\n<li><span data-amount=\"1\" data-unit=\"teaspoon\">1 teaspoon<\/span> vanilla extract<\/li>\n<li><span data-amount=\"0.25\" data-unit=\"cup\">\u00bc cup<\/span> sour cream<\/li>\n<li><span data-amount=\"1\" data-unit=\"tablespoon\">1 tablespoon<\/span> pineapple juice<\/li>\n<li><span data-amount=\"1\" data-unit=\"tablespoon\">1 tablespoon<\/span> all-purpose flour<\/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_6add352a655e8_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_6add352a655e8_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\">Preheat the oven to 325\u00b0F (163\u00b0C). Line or lightly grease a 12-cup muffin pan.<\/li>\n<li id=\"instruction-step-2\">Add a small amount of melted butter and brown sugar to the bottom of each muffin cup.<\/li>\n<li id=\"instruction-step-3\">Place small pieces of pineapple and half a maraschino cherry into each cup.<\/li>\n<li id=\"instruction-step-4\">In a bowl, mix graham cracker crumbs, granulated sugar, and melted butter.<\/li>\n<li id=\"instruction-step-5\">Spoon the crust mixture into each muffin cup over the fruit layer and press gently.<\/li>\n<li id=\"instruction-step-6\">In another bowl, beat the cream cheese and sugar until smooth and creamy.<\/li>\n<li id=\"instruction-step-7\">Add eggs one at a time, mixing well after each addition.<\/li>\n<li id=\"instruction-step-8\">Mix in vanilla extract, sour cream, pineapple juice, and flour until fully combined.<\/li>\n<li id=\"instruction-step-9\">Spoon the cheesecake filling evenly into each muffin cup.<\/li>\n<li id=\"instruction-step-10\">Bake for 18\u201322 minutes, until the centers are just set.<\/li>\n<li id=\"instruction-step-11\">Allow the cheesecakes to cool in the pan for 30 minutes.<\/li>\n<li id=\"instruction-step-12\">Refrigerate for at least 2 hours before unmolding.<\/li>\n<li id=\"instruction-step-13\">Carefully invert and serve chilled.<\/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>For easy removal, run a small knife around the edge before inverting. These mini cheesecakes can be stored in the refrigerator for up to 3 days.<\/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\">25 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\">20 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\">Dessert<\/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\">Baked<\/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\">American<\/span><\/li>\t\t\t<\/ul>\n\t\t<\/div>\n\t\n\t\n\t\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\":4079};\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 love creamy cheesecake and classic pineapple upside-down cake, this Homemade Mini Pineapple Upside-down Cheesecake Recipe gives you the best of &#8230; <\/p>\n<p class=\"read-more-container\"><a title=\"Homemade Mini Pineapple Upside-down Cheesecake Recipe\" class=\"read-more button\" href=\"https:\/\/inasrecipes.com\/fr\/homemade-mini-pineapple-upside-down-cheesecake\/#more-4079\" aria-label=\"En savoir plus sur Homemade Mini Pineapple Upside-down Cheesecake Recipe\">Voir la recette<\/a><\/p>","protected":false},"author":2,"featured_media":4082,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"googlesitekit_rrm_CAownpvBDA:productID":"","footnotes":""},"categories":[32],"tags":[],"class_list":["post-4079","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-desserts","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\/4079","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=4079"}],"version-history":[{"count":1,"href":"https:\/\/inasrecipes.com\/fr\/wp-json\/wp\/v2\/posts\/4079\/revisions"}],"predecessor-version":[{"id":4084,"href":"https:\/\/inasrecipes.com\/fr\/wp-json\/wp\/v2\/posts\/4079\/revisions\/4084"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/inasrecipes.com\/fr\/wp-json\/wp\/v2\/media\/4082"}],"wp:attachment":[{"href":"https:\/\/inasrecipes.com\/fr\/wp-json\/wp\/v2\/media?parent=4079"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/inasrecipes.com\/fr\/wp-json\/wp\/v2\/categories?post=4079"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/inasrecipes.com\/fr\/wp-json\/wp\/v2\/tags?post=4079"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}