What Katie Ate: Recipes and Other Bits and Bobs (2024)

<% selected_variant.series_details.seriesTitle %>: Volume Number <%selected_variant.series_details.seriesSequenceNumber%>
<% selected_variant.series_details.seriesTitle %>: Volume Number <%selected_variant.series_details.seriesSequenceNumber%>

<%selected_variant.sub_title%>

On Sale: <% selected_variant.publish_date %>

What Katie Ate: Recipes and Other Bits and Bobs (2)

<% selected_variant.series_details.seriesTitle %>: Volume Number <%selected_variant.series_details.seriesSequenceNumber%>
<% selected_variant.series_details.seriesTitle %>: Volume Number <%selected_variant.series_details.seriesSequenceNumber%>

<%selected_variant.sub_title%>

On Sale: <% selected_variant.publish_date %>

Spend £25 and get FREE shipping on Harpercollins.co.uk

Qty:

This product is unavailable, please try our other retailers

about

Product Details

reviews

accessibility

sustainability

    <% awards.text %>

+ Read More

ISBN: <% selected_variant.sku %>
ISBN 10: <% selected_variant.isbn10 %>
Imprint: <% selected_variant.imprint %>
On Sale: <% selected_variant.publish_date %>

Trimsize: <% selected_variant.trim_size %>

Pages: <% selected_variant.pages %>

Age: <% selected_variant.age %>

Category <%index + 1%>: <%value.subject_text%>


    -

+ Read More

Links

    <% awards.text %>

ISBN: <% selected_variant.sku %>
ISBN 10: <% selected_variant.isbn10 %>
Imprint: <% selected_variant.imprint %>
On Sale: <% selected_variant.publish_date %>

Trimsize: <% selected_variant.trim_size %>

Pages: <% selected_variant.pages %>

Age: <% selected_variant.age %>

Category: <%value.subject_text%>

What Katie Ate: Recipes and Other Bits and Bobs

How our ebooks work

Ebooks purchased here are fulfilled by our partner, Glose.

Please note that:

  • Ebooks are available for purchase on publication day (pre-order is not available)
  • For all ebook purchases, you will be prompted to create an account or login with your existing HarperCollins username and password. This ensures accurate delivery of your items.
  • To access your ebook(s) after purchasing, you can download the free Glose app or read instantly on your browser by logging into Glose.com. To log in, select OTHER SIGN IN/LOGIN OPTIONS and then click SIGN IN/LOG IN WITH HARPERCOLLINS, using the same email address and password used for your HarperCollins.co.uk account.
  • Ebooks fulfilled through Glose cannot be printed, downloaded as PDF, or read in other digital readers (like Kindle or Nook).
  • For more information about ebooks purchased on HarperCollins.co.uk, please see the following resources:

<% item.watch %>

