news

Saturday, January 20, 2024

Victoria Myers

Good morning lovely knitters!  Yikes, is it cold!  Are you looking at your weather apps wished those slightly warmer temperatures would get here faster?  I am!  Though, it is a GREAT reason to wear ALL of your wooly delights!

Just a few EXCITING notes for this week!

The Forte Needles arrived yesterday!!  They are GORGEOUS!  I have a couple of sets left, so if you want one, make sure you grab one soon!  Most headed straight out of the door with pre-orders!  I'm trying really hard to not take one of these for myself,  but I just don't think my resolve is going to last!

We also released this GORGEOUS and snuggly Brioche Lite Sweater pattern and kit!  

 

This sweater is made with Noro Ito and Ella Rae Silky Kid and I just can't even describe the delight of these 2 drastically different yarns worked together - cozy and snuggly, but light!!  I love it!  As Brioche patterns go, it is on the easier end of the spectrum, but if you haven't done any Brioche before, maybe sign-up for Brioche Class or Sweater Club to make sure you're all set!  You can also make this sweater out of Kureyon, Viola or even Silk Garden!  Come in for even MORE options than the color choices on the listing!

Sweater Club starts TOMORROW!  If you haven't signed up, or gotten your supplies, make sure you do it today!

Bundle up and come on in!  We've got all of the warm!  :)

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