news

Saturday, March 5, 2022

Victoria Myers

Good morning lovely knitters!  We've made it to March!  Hallelujah!  I'm always SO happy to say goodbye to February!  It is the perfect day to pop in a grab something colorful while the underground is still working on popping some color out of the ground.  NEED COLOR!!!  I'm not alone, right?

Our NEW, March featured pattern is the delightful Crystal Axis Shawl!

This is so fun to knit!  The Noro will keep you entertained with its gorgeous colors and the Moonshine Fine will delight your little paws as you knit!  

Since Crystal Axis is our featured pattern this month, you'll get a bonus 25% off any pattern code in addition to the free code for the Crystal Axis!
If you want to score this pattern for 25% off, you can use code MARCHPOM and get it here: https://www.ravelry.com/patterns/library/crystal-axis

To that end - new Mad Balls this week!  

A NEW true blue Friv Kit - though I must confess, I think I'm going to have to throw one of these combos onto the loom.

The deadline to sign up for Save Our Sanity is just a few days away!  Don't delay!  Our kit for March was the gorgeous and super snuggly Winter's End Hat and Cowl!  I love this stitch pattern so much, it is possible there will be a sweater with it in a bit!

We've got some Starburst Shawl Kits still, though many are getting really low as I stare at my backorders every day, willing more Cumulus Rainbow to arrive!

And there are just a couple of spots left in our Flying Geese Sweater Club that starts 3/16!  Jeri just released the pattern to Ravelry, so if you want to make it, but can't make it to a class, you can get it here - and find the Silk Garden Sock that you need here!

Spring is the perfect time to start a charity project here at the shop, so stay tuned for a fun lap blanket/throw charity project for Boston Medical Center!  Want to get a head start?  Go for a stash dive (or a sale bin dive - new stuff in there) and throw a small blanket on the needles (30 - 45" wide)!  I'll have some more suggestions and some freebie patterns next week!

Island Yarn 
189 Main Street
Maynard, MA  01754
Hours: Wednesday to Saturday, 12-5

6 comments

  • Indeed Betty Ann! Crochet blankets are VERY welcome! Woven too for any of the weavers out there! Thanks!

    Island Yarn

  • That’s great Erin! I’m going to post a pattern for ease, but lots of options are great!! Thanks!

    Island Yarn

  • Count me in! Can someone crochet a blanket? Asking for a friend…

    Betty Ann

  • Can I suggest a fun blanket pattern? It’s free, “Sliding is Fun”.

    Erin MCDONALD

  • Oh, that’s great Susan! Thanks so much! Yes, I’ll be collecting and handing off to one of my awesome, lovely customers who is in touch with the surgeon who made the request. There will be a deadline – but as they are bigger projects than our hat drive – it will be a ways off – I just have to sit with my calendar for a few minutes to figure everything out! The patterns will be super easy – mindless tv knitting! There are loads on ravelry if anyone wants more of a challenge. Thanks again!!

    Island Yarn


  • 1
  • 2

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