news

Saturday, November 4, 2023

Victoria Myers

Good morning lovely knitters!  And happy November!!  It looks like we have to remember to change our clocks tonight.  Boy, I thought this had gotten undone, but here we are - don't forget!  Especially if you are coming to classes tomorrow!

It is seriously late fall now (as if those super chilly temps didn't make you realize on your own!) and it is time to get serious about warmy knitting and gifts!  I was so grateful to have some nice wool socks and a cozy Winter's End sweater to wear the other day.

We are NOW SHIPPING our Advent Boxes!  Which also means, the inventory levels are what they are.  I'd love to tell you that this would be a fun thing to score on Small Business Saturday, but I'm not sure they'll last that long.  Make sure you grab yours before your chosen color is GONE!

Make sure you go cast your vote in this week's SHAWL SHOWDOWN on our recent podcast!  We'll have a new set this Monday, so this is your last chance to vote!

We have a NEW featured kit since it is November - our super popular and quick to knit Howl for Noro!  This month only, buy 3 of these kits and get the 4th one FREE!  (Add 4 to your cart and the discount will come off automatically.)  I can't even tell you how great this Howl is - I've been wearing mine for a few winter's now and it is STILL my go to when I need to grab a hat on week's like this!  And since it is such a perfect gift - the Howl for Noro is also getting our SEVEN weeks until Christmas shout out!

This is also your last call on participating in our Secret Snowflake/Santa on December 3rd during out holiday party!  If you want to participate, pop in today and fill out a tiny info sheet so that you can be paired up!  I know you want to - knitter's give the best gifts after all!  :)  We won't be able to sign anyone else up after tomorrow (Sunday, 12/5) so make sure you do it today!

The Assabet Coop is starting a Wednesday afternoon knitting group!  You can pop in and get a NEW project when we open on Wednesday and then head off for a nice knitting afternoon - the group starts at 2 - and if you're smart, you'll have a couple of yummy treats for me while you are there!  

I think that's it for today?!  Now that I'm done winding tiny Advent balls, I've got LOTS of knitting to catch up on and exciting new projects in the works!!  Stay tuned!

I hope to see you today!

Island Yarn 

189 Main Street
Maynard, MA  01754
Hours: Wednesday through Saturday, 12 - 5

 


Leave a Comment

Please note, comments must be approved before they are published

const selectVariantByClickingImage = { // Create variant images from productJson object _createVariantImage: function (product) { const variantImageObject = {}; product.variants.forEach((variant) => { if ( typeof variant.featured_image !== 'undefined' && variant.featured_image !== null ) { const variantImage = variant.featured_image.src .split('?')[0] .replace(/http(s)?:/, ''); variantImageObject[variantImage] = variantImageObject[variantImage] || {}; product.options.forEach((option, index) => { const optionValue = variant.options[index]; const optionKey = `option-${index}`; if ( typeof variantImageObject[variantImage][optionKey] === 'undefined' ) { variantImageObject[variantImage][optionKey] = optionValue; } else { const oldValue = variantImageObject[variantImage][optionKey]; if (oldValue !== null && oldValue !== optionValue) { variantImageObject[variantImage][optionKey] = null; } } }); } }); return variantImageObject; }, _updateVariant: function (event, id, product, variantImages) { const arrImage = event.target.src .split('?')[0] .replace(/http(s)?:/, '') .split('.'); const strExtention = arrImage.pop(); const strRemaining = arrImage.pop().replace(/_[a-zA-Z0-9@]+$/, ''); const strNewImage = `${arrImage.join('.')}.${strRemaining}.${strExtention}`; if (typeof variantImages[strNewImage] !== 'undefined') { product.variants.forEach((option, index) => { const optionValue = variantImages[strNewImage][`option-${index}`]; if (optionValue !== null && optionValue !== undefined) { const selects = document.querySelectorAll('#'+ id + ' [class*=single-option-selector]'); const options = selects[index].options; for (let option, n = 0; (option = options[n]); n += 1) { if (option.value === optionValue) { selects[index].selectedIndex = n; selects[index].dispatchEvent(new Event('change')); break; } } } }); } }, _selectVariant: function() { const productJson = document.querySelectorAll('[id^=ProductJson-'); if (productJson.length > 0) { productJson.forEach((product) => { const sectionId = product.id.replace("ProductJson-", "shopify-section-"); const thumbnails = document.querySelectorAll('#'+ sectionId + ' img[src*="/products/"]'); if (thumbnails.length > 1) { const productObject = JSON.parse(product.innerHTML); const variantImages = this._createVariantImage(productObject); // need to check variants > 1 if (productObject.variants.length > 1) { thumbnails.forEach((thumbnail) => { thumbnail.addEventListener('click', (e) => this._updateVariant(e, sectionId, productObject, variantImages), ); }); } } }); } }, }; if (document.readyState !== 'loading') { selectVariantByClickingImage._selectVariant(); } else { document.addEventListener( 'DOMContentLoaded', selectVariantByClickingImage._selectVariant(), ); }