`; this_variant['catalogPromo'] =[]; this_variant['sociallinks'] = null; this_variant['breadcrumbs'] = []; this_variant['messaging'] =[{"shippinginfotype":"domestic"}];self.selected_variant = self.product.variants.find(function(v){ return v.id == '32555703894094'}); if (window.location.href.indexOf("variant=") > 0 && self.hasAwin == 'true' || window.location.href.indexOf("variant=") > 0 && self.hasVrb =='true' || window.location.href.indexOf("variant=") > 0 && self.hasVr =='true' || window.location.href.indexOf("variant=") > 0 && self.hasVb =='true' ){ self.varSelectID = '32555703894094';// variable to hold it for change }else if(window.location.href.indexOf("variant=") > 0){ self.varSelectID = '32555703894094'; // variable to hold it for change } else{ self.varSelectID = '32555703894094'; } axios.get('/cart.json') .then(function(response){ self.currentCart = response.data; self.changeVariant(); self.loading = false; }) .catch(function(e) { console.error(e); setTimeout(function(){ self.changeVariant(); self.loading = false; }, 700); }); }) .catch(function(e){ console.error(e); }); var ebookNames = ['E-book', 'eBook', 'ebook', 'Ebook', 'e-book', 'e-Book', 'eBook bundle', 'ebook Bundle', 'eBook Bundle', 'ebook bundle'] var currentUrl = window.location.href; if(currentUrl.includes('source=AWIN')){ //------------------------------ IF AWIN console.log(currentUrl) if(self.variantCount < 1){ }else{ $("#variant_id option").each(function(){ var varType = $(this).text(); if(ebookNames.includes(varType)){ $(this).remove(); } }); $(".retail-links").remove(); $(".modalButtonContain").remove(); $.ajax({ type: "POST", url:'/cart.js', data: {"attributes[awin]": 'true', "attributes[vrb]": 'false', "attributes[vr]": 'false', "attributes[vb]": 'false', "attributes[variantCount]": self.variantCount }, success: function(d){}, dataType: 'json' }); } } if(currentUrl.includes('source=vrb')){ //------------------------------ IF VRB if(self.variantCount < 1){ }else{ $("#variant_id option").each(function(){ var varType = $(this).text(); if(ebookNames.includes(varType)){ $(this).remove(); } }); $(".retail-links").remove(); $(".modalButtonContain").remove(); $.ajax({ type: "POST", url:'/cart.js', data: {"attributes[vrb]": 'true', "attributes[awin]": 'false', "attributes[vr]": 'false', "attributes[vb]": 'false', "attributes[variantCount]": self.variantCount }, success: function(d){}, dataType: 'json' }); } } if(currentUrl.includes('source=vr')){ //----------------------------- IF VR if(self.variantCount < 1){ }else{ $("#variant_id option").each(function(){ var varType = $(this).text(); if(ebookNames.includes(varType)){ $(this).remove(); } }); $(".retail-links").remove(); $(".modalButtonContain").remove(); $.ajax({ type: "POST", url:'/cart.js', data: {"attributes[vr]": 'true', "attributes[awin]": 'false', "attributes[vrb]": 'false', "attributes[vb]": 'false', "attributes[variantCount]": self.variantCount }, success: function(d){}, dataType: 'json' }); } } if(currentUrl.includes('source=vb')){// ----------------------------- IF VB if(self.variantCount < 1){ }else{ $("#variant_id option").each(function(){ var varType = $(this).text(); if(ebookNames.includes(varType)){ $(this).remove(); } }); $(".retail-links").remove(); $(".modalButtonContain").remove(); $.ajax({ type: "POST", url:'/cart.js', data: {"attributes[vb]": 'true', "attributes[vrb]": 'false', "attributes[vr]": 'false', "attributes[awin]": 'false', "attributes[variantCount]": self.variantCount }, success: function(d){}, dataType: 'json' }); } } addReadMoreListeners(); $('.aerio_preview svg').hide(); //get product Assets const images = document.querySelector('#selected-img-container').querySelectorAll('img'); let loadedImages = 0; images.forEach((image) => { image.addEventListener('load', () => { loadedImages += 1; if (loadedImages === images.length) { this.isImagesLoaded = true; } }); // If the image is already cached and the load event has already fired if (image.complete) { loadedImages += 1; } }); if (loadedImages === images.length) { this.isImagesLoaded = true; } }, computed:{ formatOptions: function(){ if(this.product.options){ var format_option = this.product.options.find(function(o){ return o.name == 'Format'}); if(format_option){ return format_option.values } } return []; }, currentPrice: function(){ // gets price var self = this; var changePrice = self.selected_variant.price * self.quantity; return changePrice; }, compareAtPrice: function(){ // gets compare_at var self = this; var compareAtPrice = self.selected_variant.compare_at_price * self.quantity; return compareAtPrice; }, parseAuthor: function(){ var roles = []; var roles_and_names = ''; if (this.selected_variant.contributors){ console.log(this.selected_variant.contributors) let contributors = this.selected_variant.contributors; for( var i = 0; i < contributors.length; i++ ){ if( !roles.includes(contributors[i].roleDescription)){ roles.push(contributors[i].roleDescription); } } for( var j=0; j < roles.length; j++){ roles_and_names += roles[j].replace("By (author)", "By") + ' ' + contributors .filter(function(c){ return c.roleDescription == roles[j] }) .map(function(c){ let contributorsUrl = "/blogs/authors/" + c.contributorKey; return ' ' + c.personName + '' }) .join(',')+ ', '; } this.authorOutputForDataLayer = roles_and_names.replace(/<[^>]*>/g, ''); return roles_and_names; } }, isDigital: function(){ if(this.selected_variant.requires_shipping == false){ return true; } return false; }, daysUntilPublished: function(){ var now = moment(); var publishDate = moment(this.selected_variant.publish_date_raw); return moment.duration(publishDate.diff(now)).asDays(); }, preorderDate: function(){ var publishDate = moment(this.selected_variant.publish_date_raw); return publishDate.subtract(90, 'days').format("D MMMM, YYYY"); }, showAddToCart: function(){ var showCartObj = this.selected_variant.showAddToCart; var available = this.selected_variant.available; if(showCartObj != null && showCartObj.show_shopify_buy == false){ return false; } if(!this.isDigital && this.daysUntilPublished > 0 && this.daysUntilPublished <= 90){ return true; } if(available == 'true'){ return true; }else{ return false; } }, sortedcatalogPromoLinks: function() { if ( this.selected_variant.catalogPromo ){ var newTypeOfLink = this.selected_variant.catalogPromo.find(function(o){return typeof o.position != 'undefined' }); if(newTypeOfLink != undefined){ //use new compare var returnedLinks = this.selected_variant.catalogPromo.filter(function(o){return o.position != null && o.position != 'null' }); function compareNew(a, b) { if (a.position < b.position) return -1; if (a.position > b.position) return 1; return 0; } return returnedLinks.sort(compareNew); } } }, sortedRetailLinks: function() { if ( this.selected_variant.other_retailers ){ var newTypeOfLink = this.selected_variant.other_retailers.find(function(o){return typeof o.pdpposition != 'undefined' }); if(newTypeOfLink != undefined){ //use new compare var returnedLinks = this.selected_variant.other_retailers.filter(function(o){return o.pdpposition != null && o.pdpposition != 'null' }); function compareNew(a, b) { if (a.pdpposition < b.pdpposition) return -1; if (a.pdpposition > b.pdpposition) return 1; return 0; } return returnedLinks.sort(compareNew); }else{ var returnedLinks = this.selected_variant.other_retailers.filter(function(o){return o.position != null && o.position != 'null' }); function compare(a, b) { if (a.position < b.position) return -1; if (a.position > b.position) return 1; return 0; } return returnedLinks.sort(compare).slice(0, 5); } } }, alphabetSort: function(){ if (this.selected_variant.other_retailers){ var newTypeOfLink = this.selected_variant.other_retailers.find(function(o){return typeof o.otherposition != 'undefined' }); if(newTypeOfLink != undefined){ //use new compare var returnedLinks = this.selected_variant.other_retailers.filter(function(o){return o.pdpposition == null || o.pdpposition == 'null' }); function compare2New(a, b) { if (a.otherposition < b.otherposition) return -1; if (a.otherposition > b.otherposition) return 1; return 0; } return returnedLinks.sort(compare2New); }else{ function compare2(c,d){ if (c.ads_retailer_name < d.ads_retailer_name){ return -1; } if (c.ads_retailer_name > d.ads_retailer_name){ return 1; } return 0; } return this.selected_variant.other_retailers.slice(0).sort(compare2); } } }, videoLinks: function(){ var contentObj = this.selected_variant.associated_content; for(i = 0; i < contentObj.length; i++){ if(contentObj[i].type == "video:youtube"){ if(contentObj[i].link.includes("youtu.be")){ var vidLink = contentObj[i].link.replace("youtu.be", "youtube.com/embed"); } else{ var vidLink = contentObj[i].link; } } } return vidLink; }, showQuantitySelectorAndHeart: function(){ if(!this.isDigital && this.daysUntilPublished > 90){ return false; } else if (!this.isDigital && this.daysUntilPublished > 0 && this.daysUntilPublished <= 90){ return true; } else if (this.isDigital && this.daysUntilPublished >= 0){ return false; } else if (this.selected_variant.available == 'true'){ return true; } else { return false; } }, goodreadsSelectedISBN: function(){ var self = this; var selectedOption1 = self.selected_variant.option1 ? self.selected_variant.option1.toLowerCase().replace('-', '') : ''; var selectedOption2 = self.selected_variant.option2 ? self.selected_variant.option2.toLowerCase().replace('-', '') : ''; var selectedOption3 = self.selected_variant.option3 ? self.selected_variant.option3.toLowerCase().replace('-', '') : ''; if(self.selected_variant.sku && selectedOption1.indexOf('ebook') == -1 && selectedOption2.indexOf('ebook') == -1 && selectedOption3.indexOf('ebook') == -1 && selectedOption1.indexOf('audiobook') == -1 && selectedOption2.indexOf('audiobook') == -1 && selectedOption3.indexOf('audiobook') == -1){ return self.selected_variant.sku; } else { var nonEbookVariant = self.product.variants == undefined ? undefined : self.product.variants.find(function(v){ var option1 = v.option1 == null ? '': v.option1.toLowerCase().replace('-', ''); var option2 = v.option2 == null ? '': v.option2.toLowerCase().replace('-', ''); var option3 = v.option3 == null ? '': v.option3.toLowerCase().replace('-', ''); return option1.indexOf('ebook') == -1 && option2.indexOf('ebook') == -1 && option3.indexOf('ebook') == -1 && option1.indexOf('audiobook') == -1 && option2.indexOf('audiobook') == -1 && option3.indexOf('audiobook') == -1; }); return nonEbookVariant == undefined ? null : nonEbookVariant.sku; } }, descriptionHTML: function(){ if(this.selected_variant.variant_description_html != undefined){ function htmlDecode(input){ var e = document.createElement('textarea'); e.innerHTML = input; // handle case of empty input return e.childNodes.length === 0 ? "" : e.childNodes[0].nodeValue; } var desHtml = htmlDecode(this.selected_variant.variant_description_html); return desHtml; } }, displayBreadcrumbs: function(){ if(this.selected_variant.breadcrumbs){ let crumbArray = this.selected_variant.breadcrumbs let breadcrumb = `Home >` let display = crumbArray.map((crumb, index) => { if(index === crumbArray.length - 1 ){ breadcrumb += ` ${crumb.text} > What Katie Ate: Recipes and Other Bits and Bobs` }else{ breadcrumb += ` ${crumb.text} >` } }) if(crumbArray.length > 0){ return breadcrumb }else{ return false } } }, isEbook: function(){ var title = this.selected_variant.title; if(this.ebookFormats.includes(title)){ return true }else{ return false } } }, methods:{ containsKey(arr) { console.log(arr) if(arr != undefined){ for(i=0; i < arr.length; i++){ if(arr[i].type == "document:pdf" || arr[i].type == "document:url"){ return true } } } }, showDescription: function(){ if (this.selected_variant.variant_description_html != 'undefined'){ if(this.selected_variant.variant_description_html.length > 2){ return this.showDescriptionBool = false; }else{ return this.showDescriptionBool = true; } } }, image_select: function(url){ this.selected_variant.featured_image = url; }, change: function(qty){ if(qty > 0){ this.quantity = parseInt(qty); } }, addToCart: function(){ //add to cart function var self = this; axios.post('/cart/add.js', { id: self.varSelectID, quantity: self.quantity, properties: { '_sales_rights': self.selected_variant.sales_rights } }) .then(function (response) { console.log(response); window.location.href = '/cart'; }) .catch(function (error) { console.log(error); alert('Sorry we could not add your item to the cart, please try again.'); }); }, changeVariant: function(){ //function to check each variant on change to get info var self = this; for(i=0; i < this.product.variants.length; i++){ if(this.product.variants[i].id == this.varSelectID){ this.selected_variant = this.product.variants[i]; this.selectedIndex = i; } } this.quantity = 1; //sets quantity to one on change this.checkInCart(); this.checkDisable(); this.checkDisableQty(); //adds variant id to url on change var urlParams = new URLSearchParams(window.location.search); urlParams.set('variant', self.selected_variant.id); window.history.replaceState({ variantId: self.selected_variant.id }, '', '?' + urlParams.toString() ); setTimeout(function(){ $('.aerio_preview a').attr('target', '_blank'); if( $( ".aerio_preview a").length > 0){ $('.aerio_preview svg').show(); } }, 700); if(this.selected_variant.variant_description_html != 'undefined'){ this.showDescription(); } var vrnt = this.selected_variant var saleTags = document.querySelectorAll(".hc-sale-tag"); if (vrnt.available && vrnt.compare_at_price && vrnt.compare_at_price > vrnt.price) { var discount = (vrnt.compare_at_price - vrnt.price) * 100 / vrnt.compare_at_price; if (discount != undefined){ for (var i = 0; i

'] });
What Katie Ate: Recipes and Other Bits and Bobs (2024)
Top Articles
Latest Posts
Article information

Author: Carlyn Walter

Last Updated:

Views: 5411

Rating: 5 / 5 (50 voted)

Reviews: 89% of readers found this page helpful

Author information

Name: Carlyn Walter

Birthday: 1996-01-03

Address: Suite 452 40815 Denyse Extensions, Sengermouth, OR 42374

Phone: +8501809515404

Job: Manufacturing Technician

Hobby: Table tennis, Archery, Vacation, Metal detecting, Yo-yoing, Crocheting, Creative writing

Introduction: My name is Carlyn Walter, I am a lively, glamorous, healthy, clean, powerful, calm, combative person who loves writing and wants to share my knowledge and understanding with you.