news

Saturday, January 6, 2023

Victoria Myers

Good morning lovely knitters!  It looks winter has finally found us! Make sure you pop in and score a new project to make your snow day super cozy!  I always love the FIRST snow day.  It wears pretty thin after that, but the first one - so quiet and pretty and a great excuse to make some bread, tea and cozy up with some favorite yarn!

Maybe you didn't score your 12-Days cowl kit yet?  That would make a great one!  And you could probably speed through several charts before the snow ends!

Or maybe snow makes you mad - and that makes you need a MAD Ball?!

We also got some delicious new Alpaca Color!  This yarn is very similar to the scarf I've been wearing a lot.  So if you are one of those that has commiserated with me in store about it having been discontinued, you could now make this project with Alpaca Color!

Clinic is cancelled tomorrow.  And if you signed up for Thrummed Mitten Class - check your email today for the reschedule.  Don't worry - if the new time doesn't work for you, you can make up the class in a clinic time of your choice.  :)  If you haven't signed up for classes yet, make sure you check out the listings!

We also have to delay the restart of our podcast - poor little Aja also got sick this week, but she's nearly all better, so we are hoping to get back to it next week!  Not caught up?  Another great snow day activity!

We've got a lot of fun stuff in the works, but it seems like lots of people got sick over the holidays, so we're lying a little low this week and will be more exciting soon!  I hope to see you though, for snow day projects!!

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(), ); }