window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/thefoodiediary.com\/wp-includes\/js\/wp-emoji-release.min.js?ver=6.7.1"}};
/*! This file is auto-generated */
!function(i,n){var o,s,e;function c(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(o,JSON.stringify(t))}catch(e){}}function p(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data),r=(e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0),new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data));return t.every(function(e,t){return e===r[t]})}function u(e,t,n){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\uddfa\ud83c\uddf3","\ud83c\uddfa\u200b\ud83c\uddf3")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!n(e,"\ud83d\udc26\u200d\u2b1b","\ud83d\udc26\u200b\u2b1b")}return!1}function f(e,t,n){var r="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):i.createElement("canvas"),a=r.getContext("2d",{willReadFrequently:!0}),o=(a.textBaseline="top",a.font="600 32px Arial",{});return e.forEach(function(e){o[e]=t(a,e,n)}),o}function t(e){var t=i.createElement("script");t.src=e,t.defer=!0,i.head.appendChild(t)}"undefined"!=typeof Promise&&(o="wpEmojiSettingsSupports",s=["flag","emoji"],n.supports={everything:!0,everythingExceptFlag:!0},e=new Promise(function(e){i.addEventListener("DOMContentLoaded",e,{once:!0})}),new Promise(function(t){var n=function(){try{var e=JSON.parse(sessionStorage.getItem(o));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(s),u.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"}),a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=function(e){c(n=e.data),a.terminate(),t(n)})}catch(e){}c(n=f(s,u,p))}t(n)}).then(function(e){for(var t in e)n.supports[t]=e[t],n.supports.everything=n.supports.everything&&n.supports[t],"flag"!==t&&(n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&n.supports[t]);n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&!n.supports.flag,n.DOMReady=!1,n.readyCallback=function(){n.DOMReady=!0}}).then(function(){return e}).then(function(){var e;n.supports.everything||(n.readyCallback(),(e=n.source||{}).concatemoji?t(e.concatemoji):e.wpemoji&&e.twemoji&&(t(e.twemoji),t(e.wpemoji)))}))}((window,document),window._wpemojiSettings);
var breeze_prefetch = {"local_url":"https:\/\/thefoodiediary.com","ignore_remote_prefetch":"1","ignore_list":["wp-admin","wp-login.php"]};
https://thefoodiediary.com/wp-content/plugins/breeze/assets/js/js-front-end/breeze-prefetch-links.min.js
https://thefoodiediary.com/wp-includes/js/jquery/jquery.min.js
https://thefoodiediary.com/wp-includes/js/jquery/jquery-migrate.min.js
Skip to content
Vietnamese yogurt, also known as Sữa Chua, is a creamy, slightly tangy yogurt that has become a beloved treat not just in Vietnam but around the world. Unlike Western yogurts that are often made with bacterial cultures from milk alone, Vietnamese yogurt includes the addition of sweetened condensed milk, which gives it its distinctive sweet flavor and creamy texture. This delightful dessert is incredibly easy to make at home with just a few simple ingredients. In this article, we’ll dive into a traditional Vietnamese yogurt recipe, explore its origins, and offer some tips for perfecting this delicious treat. The Origins … Read more
!function(){"use strict";if("querySelector"in document&&"addEventListener"in window){var e=document.body;e.addEventListener("mousedown",function(){e.classList.add("using-mouse")}),e.addEventListener("keydown",function(){e.classList.remove("using-mouse")})}}();
var offSide = {"side":"left"};
https://thefoodiediary.com/wp-content/plugins/gp-premium/menu-plus/functions/js/offside.min.js
var gpSmoothScroll = {"elements":[".smooth-scroll","li.smooth-scroll a"],"duration":"800","offset":""};
https://thefoodiediary.com/wp-content/plugins/gp-premium/general/js/smooth-scroll.min.js
var wpilFrontend = {"ajaxUrl":"\/wp-admin\/admin-ajax.php","postId":"886","postType":"term","openInternalInNewTab":"0","openExternalInNewTab":"0","disableClicks":"0","openLinksWithJS":"0","trackAllElementClicks":"0","clicksI18n":{"imageNoText":"Image in link: No Text","imageText":"Image Title: ","noText":"No Anchor Text Found"}};
https://thefoodiediary.com/wp-content/plugins/link-whisper-premium/js/frontend.min.js
var generatepressMenu = {"toggleOpenedSubMenus":"1","openSubMenuLabel":"Open Sub-Menu","closeSubMenuLabel":"Close Sub-Menu"};
https://thefoodiediary.com/wp-content/themes/generatepress/assets/js/menu.min.js
var generatepressDropdownClick = {"openSubMenuLabel":"Open Sub-Menu","closeSubMenuLabel":"Close Sub-Menu"};
https://thefoodiediary.com/wp-content/themes/generatepress/assets/js/dropdown-click.min.js
https://thefoodiediary.com/wp-content/themes/generatepress/assets/dist/modal.js
var generatepressBackToTop = {"smooth":"1"};
https://thefoodiediary.com/wp-content/themes/generatepress/assets/js/back-to-top.min.js
https://thefoodiediary.com/wp-content/plugins/breeze/assets/js/js-front-end/breeze-lazy-load.min.js
https://thefoodiediary.com/wp-content/plugins/gp-premium/blog/functions/js/infinite-scroll.pkgd.min.js
var generateBlog = {"more":"+ More","loading":"Loading...","icon":"<span class=\"gp-icon spinner\">\n\t\t\t\t<svg viewBox=\"0 0 512 512\" aria-hidden=\"true\" version=\"1.1\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"1em\" height=\"1em\">\n\t\t\t\t\t<path d=\"M288 32c0 17.673-14.327 32-32 32-17.673 0-32-14.327-32-32 0-17.673 14.327-32 32-32 17.673 0 32 14.327 32 32zM288 480c0 17.673-14.327 32-32 32-17.673 0-32-14.327-32-32 0-17.673 14.327-32 32-32 17.673 0 32 14.327 32 32zM448 256c0 17.673 14.327 32 32 32 17.673 0 32-14.327 32-32 0-17.673-14.327-32-32-32-17.673 0-32 14.327-32 32zM32 288c-17.673 0-32-14.327-32-32 0-17.673 14.327-32 32-32 17.673 0 32 14.327 32 32 0 17.673-14.327 32-32 32zM391.764 391.764c-12.496 12.497-12.496 32.759 0 45.255 12.497 12.497 32.758 12.497 45.255 0 12.497-12.496 12.497-32.758 0-45.255-12.497-12.496-32.758-12.496-45.255 0zM74.981 120.235c-12.497-12.496-12.497-32.758 0-45.254 12.496-12.497 32.758-12.497 45.254 0 12.497 12.496 12.497 32.758 0 45.254-12.496 12.497-32.758 12.497-45.254 0zM120.235 391.765c-12.496-12.497-32.758-12.497-45.254 0-12.497 12.496-12.497 32.758 0 45.254 12.496 12.497 32.758 12.497 45.254 0 12.497-12.496 12.497-32.758 0-45.254z\"\/>\n\t\t\t\t<\/svg>\n\t\t\t<\/span>","masonryInit":{"columnWidth":".grid-sizer","itemSelector":".masonry-post","stamp":".page-header","percentPosition":true,"stagger":30,"visibleStyle":{"transform":"translateY(0)","opacity":1},"hiddenStyle":{"transform":"translateY(5px)","opacity":0}},"infiniteScrollInit":{"path":".infinite-scroll-path a","append":"#main .infinite-scroll-item","history":false,"loadOnScroll":true,"button":null,"scrollThreshold":600}};
https://thefoodiediary.com/wp-content/plugins/gp-premium/blog/functions/js/scripts.min.js
!(function(){window.growMe||((window.growMe=function(e){window.growMe._.push(e);}),(window.growMe._=[]));var e=document.createElement("script");(e.type="text/javascript"),(e.src="https://faves.grow.me/main.js"),(e.defer=!0),e.setAttribute("data-grow-faves-site-id","U2l0ZToxMjVmNGVkNS05OTY4LTQzNGMtYWM3My00YzNlZjNiMWRlNDE=");var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t);})();
window.addEventListener("DOMContentLoaded",(e=>{document.querySelectorAll('img[loading="lazy"]').forEach((e=>{e.getBoundingClientRect().top<=window.innerHeight&&(e.loading="eager")}))}));