<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Joy + OliverSlice and Bake Cookies - Joy + Oliver</title>
	<atom:link href="https://joyoliver.com/sliceandbakecookies/feed/" rel="self" type="application/rss+xml" />
	<link>https://joyoliver.com/sliceandbakecookies/</link>
	<description>Dessert &#38; Entertaining Blog</description>
	<lastBuildDate>Wed, 22 Apr 2026 16:09:24 +0000</lastBuildDate>
	<language>en-US</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	
	<item>
		<title>Slice and Bake Cookies</title>
		<link>https://joyoliver.com/sliceandbakecookies/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=sliceandbakecookies</link>
		<enclosure url="https://joyoliver.com/wp-content/uploads/2018/12/IMG_4316-682x1024.jpg" type="image/jpeg" /> 
		<comments>https://joyoliver.com/sliceandbakecookies/#comments</comments>
		<pubDate>Wed, 05 Dec 2018 12:00:49 +0000</pubDate>
		<dc:creator><![CDATA[Kristen Massad]]></dc:creator>
				<category><![CDATA[Cookies Recipes]]></category>
		<category><![CDATA[Holiday]]></category>
		<category><![CDATA[Recipes]]></category>
		<category><![CDATA[brown sugar pecan cookies]]></category>
		<category><![CDATA[chocolate cranberry shortbread cookies]]></category>
		<category><![CDATA[cookie gift boxes]]></category>
		<category><![CDATA[cookies]]></category>
		<category><![CDATA[edible gifts]]></category>
		<category><![CDATA[holiday cookies]]></category>
		<category><![CDATA[homemade slice and bake]]></category>
		<category><![CDATA[slice and bake cookies]]></category>

		<guid isPermaLink="false">https://joyoliver.com/?p=4305</guid>
		<description><![CDATA[In the season of giving, nothing warms the heart and the home like homemade edibles gifts.  Sharing your favorite family traditions, special childhood memories and festive Slice and Bake Cookies will shine bright this holiday season. ]]></description>
				<content:encoded><![CDATA[<div class="tasty-recipes-quick-links">
<a class="tasty-recipes-jump-link tasty-recipes-scrollto" href="#tasty-recipes-6909-jump-target">Jump to Recipe</a><span>&middot;</span><a class="tasty-recipes-print-link" href="https://joyoliver.com/sliceandbakecookies/print/6909/">Print Recipe</a>
</div>

<div id="dpsp-content-top" class="dpsp-content-wrapper dpsp-shape-circle dpsp-size-medium dpsp-has-spacing dpsp-show-on-mobile dpsp-button-style-5" style="min-height:40px;position:relative">
	<ul class="dpsp-networks-btns-wrapper dpsp-networks-btns-share dpsp-networks-btns-content dpsp-column-auto dpsp-has-button-icon-animation" style="padding:0;margin:0;list-style-type:none">
<li class="dpsp-network-list-item dpsp-network-list-item-facebook" style="float:left">
	<a rel="nofollow noopener" href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fjoyoliver.com%2Fsliceandbakecookies%2F&#038;t=Slice%20and%20Bake%20Cookies" class="dpsp-network-btn dpsp-facebook dpsp-first dpsp-has-label" target="_blank" aria-label="Share on Facebook" title="Share on Facebook" style="font-size:14px;padding:0rem;max-height:40px" >	<span class="dpsp-network-icon "><span class="dpsp-network-icon-inner" ><svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 18 32"><path d="M17.12 0.224v4.704h-2.784q-1.536 0-2.080 0.64t-0.544 1.92v3.392h5.248l-0.704 5.28h-4.544v13.568h-5.472v-13.568h-4.544v-5.28h4.544v-3.904q0-3.328 1.856-5.152t4.96-1.824q2.624 0 4.064 0.224z"></path></svg></span></span>
	<span class="dpsp-network-label">Facebook</span></a></li>

<li class="dpsp-network-list-item dpsp-network-list-item-pinterest" style="float:left">
	<button rel="nofollow noopener" data-href="https://pinterest.com/pin/create/button/?url=https%3A%2F%2Fjoyoliver.com%2Fsliceandbakecookies%2F&#038;media=&#038;description=Slice%20and%20Bake%20Cookies" class="dpsp-network-btn dpsp-pinterest dpsp-has-label" target="_blank" aria-label="Save to Pinterest" title="Save to Pinterest" style="font-size:14px;padding:0rem;max-height:40px" >	<span class="dpsp-network-icon "><span class="dpsp-network-icon-inner" ><svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 23 32"><path d="M0 10.656q0-1.92 0.672-3.616t1.856-2.976 2.72-2.208 3.296-1.408 3.616-0.448q2.816 0 5.248 1.184t3.936 3.456 1.504 5.12q0 1.728-0.32 3.36t-1.088 3.168-1.792 2.656-2.56 1.856-3.392 0.672q-1.216 0-2.4-0.576t-1.728-1.568q-0.16 0.704-0.48 2.016t-0.448 1.696-0.352 1.28-0.48 1.248-0.544 1.12-0.832 1.408-1.12 1.536l-0.224 0.096-0.16-0.192q-0.288-2.816-0.288-3.36 0-1.632 0.384-3.68t1.184-5.152 0.928-3.616q-0.576-1.152-0.576-3.008 0-1.504 0.928-2.784t2.368-1.312q1.088 0 1.696 0.736t0.608 1.824q0 1.184-0.768 3.392t-0.8 3.36q0 1.12 0.8 1.856t1.952 0.736q0.992 0 1.824-0.448t1.408-1.216 0.992-1.696 0.672-1.952 0.352-1.984 0.128-1.792q0-3.072-1.952-4.8t-5.12-1.728q-3.552 0-5.952 2.304t-2.4 5.856q0 0.8 0.224 1.536t0.48 1.152 0.48 0.832 0.224 0.544q0 0.48-0.256 1.28t-0.672 0.8q-0.032 0-0.288-0.032-0.928-0.288-1.632-0.992t-1.088-1.696-0.576-1.92-0.192-1.92z"></path></svg></span></span>
	<span class="dpsp-network-label">Pinterest</span></button></li>

<li class="dpsp-network-list-item dpsp-network-list-item-email" style="float:left">
	<a rel="nofollow noopener" href="mailto:?subject=Slice%20and%20Bake%20Cookies&#038;body=https%3A%2F%2Fjoyoliver.com%2Fsliceandbakecookies%2F" class="dpsp-network-btn dpsp-email dpsp-last dpsp-has-label" target="_blank" aria-label="Send over email" title="Send over email" style="font-size:14px;padding:0rem;max-height:40px" >	<span class="dpsp-network-icon "><span class="dpsp-network-icon-inner" ><svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 28 32"><path d="M18.56 17.408l8.256 8.544h-25.248l8.288-8.448 4.32 4.064zM2.016 6.048h24.32l-12.16 11.584zM20.128 15.936l8.224-7.744v16.256zM0 24.448v-16.256l8.288 7.776z"></path></svg></span></span>
	<span class="dpsp-network-label">Email</span></a></li>
</ul></div>
<p><i>In the season of giving, nothing warms the heart and the home like homemade edibles gifts.  Sharing your favorite family traditions, special childhood memories and festive Slice and Bake Cookies will shine bright this holiday season. <a href="https://joyoliver.com/wp-content/uploads/2018/12/IMG_4238.jpg"><img fetchpriority="high" decoding="async" data-pin-title="Slice and Bake Cookies" class="aligncenter size-large wp-image-4313" src="https://joyoliver.com/wp-content/uploads/2018/12/IMG_4238-682x1024.jpg" alt="" width="682" height="1024" srcset="https://joyoliver.com/wp-content/uploads/2018/12/IMG_4238-682x1024.jpg 682w, https://joyoliver.com/wp-content/uploads/2018/12/IMG_4238-410x615.jpg 410w, https://joyoliver.com/wp-content/uploads/2018/12/IMG_4238-768x1152.jpg 768w, https://joyoliver.com/wp-content/uploads/2018/12/IMG_4238.jpg 1333w" sizes="(max-width: 682px) 100vw, 682px" /></a></i></p>
<p>I do love the hustle and bustle that this season brings and more than anything, I love all the baking that comes out of my kitchen.<span class="Apple-converted-space">  </span>With the thousands of gifts that can be purchased, sometimes a homemade gift full of holiday cookies is the most special gift of all.<span class="Apple-converted-space">  </span>There is something magical about holiday cookies, family traditions, special memories and long lost recipes that are only served during the holidays.<span class="Apple-converted-space">  </span>I am excited to share with you and my friends over at <a href="https://www.dosaygive.com">Do Say Give</a> two ways to gift your favorite cookies this season and all year long!  Find the recipes below and check out <a href="https://www.dosaygive.com">Do Say Give</a> for all the things you need to create these awesome Homemade Holiday Cookie Gifts! <span class="Apple-converted-space">   </span></p>
<p><img decoding="async" data-pin-title="Slice and Bake Cookies" class="aligncenter size-large wp-image-4287" src="https://joyoliver.com/wp-content/uploads/2018/12/IMG_4343-682x1024.jpg" alt="" width="682" height="1024" srcset="https://joyoliver.com/wp-content/uploads/2018/12/IMG_4343-682x1024.jpg 682w, https://joyoliver.com/wp-content/uploads/2018/12/IMG_4343-410x615.jpg 410w, https://joyoliver.com/wp-content/uploads/2018/12/IMG_4343-768x1152.jpg 768w, https://joyoliver.com/wp-content/uploads/2018/12/IMG_4343.jpg 1333w" sizes="(max-width: 682px) 100vw, 682px" /><b>Homemade Slice + Bake Cookies<br />
</b><b><i></i></b>Such a fun way to deliver a treat to your favorite friend, neighbor or a quick and easy hostess gift.</p>
<p><a href="https://joyoliver.com/wp-content/uploads/2018/12/IMG_4316.jpg"><img decoding="async" data-pin-title="Slice and Bake Cookies" class="aligncenter size-large wp-image-4291" src="https://joyoliver.com/wp-content/uploads/2018/12/IMG_4316-682x1024.jpg" alt="" width="682" height="1024" srcset="https://joyoliver.com/wp-content/uploads/2018/12/IMG_4316-682x1024.jpg 682w, https://joyoliver.com/wp-content/uploads/2018/12/IMG_4316-410x615.jpg 410w, https://joyoliver.com/wp-content/uploads/2018/12/IMG_4316-768x1152.jpg 768w, https://joyoliver.com/wp-content/uploads/2018/12/IMG_4316-1024x1536.jpg 1024w, https://joyoliver.com/wp-content/uploads/2018/12/IMG_4316-720x1080.jpg 720w, https://joyoliver.com/wp-content/uploads/2018/12/IMG_4316-360x540.jpg 360w, https://joyoliver.com/wp-content/uploads/2018/12/IMG_4316-180x270.jpg 180w, https://joyoliver.com/wp-content/uploads/2018/12/IMG_4316-150x225.jpg 150w, https://joyoliver.com/wp-content/uploads/2018/12/IMG_4316.jpg 1333w" sizes="(max-width: 682px) 100vw, 682px" /></a></p>
<p><strong>Chocolate Cranberry Shortbread Cookies<a href="https://joyoliver.com/wp-content/uploads/2018/12/IMG_4334.jpg"><img decoding="async" data-pin-title="Slice and Bake Cookies" class="aligncenter size-large wp-image-4288" src="https://joyoliver.com/wp-content/uploads/2018/12/IMG_4334-682x1024.jpg" alt="" width="682" height="1024" srcset="https://joyoliver.com/wp-content/uploads/2018/12/IMG_4334-682x1024.jpg 682w, https://joyoliver.com/wp-content/uploads/2018/12/IMG_4334-410x615.jpg 410w, https://joyoliver.com/wp-content/uploads/2018/12/IMG_4334-768x1152.jpg 768w, https://joyoliver.com/wp-content/uploads/2018/12/IMG_4334.jpg 1333w" sizes="(max-width: 682px) 100vw, 682px" /></a><br />
</strong></p>
<a class="button tasty-recipes-print-button tasty-recipes-no-print tasty-recipes-print-above-card" href="https://joyoliver.com/sliceandbakecookies/print/6909/">Print</a><span class="tasty-recipes-jump-target" id="tasty-recipes-6909-jump-target" style="display:block;padding-top:2px;margin-top:-2px;"></span><div id="tasty-recipes-6909" data-tr-id="6909" class="tasty-recipes tasty-recipes-6909 tasty-recipes-display tasty-recipes-has-image" data-tasty-recipes-customization="primary-color.background-color primary-color.outline-color">


<h2 class="tasty-recipes-title" data-tasty-recipes-customization="h2-color.color h2-transform.text-transform">Chocolate Cranberry Slice and Bake Cookies</h2>
<div class="tasty-recipes-image-button-container">
			<div class="tasty-recipes-image">
			<img decoding="async" width="150" height="150" src="https://joyoliver.com/wp-content/uploads/2018/12/IMG_4240-150x150.jpg" class="attachment-thumbnail size-thumbnail" alt="" data-pin-nopin="true" />		</div>
		<div class="tasty-recipes-buttons">
				<div class="tasty-recipes-button-wrap">
			
<a class="button tasty-recipes-print-button tasty-recipes-no-print" href="https://joyoliver.com/sliceandbakecookies/print/6909/" target="_blank" data-tasty-recipes-customization="">
			<img decoding="async" class="svg-print" data-pin-nopin="true" src="https://joyoliver.com/wp-content/plugins/tasty-recipes/templates/buttons/images/icon-print.png">
		Print Recipe</a>
		</div>
					</div>
</div>
	<div class="tasty-recipes-rating" data-tasty-recipes-customization="body-color.color">
					<p><span class="tasty-recipes-ratings-buttons tasty-recipes-no-ratings-buttons"	data-tr-default-rating="0"	>		<span class="tasty-recipes-rating" >		<i class="checked" data-rating="5">			<span class="tasty-recipes-rating-solid" data-tr-clip="0">				<svg xmlns="http://www.w3.org/2000/svg" viewbox="9 9 46 42" width="18" height="17">	<defs>		<linearGradient id="tasty-recipes-clip-10">			<stop offset="10%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-20">			<stop offset="20%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-30">			<stop offset="30%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-40">			<stop offset="40%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-50">			<stop offset="50%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-60">			<stop offset="60%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-70">			<stop offset="70%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-80">			<stop offset="80%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-90">			<stop offset="90%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>	</defs>	<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"/></svg>			</span>			<span class="tasty-recipes-screen-reader">				5 Stars			</span>		</i>	</span>		<span class="tasty-recipes-rating" >		<i class="checked" data-rating="4">			<span class="tasty-recipes-rating-solid" data-tr-clip="0">				<svg xmlns="http://www.w3.org/2000/svg" viewbox="9 9 46 42" width="18" height="17">	<defs>		<linearGradient id="tasty-recipes-clip-10">			<stop offset="10%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-20">			<stop offset="20%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-30">			<stop offset="30%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-40">			<stop offset="40%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-50">			<stop offset="50%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-60">			<stop offset="60%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-70">			<stop offset="70%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-80">			<stop offset="80%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-90">			<stop offset="90%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>	</defs>	<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"/></svg>			</span>			<span class="tasty-recipes-screen-reader">				4 Stars			</span>		</i>	</span>		<span class="tasty-recipes-rating" >		<i class="checked" data-rating="3">			<span class="tasty-recipes-rating-solid" data-tr-clip="0">				<svg xmlns="http://www.w3.org/2000/svg" viewbox="9 9 46 42" width="18" height="17">	<defs>		<linearGradient id="tasty-recipes-clip-10">			<stop offset="10%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-20">			<stop offset="20%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-30">			<stop offset="30%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-40">			<stop offset="40%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-50">			<stop offset="50%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-60">			<stop offset="60%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-70">			<stop offset="70%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-80">			<stop offset="80%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-90">			<stop offset="90%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>	</defs>	<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"/></svg>			</span>			<span class="tasty-recipes-screen-reader">				3 Stars			</span>		</i>	</span>		<span class="tasty-recipes-rating" >		<i class="checked" data-rating="2">			<span class="tasty-recipes-rating-solid" data-tr-clip="0">				<svg xmlns="http://www.w3.org/2000/svg" viewbox="9 9 46 42" width="18" height="17">	<defs>		<linearGradient id="tasty-recipes-clip-10">			<stop offset="10%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-20">			<stop offset="20%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-30">			<stop offset="30%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-40">			<stop offset="40%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-50">			<stop offset="50%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-60">			<stop offset="60%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-70">			<stop offset="70%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-80">			<stop offset="80%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-90">			<stop offset="90%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>	</defs>	<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"/></svg>			</span>			<span class="tasty-recipes-screen-reader">				2 Stars			</span>		</i>	</span>		<span class="tasty-recipes-rating" >		<i class="checked" data-rating="1">			<span class="tasty-recipes-rating-solid" data-tr-clip="0">				<svg xmlns="http://www.w3.org/2000/svg" viewbox="9 9 46 42" width="18" height="17">	<defs>		<linearGradient id="tasty-recipes-clip-10">			<stop offset="10%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-20">			<stop offset="20%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-30">			<stop offset="30%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-40">			<stop offset="40%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-50">			<stop offset="50%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-60">			<stop offset="60%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-70">			<stop offset="70%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-80">			<stop offset="80%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-90">			<stop offset="90%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>	</defs>	<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"/></svg>			</span>			<span class="tasty-recipes-screen-reader">				1 Star			</span>		</i>	</span></span></p>
							<p><span data-tasty-recipes-customization="detail-label-color.color" class="rating-label">No reviews</span></p>
			</div>



	<div class="tasty-recipes-details" data-tasty-recipes-customization="body-color.color">
		<ul>
							<li class="author"><strong data-tasty-recipes-customization="detail-label-color.color" class="tasty-recipes-label">Author:</strong> <a data-tasty-recipes-customization="detail-value-color.color" class="tasty-recipes-author-name" href="https://joyoliver.com/about/">Kristen Massad</a></li>
							<li class="category"><strong data-tasty-recipes-customization="detail-label-color.color" class="tasty-recipes-label">Category:</strong> <span data-tasty-recipes-customization="detail-value-color.color" class="tasty-recipes-category">Cookie</span></li>
							<li class="cuisine"><strong data-tasty-recipes-customization="detail-label-color.color" class="tasty-recipes-label">Cuisine:</strong> <span data-tasty-recipes-customization="detail-value-color.color" class="tasty-recipes-cuisine">Dessert</span></li>
					</ul>
	</div>

	<div class="tasty-recipes-ingredients">
		<div class="tasty-recipes-ingredients-header">
			<div class="tasty-recipes-ingredients-clipboard-container">
				<h3 data-tasty-recipes-customization="h3-color.color h3-transform.text-transform">Ingredients</h3>
							</div>
			<div class="tasty-recipes-units-scale-container">
											</div>
		</div>
		<div class="tasty-recipes-ingredients-body" data-tasty-recipes-customization="body-color.color">
			<ul>
<li><span data-amount="0.75" data-unit="cup">¾ Cup</span> Unsalted Butter</li>
<li><span data-amount="0.5" data-unit="cup">½ Cup</span> Granulated Sugar</li>
<li><span data-amount="1">1</span> Egg</li>
<li><span data-amount="2" data-unit="cup">2 Cups</span> All Purpose Flour</li>
<li><span data-amount="1" data-unit="tbsp">1 Tbsp</span> Vanilla Extract</li>
<li><span data-amount="0.5" data-unit="cup">½ Cup</span> Dried Cranberries, Chopped</li>
<li><span data-amount="0.5" data-unit="cup">½ Cup</span> Chocolate Chunks, Chopped</li>
<li>Garnish:</li>
<li><span data-amount="1">1</span> Egg (for egg wash)</li>
<li><span data-amount="1" data-unit="cup">1 Cup</span> Clear Sugar Crystals</li>
</ul>
<!--INSIDE_INGREDIENTS-->		</div>
		<div class="tasty-recipes-cook-mode">
	<div class="tasty-recipes-cook-mode__container">
		<label class="tasty-recipes-cook-mode__switch">
			<input type="checkbox" id="tasty_recipes_6a0fd1fa3b851_cookmode">
			<span class="tasty-recipes-cook-mode__switch-slider tasty-recipes-cook-mode__switch-round"
				data-tasty-recipes-customization="button-color.background button-text-color.color"></span>
		</label>
		<label for="tasty_recipes_6a0fd1fa3b851_cookmode">
			<span class="tasty-recipes-cook-mode__label">Cook Mode</span>
			<span class="tasty-recipes-cook-mode__helper">
				Prevent your screen from going dark			</span>
		</label>
	</div>
</div>
	</div>

	<div class="tasty-recipe-instructions">
		<div class="tasty-recipes-instructions-header">
			<h3 data-tasty-recipes-customization="h3-color.color h3-transform.text-transform">Instructions</h3>
					</div>
		<div class="tasty-recipes-instructions-body" data-tasty-recipes-customization="body-color.color">
			<ol>
<li id="instruction-step-1">In a mixing bowl with paddle attachment, combine the butter and sugar</li>
<li id="instruction-step-2">Mix on medium speed until creamed together and fluffy</li>
<li id="instruction-step-3">Add in one egg and vanilla extract; continue mixing until combined</li>
<li id="instruction-step-4">Add in flour and mix until smooth and all ingredients have come together</li>
<li id="instruction-step-5">Add dried cranberries and chocolate chunks to the dough and mix on low speed until fully combined</li>
<li id="instruction-step-6">Remove the dough from the bowl and shape into a ball</li>
<li id="instruction-step-7">Divide the dough in half and roll into a log</li>
<li id="instruction-step-8">Lightly brush *egg wash onto the dough and roll the log into sugar crystals to cover the outside</li>
<li id="instruction-step-9">Place the log on wax paper and roll up, pressing firm to create a package</li>
<li id="instruction-step-10">Twist the end of the wax paper to seal it shut</li>
<li id="instruction-step-11">Refrigerate the dough until ready to bake</li>
<li id="instruction-step-12">Baking Instructions:</li>
<li id="instruction-step-13">Preheat the oven to 350 degrees F</li>
<li id="instruction-step-14">Remove the dough from the refrigerator and slice the cookies into ¼ inch thick pieces</li>
<li id="instruction-step-15">Place the cookies onto a parchment lined baking sheet</li>
<li id="instruction-step-16">Bake for 8-10 minutes or until cookies is a light golden color</li>
<li id="instruction-step-17">*Egg Wash: Whisk one egg in a bowl and add a splash of water</li>
</ol>
		</div>
	</div>








<footer class="tasty-recipes-entry-footer">
	<h3 data-tasty-recipes-customization="footer-heading-color.color h3-transform.text-transform footer-heading.innerText">Did you make this recipe?</h3>
	<div data-tasty-recipes-customization="footer-description-color.color footer-description.innerHTML"><p>Tag <a href="https://www.instagram.com/joyandoliver" target="_blank" rel="noreferrer noopener">@joyandoliver</a> on Instagram</p>
</div>
</footer>



<script>
window.trCommon={"minRating":6,"ajaxurl":"https:\/\/joyoliver.com\/wp-admin\/admin-ajax.php","ratingNonce":"","postId":4305};
window.TastyRecipes = window.TastyRecipes || {};

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

failure( xhr );
};

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

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

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

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

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

if ( rating < this.minRating ) {
commentTextarea.setAttribute( 'required', '' );
return;
}

commentTextarea.removeAttribute( 'required' );
},
maybeSendRating( rating, element ) {
if ( this.savingRating === rating ) {
return;
}

this.savingRating = rating;
window.TastyRecipes.staticTooltip.init( element );

const recipeCardElement = element.closest( '.tasty-recipes' );
if ( ! recipeCardElement ) {
window.TastyRecipes.staticTooltip.destroy();
return;
}

window.TastyRecipes.ajax.sendPostRequest(
window.trCommon.ajaxurl,
{
action: 'tasty_recipes_save_rating',
rating,
nonce: window.trCommon.ratingNonce,
post_id: window.trCommon.postId,
recipe_id: recipeCardElement.dataset.trId,
},
( response ) => {
window.TastyRecipes.staticTooltip.changeMessage( response.data.message );
window.TastyRecipes.staticTooltip.show();
this.updateAverageText( response.data, recipeCardElement );
this.maybeFillCommentForm( response.data );

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

if ( ! data.count ) {
return;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(function(callback) {
if (document.readyState !== "loading") {
callback();
} else {
window.addEventListener( 'load', callback );
}
})(() => {
window.TastyRecipes.ratings.init( window.trCommon ? window.trCommon.minRating : 4 );
});
</script></div>
<p><span class="Apple-converted-space"><strong>  Brown Sugar Pecan Cookies<br />
<a href="https://joyoliver.com/wp-content/uploads/2018/12/IMG_4325.jpg"><img decoding="async" data-pin-title="Slice and Bake Cookies" class="aligncenter size-large wp-image-4290" src="https://joyoliver.com/wp-content/uploads/2018/12/IMG_4325-682x1024.jpg" alt="" width="682" height="1024" srcset="https://joyoliver.com/wp-content/uploads/2018/12/IMG_4325-682x1024.jpg 682w, https://joyoliver.com/wp-content/uploads/2018/12/IMG_4325-410x615.jpg 410w, https://joyoliver.com/wp-content/uploads/2018/12/IMG_4325-768x1152.jpg 768w, https://joyoliver.com/wp-content/uploads/2018/12/IMG_4325-1024x1536.jpg 1024w, https://joyoliver.com/wp-content/uploads/2018/12/IMG_4325-720x1080.jpg 720w, https://joyoliver.com/wp-content/uploads/2018/12/IMG_4325-360x540.jpg 360w, https://joyoliver.com/wp-content/uploads/2018/12/IMG_4325-180x270.jpg 180w, https://joyoliver.com/wp-content/uploads/2018/12/IMG_4325-150x225.jpg 150w, https://joyoliver.com/wp-content/uploads/2018/12/IMG_4325.jpg 1333w" sizes="(max-width: 682px) 100vw, 682px" /></a><br />
</strong></span></p>
<a class="button tasty-recipes-print-button tasty-recipes-no-print tasty-recipes-print-above-card" href="https://joyoliver.com/sliceandbakecookies/print/6917/">Print</a><span class="tasty-recipes-jump-target" id="tasty-recipes-6917-jump-target" style="display:block;padding-top:2px;margin-top:-2px;"></span><div id="tasty-recipes-6917" data-tr-id="6917" class="tasty-recipes tasty-recipes-6917 tasty-recipes-display tasty-recipes-has-image" data-tasty-recipes-customization="primary-color.background-color primary-color.outline-color">


<h2 class="tasty-recipes-title" data-tasty-recipes-customization="h2-color.color h2-transform.text-transform">Brown Sugar Pecan Slice and Bake Cookies</h2>
<div class="tasty-recipes-image-button-container">
			<div class="tasty-recipes-image">
			<img decoding="async" width="150" height="150" src="https://joyoliver.com/wp-content/uploads/2018/12/IMG_4325-150x150.jpg" class="attachment-thumbnail size-thumbnail" alt="" data-pin-nopin="true" />		</div>
		<div class="tasty-recipes-buttons">
				<div class="tasty-recipes-button-wrap">
			
<a class="button tasty-recipes-print-button tasty-recipes-no-print" href="https://joyoliver.com/sliceandbakecookies/print/6917/" target="_blank" data-tasty-recipes-customization="">
			<img decoding="async" class="svg-print" data-pin-nopin="true" src="https://joyoliver.com/wp-content/plugins/tasty-recipes/templates/buttons/images/icon-print.png">
		Print Recipe</a>
		</div>
					</div>
</div>
	<div class="tasty-recipes-rating" data-tasty-recipes-customization="body-color.color">
					<p><span class="tasty-recipes-ratings-buttons tasty-recipes-no-ratings-buttons"	data-tr-default-rating="0"	>		<span class="tasty-recipes-rating" >		<i class="checked" data-rating="5">			<span class="tasty-recipes-rating-solid" data-tr-clip="0">				<svg xmlns="http://www.w3.org/2000/svg" viewbox="9 9 46 42" width="18" height="17">	<defs>		<linearGradient id="tasty-recipes-clip-10">			<stop offset="10%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-20">			<stop offset="20%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-30">			<stop offset="30%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-40">			<stop offset="40%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-50">			<stop offset="50%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-60">			<stop offset="60%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-70">			<stop offset="70%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-80">			<stop offset="80%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-90">			<stop offset="90%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>	</defs>	<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"/></svg>			</span>			<span class="tasty-recipes-screen-reader">				5 Stars			</span>		</i>	</span>		<span class="tasty-recipes-rating" >		<i class="checked" data-rating="4">			<span class="tasty-recipes-rating-solid" data-tr-clip="0">				<svg xmlns="http://www.w3.org/2000/svg" viewbox="9 9 46 42" width="18" height="17">	<defs>		<linearGradient id="tasty-recipes-clip-10">			<stop offset="10%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-20">			<stop offset="20%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-30">			<stop offset="30%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-40">			<stop offset="40%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-50">			<stop offset="50%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-60">			<stop offset="60%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-70">			<stop offset="70%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-80">			<stop offset="80%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-90">			<stop offset="90%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>	</defs>	<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"/></svg>			</span>			<span class="tasty-recipes-screen-reader">				4 Stars			</span>		</i>	</span>		<span class="tasty-recipes-rating" >		<i class="checked" data-rating="3">			<span class="tasty-recipes-rating-solid" data-tr-clip="0">				<svg xmlns="http://www.w3.org/2000/svg" viewbox="9 9 46 42" width="18" height="17">	<defs>		<linearGradient id="tasty-recipes-clip-10">			<stop offset="10%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-20">			<stop offset="20%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-30">			<stop offset="30%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-40">			<stop offset="40%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-50">			<stop offset="50%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-60">			<stop offset="60%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-70">			<stop offset="70%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-80">			<stop offset="80%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-90">			<stop offset="90%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>	</defs>	<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"/></svg>			</span>			<span class="tasty-recipes-screen-reader">				3 Stars			</span>		</i>	</span>		<span class="tasty-recipes-rating" >		<i class="checked" data-rating="2">			<span class="tasty-recipes-rating-solid" data-tr-clip="0">				<svg xmlns="http://www.w3.org/2000/svg" viewbox="9 9 46 42" width="18" height="17">	<defs>		<linearGradient id="tasty-recipes-clip-10">			<stop offset="10%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-20">			<stop offset="20%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-30">			<stop offset="30%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-40">			<stop offset="40%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-50">			<stop offset="50%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-60">			<stop offset="60%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-70">			<stop offset="70%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-80">			<stop offset="80%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-90">			<stop offset="90%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>	</defs>	<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"/></svg>			</span>			<span class="tasty-recipes-screen-reader">				2 Stars			</span>		</i>	</span>		<span class="tasty-recipes-rating" >		<i class="checked" data-rating="1">			<span class="tasty-recipes-rating-solid" data-tr-clip="0">				<svg xmlns="http://www.w3.org/2000/svg" viewbox="9 9 46 42" width="18" height="17">	<defs>		<linearGradient id="tasty-recipes-clip-10">			<stop offset="10%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-20">			<stop offset="20%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-30">			<stop offset="30%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-40">			<stop offset="40%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-50">			<stop offset="50%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-60">			<stop offset="60%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-70">			<stop offset="70%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-80">			<stop offset="80%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-90">			<stop offset="90%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>	</defs>	<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"/></svg>			</span>			<span class="tasty-recipes-screen-reader">				1 Star			</span>		</i>	</span></span></p>
							<p><span data-tasty-recipes-customization="detail-label-color.color" class="rating-label">No reviews</span></p>
			</div>



	<div class="tasty-recipes-details" data-tasty-recipes-customization="body-color.color">
		<ul>
							<li class="author"><strong data-tasty-recipes-customization="detail-label-color.color" class="tasty-recipes-label">Author:</strong> <a data-tasty-recipes-customization="detail-value-color.color" class="tasty-recipes-author-name" href="https://joyoliver.com/about/">Kristen Massad</a></li>
							<li class="category"><strong data-tasty-recipes-customization="detail-label-color.color" class="tasty-recipes-label">Category:</strong> <span data-tasty-recipes-customization="detail-value-color.color" class="tasty-recipes-category">Cookies</span></li>
							<li class="cuisine"><strong data-tasty-recipes-customization="detail-label-color.color" class="tasty-recipes-label">Cuisine:</strong> <span data-tasty-recipes-customization="detail-value-color.color" class="tasty-recipes-cuisine">Dessert</span></li>
					</ul>
	</div>

	<div class="tasty-recipes-ingredients">
		<div class="tasty-recipes-ingredients-header">
			<div class="tasty-recipes-ingredients-clipboard-container">
				<h3 data-tasty-recipes-customization="h3-color.color h3-transform.text-transform">Ingredients</h3>
							</div>
			<div class="tasty-recipes-units-scale-container">
											</div>
		</div>
		<div class="tasty-recipes-ingredients-body" data-tasty-recipes-customization="body-color.color">
			<ul>
<li><span data-amount="1" data-unit="cup">1 Cups</span> Unsalted Butter</li>
<li><span data-amount="0.5" data-unit="cup">½ Cup</span> Light Brown Sugar</li>
<li><span data-amount="2" data-unit="tsp">2 tsp</span> Vanilla Extract</li>
<li><span data-amount="2" data-unit="cup">2 Cups</span> All Purpose Flour</li>
<li><span data-amount="1" data-unit="cup">1 Cup</span> Pecans, Chopped</li>
<li>Garnish:</li>
<li><span data-amount="1">1</span> Egg (egg wash)</li>
<li><span data-amount="1" data-unit="cup">1 Cup</span> Sugar Crystals</li>
</ul>
<!--INSIDE_INGREDIENTS-->		</div>
		<div class="tasty-recipes-cook-mode">
	<div class="tasty-recipes-cook-mode__container">
		<label class="tasty-recipes-cook-mode__switch">
			<input type="checkbox" id="tasty_recipes_6a0fd1fa3cf8a_cookmode">
			<span class="tasty-recipes-cook-mode__switch-slider tasty-recipes-cook-mode__switch-round"
				data-tasty-recipes-customization="button-color.background button-text-color.color"></span>
		</label>
		<label for="tasty_recipes_6a0fd1fa3cf8a_cookmode">
			<span class="tasty-recipes-cook-mode__label">Cook Mode</span>
			<span class="tasty-recipes-cook-mode__helper">
				Prevent your screen from going dark			</span>
		</label>
	</div>
</div>
	</div>

	<div class="tasty-recipe-instructions">
		<div class="tasty-recipes-instructions-header">
			<h3 data-tasty-recipes-customization="h3-color.color h3-transform.text-transform">Instructions</h3>
					</div>
		<div class="tasty-recipes-instructions-body" data-tasty-recipes-customization="body-color.color">
			<ol>
<li id="instruction-step-1">In a small saucepan, melt butter until it is a light golden color</li>
<li id="instruction-step-2">Allow the butter to cool completely</li>
<li id="instruction-step-3">In a mixing bowl with paddle attachment, mix together cooled brown butter, light brown sugar and vanilla extract</li>
<li id="instruction-step-4">Add in flour and pecans</li>
<li id="instruction-step-5">Mix until all ingredients are combined and have come together</li>
<li id="instruction-step-6">Remove the dough from the bowl and light knead it until it comes together into a ball</li>
<li id="instruction-step-7">Divide the dough in half and roll each half into a log</li>
<li id="instruction-step-8">Lightly egg wash the log and roll in sugar crystals to cover the outside</li>
<li id="instruction-step-9">Place the log on wax paper and roll up, pressing firm to create a package</li>
<li id="instruction-step-10">Twist the end of the wax paper to seal it shut</li>
<li id="instruction-step-11">Refrigerate the dough until ready to bake</li>
<li id="instruction-step-12">Baking Instructions:</li>
<li id="instruction-step-13">Preheat the oven to 350 degrees F</li>
<li id="instruction-step-14">Remove the dough from the refrigerator and slice the cookies into ¼ inch thick pieces</li>
<li id="instruction-step-15">Place the cookies onto a parchment lined baking sheet</li>
<li id="instruction-step-16">Bake for 8-10 minutes or until cookies is a light golden color</li>
<li id="instruction-step-17">*Egg Wash: Whisk one egg in a bowl and add a splash of water</li>
</ol>
		</div>
	</div>








<footer class="tasty-recipes-entry-footer">
	<h3 data-tasty-recipes-customization="footer-heading-color.color h3-transform.text-transform footer-heading.innerText">Did you make this recipe?</h3>
	<div data-tasty-recipes-customization="footer-description-color.color footer-description.innerHTML"><p>Tag <a href="https://www.instagram.com/joyandoliver" target="_blank" rel="noreferrer noopener">@joyandoliver</a> on Instagram</p>
</div>
</footer>



<script>
window.trCommon={"minRating":6,"ajaxurl":"https:\/\/joyoliver.com\/wp-admin\/admin-ajax.php","ratingNonce":"","postId":4305};
window.TastyRecipes = window.TastyRecipes || {};

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

failure( xhr );
};

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

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

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

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

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

if ( rating < this.minRating ) {
commentTextarea.setAttribute( 'required', '' );
return;
}

commentTextarea.removeAttribute( 'required' );
},
maybeSendRating( rating, element ) {
if ( this.savingRating === rating ) {
return;
}

this.savingRating = rating;
window.TastyRecipes.staticTooltip.init( element );

const recipeCardElement = element.closest( '.tasty-recipes' );
if ( ! recipeCardElement ) {
window.TastyRecipes.staticTooltip.destroy();
return;
}

window.TastyRecipes.ajax.sendPostRequest(
window.trCommon.ajaxurl,
{
action: 'tasty_recipes_save_rating',
rating,
nonce: window.trCommon.ratingNonce,
post_id: window.trCommon.postId,
recipe_id: recipeCardElement.dataset.trId,
},
( response ) => {
window.TastyRecipes.staticTooltip.changeMessage( response.data.message );
window.TastyRecipes.staticTooltip.show();
this.updateAverageText( response.data, recipeCardElement );
this.maybeFillCommentForm( response.data );

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

if ( ! data.count ) {
return;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(function(callback) {
if (document.readyState !== "loading") {
callback();
} else {
window.addEventListener( 'load', callback );
}
})(() => {
window.TastyRecipes.ratings.init( window.trCommon ? window.trCommon.minRating : 4 );
});
</script></div>
<p><strong>Cookie Gift Boxes</strong><a href="https://joyoliver.com/wp-content/uploads/2018/12/IMG_4246.jpg"><img decoding="async" data-pin-title="Slice and Bake Cookies" class="aligncenter size-large wp-image-4284" src="https://joyoliver.com/wp-content/uploads/2018/12/IMG_4246-682x1024.jpg" alt="" width="682" height="1024" srcset="https://joyoliver.com/wp-content/uploads/2018/12/IMG_4246-682x1024.jpg 682w, https://joyoliver.com/wp-content/uploads/2018/12/IMG_4246-410x615.jpg 410w, https://joyoliver.com/wp-content/uploads/2018/12/IMG_4246-768x1152.jpg 768w, https://joyoliver.com/wp-content/uploads/2018/12/IMG_4246.jpg 1333w" sizes="(max-width: 682px) 100vw, 682px" /></a></p>
<p>Throwing together several of your favorite cookies in a box seems simples, but the secret to making it special is the presentation.<span class="Apple-converted-space">  </span>There is no need to be a master baker for this, homemade, store bought or a combination of both cookies will make your box festive for the holidays. Head over to <a href="https://www.dosaygive.com">Do Say Give</a> for all the details on making these scrumptious Homemade Cookie Boxes!</p>
<p><a href="https://joyoliver.com/wp-content/uploads/2015/09/Ink-Foods-Signature-e1443546792792.jpg"><img decoding="async" data-pin-title="Slice and Bake Cookies" class="aligncenter size-full wp-image-2774" src="https://joyoliver.com/wp-content/uploads/2015/09/Ink-Foods-Signature-e1443546792792.jpg" alt="" width="201" height="66" /></a></p>
<div></div>
<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fjoyoliver.com%2Fsliceandbakecookies%2F&amp;linkname=Slice%20and%20Bake%20Cookies" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=https%3A%2F%2Fjoyoliver.com%2Fsliceandbakecookies%2F&amp;linkname=Slice%20and%20Bake%20Cookies" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_pinterest" href="https://www.addtoany.com/add_to/pinterest?linkurl=https%3A%2F%2Fjoyoliver.com%2Fsliceandbakecookies%2F&amp;linkname=Slice%20and%20Bake%20Cookies" title="Pinterest" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_tumblr" href="https://www.addtoany.com/add_to/tumblr?linkurl=https%3A%2F%2Fjoyoliver.com%2Fsliceandbakecookies%2F&amp;linkname=Slice%20and%20Bake%20Cookies" title="Tumblr" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_yummly" href="https://www.addtoany.com/add_to/yummly?linkurl=https%3A%2F%2Fjoyoliver.com%2Fsliceandbakecookies%2F&amp;linkname=Slice%20and%20Bake%20Cookies" title="Yummly" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fjoyoliver.com%2Fsliceandbakecookies%2F&#038;title=Slice%20and%20Bake%20Cookies" data-a2a-url="https://joyoliver.com/sliceandbakecookies/" data-a2a-title="Slice and Bake Cookies"></a></p>]]></content:encoded>
			<wfw:commentRss>https://joyoliver.com/sliceandbakecookies/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
