news

Saturday, April 23, 2022

Victoria Myers

Good morning lovely knitters!  I tell yuh - you skip ONE week, and then there is SO much to talk about!  Yikes - I hope you can all hang on for all of this - it is all awesome!

This week - THREE patterns/kits came to be!  The first greeted the arrival of DELICICOUS NEW Cumulus Degrade!  This yarn!  Yum - all the amazingness you have come to know and love about Cumulus in gently gradient skeins.  They are a perfect way to add some depth to your knitting without any jarring changes!

 

And that meant Stollen Clouds was ready to shine!  

Stollen Clouds is a rework of our delightful Stollen Shawlen, but with a wavy, summery vibe!  You can find kits here (or of course, pop into the shop and build your own)!

Next - SOS boxes went out and that meant, FINALLY, I was able to release the gorgeous Dragon Scales cowl that many of you saw at last year's yarn crawl.  I mean, I could tell you how fun and awesome Dragon Scales patterns are - but I think you already know!  And if you don't - see all the Dragon Scales projects here!  And if you don't want to miss the next SOS box - head here to sign up!

And THEN Shawl Lovers boxes went out and we got to snuggle up in Fanfare!!  This is a shawl that will just delight your finger tips as you knit - the different textures combined with the different yarns is a total treat!  If you don't want to miss the June Shawl Lovers box, head here to sign up!

Phew - now you guys know why there weren't new Mad Balls this week!  I could probably go on and on and on about these 3 patterns, but there's still more stuff, so I'm going to try to just move on!

3 classes are starting soon - and will be the last chance for classes until late summer/early fall. 

Turtle Surprise starts tomorrow!  Get your market bags ready for the farmer's markets to open!

The Dragon Scales Bag is SO insanely fun - and a great way to have a nice first successful felting adventure!

And Socks on Magic Loop is almost a MUST as you settle into summer knitting when you want some smaller projects to tote around on your travels!

And lastly - I'm hoping to set up a small test knitter group for some sweaters that will be released in the fall.  Right now - I think I can only do local folks so that we can meet once in a while if there are any questions.  If you are interest, pop in or email me and I can show you a couple of the sweaters and discuss the details!

Ok - my fingers are done typing - they need to knit now!

I hope to see you all soon!

Island Yarn 
189 Main Street
Maynard, MA  01754
Hours: Wednesday 12 - 5, Thursday 12 - 8, Friday and 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(), ); }