There was a problem initializing the feedlist plugin. Make sure the file feedlist.php is directly under your wp-content/plugins directory and not a subdirectory.
args = $args; $this->id = md5(uniqid(rand(), true)); } function GetID(){ $this->Debug($this->id); } /* core methods */ // called automagically if you use an inline filter (inside a post/page). function FeedListFilter(){ return $this->BuildFeedOutput(); } // call this if you want to process one feed function FeedListFeed(){ echo $this->BuildFeedOutput(); } // call this if you want to process a feed file function FeedListFile(){ $this->args = $this->GetArgumentArray(); $this->output = ''; // Seed the random number generator: srand((double)microtime()*1000000); $feed = Array(); $feedInfo = $this->LoadFile($this->args['file']); if(count($feedInfo)){ // we have some feeds // Randomize the array: shuffle($feedInfo); // Make sure we are set to show something: ($this->args['feedsToShow'] < 1) ? 1 : $this->args['feedsToShow']; ($this->args['feedsToShow'] > sizeof($feedInfo)) ? sizeof($feedInfo) : $this->args['feedsToShow']; // we will fetch each feed, then coallate items for($i=0;$i<$this->args['feedsToShow'];$i++){ $thisFeed = $feedInfo[$i]; $urlAndTitle = preg_split("/~/", $thisFeed); $feedUrl = trim($urlAndTitle[0]); $feedTitle = trim($urlAndTitle[1]); $this->rs = $this->GetFeed($feedUrl); if($this->rs){ $this->items = $this->rs->items; if($this->args['random']){ shuffle($this->items); } // Slice off the number of items that we want: if ($this->args['num_items'] > 0) { $this->items = array_slice($this->items, 0, $this->args['num_items']); } if(!$this->args['mergeFeeds']){ $this->output.= '
'.$feedTitle.'
'; if($this->args['show_date']){ $this->output .= '
updated: '. $this->NormalizeDate($this->rs) . '
'; // fl_tz_convert($this->rs->last_modified,0,Date('I')).''; } $this->output.=$this->Draw($this->items,$this->args); } else { $feed = array_merge($feed,$this->items); } } } $this->output .= ''; } else { $this->output = $this->args['before'] . 'No Items Were Found In the Provided Feeds. Perhaps there is a communication problem.' . $this->args['after']; } // coallate feed items echo $this->output; } /* end core methods */ /* basic settings - you can edit these */ function GetSettings(){ /* CONFIGURATION SETTINGS ---------------------- cacheTimeout how long should your cache file live in seconds? By default it is 21600 or 6 hours. most sites prefer you use caching so please make sure you do! connectionTimeout how long should I try to connect the feed provider before I give up, default is 15 seconds showRssLinkListJS TRUE by default and will include a small block of JS in your header. If it is false the JS will not be included. If you want the $new_window = 'true' option to use the JS then this must also be true. Otherwise both true and simple will hardcode the target="_blank" into the new window links */ // DEFINE THE SETTINGS -- EDIT AS YOU NEED: $feedListDebug = false; // To debug this script during programming (true/false). $cacheTimeout = 21600; // 21600 sec is 6 hours. $connectionTimeout = 15; // 15 seconds is default $showRSSLinkListJS = true; $Language = 'en_US'; // Choose your language (from the available languages below,in the translations): $Translations = array(); // Please send in your suggestions/translations: // English: $Translations['en_US'] = array(); $Translations['en_US']['ReadMore'] = 'Read more...'; // Dutch: $Translations['nl_NL'] = array(); $Translations['nl_NL']['ReadMore'] = '[lees verder]'; // French: $Translations['fr_FR'] = array(); $Translations['fr_FR']['ReadMore'] = 'Lisez davantage'; $feedListFile = '/feeds.txt'; // IF you are going to use the random feedlist generator make sure this holds the correct name for your feed file: // Build an array out of the settings and send them back: $settings = array ( 'feedListDebug' => $feedListDebug, 'cacheTimeout' => $cacheTimeout, 'connectionTimeout' => $connectionTimeout, 'showRSSLinkListJS' => $showRSSLinkListJS, 'language' => $Language, 'translations' => $Translations, 'feedListFile' => $feedListFile ); return $settings; } function GetDefaults(){ $settings = $this->GetSettings(); return array( 'rss_feed_url' => 'http://del.icio.us/rss', 'num_items' => 15, 'show_description' => true, 'random' => false, 'before' => '
  • ', 'after' => '
  • ', 'description_separator' => ' - ', 'encoding' => false, 'sort' => 'none', 'new_window' => false, 'ignore_cache' => false, 'suppress_link' => false, 'show_date' => false, 'additional_fields' => '', 'max_characters' => 0, 'max_char_wordbreak' => true, 'file'=>$settings['file'], 'feedsToShow'=>0, 'mergeFeeds'=>false, 'show_date_per_item' => false, 'show_description_only' => false ); } /* end basic settings */ function BuildFeedOutput(){ $this->args = $this->GetArgumentArray(); $this->rs = $this->GetFeed($this->args['rss_feed_url']); $this->output = ''; if($this->rs){ $this->items = $this->rs->items; if($this->args['random']){ shuffle($this->items); } // Slice off the number of items that we want: if ($this->args['num_items'] > 0) { $this->items = array_slice($this->items, 0, $this->args['num_items']); } $this->output = $this->Draw(); } return $this->output; } function Draw(){ $settings = $this->GetSettings(); $this->items = $this->NormalizeDates($this->items); $this->items = $this->SortItems($this->items,$this->args['sort']); // Explicitly set this because $new_window could be "simple": $target = ''; if($this->args["new_window"] == true && $settings["showRSSLinkListJS"]) { $target=' rel="external" '; } elseif ($this->args["new_window"] == true || $settings["new_window"] == 'simple') { $target=' target="_blank" '; } $this->output =''; foreach($this->items as $item){ $thisLink = ''; $linkTitle = ''; $thisDescription = ''; $thisTitle = $item['title']; $thisItemDate = ''; if($this->args['show_description_only']){ $this->args['show_description'] = true; } if ($this->args['encoding']){ // very poor and limited internationalization effort $thisTitle = htmlentities(utf8_decode($thisTitle)); } if (isset($item['content']['encoded']) || isset($item['description'])){ if (isset($item['description'])){ $thisDescription = $item['description']; } else{ $thisDescription = $item['content']['encoded']; } // Handle max_characters and max_char_wordbreak before the htmlentities makes it more complicated: if (!empty($this->args['max_characters']) && is_numeric($this->args['max_characters'])) { $thisDescription = substr($thisDescription, 0, $this->args['max_characters']); // If true, we cut on the last space: if (!empty($this->args['max_char_wordbreak'])) { $max_char_pos = strrpos($thisDescription, ' '); if ($max_char_pos > 0) { $thisDescription = substr($thisDescription, 0, $max_char_pos); } } } else if ($encoding) { //further really weak attempt at internationalization $thisDescription = htmlentities(utf8_decode($thisDescription)); } $linkTitle = $thisDescription; $linkTitle = strip_tags($linkTitle); $linkTitle = str_replace(array("\n", "\t", '"'), array('', '', "'"), $linkTitle); $linkTitle = substr($linkTitle, 0, 300); // if we are only showing the description we don't need the separator.. if (strlen(trim($thisDescription)) && !$this->args['show_description_only']) { $thisDescription = $this->args['description_separator'].$thisDescription; } } // Only build the hyperlink if a link is provided..and we are not told to suppress the link: if (!$this->args['suppress_link'] && strlen(trim($item['link'])) && strlen(trim($thisTitle)) && !$this->args['show_description_only']){ $thisLink = ''.$thisTitle.''; } elseif (strlen(trim($item['link'])) && $this->args['show_description']) { // If we don't have a title but we do have a description we want to show.. link the description $thisLink = ''.$thisDescription.''; $thisDescription = ''; } else { $thisLink = '' . $thisTitle . ''; } if($this->args['show_date_per_item']){ $thisItemDate = '
    ' . $item['feeddate'] . '
    '; } // Determine if any extra data should be shown: $extraData = ''; if (strlen($this->args['additional_fields'])){ // Magpie converts all key names to lowercase so we do too: $this->args['additional_fields'] = strtolower($this->args['additional_fields']); // Get each additional field: $addFields = explode('~', $this->args['additional_fields']); foreach ($addFields as $addField) { // Determine if the field was a nested field: $fieldDef = explode('.', $addField); $thisNode = $item; foreach($fieldDef as $fieldName) { // Check to see if the fieldName has a COLON in it, if so then we are referencing an array: $thisField = explode(':', $fieldName); $fieldName = $thisField[0]; $thisNode = $thisNode[$fieldName]; if (count($thisField) == 2) { $fieldName = $thisField[1]; $thisNode = $thisNode[$fieldName]; } } if (is_string($thisNode) && isset($thisNode)) { $extraData .= '
    ' . $thisNode . '
    '; } } } if($this->args['show_description_only']){ $this->output .= $this->args['before'].$thisLink.$thisItemDate.$extraData; } else if ($this->args['show_description']){ $this->output .= $this->args['before'].$thisLink.$thisItemDate.$thisDescription.$extraData; }else{ $this->output .= $this->args['before'].$thisLink.$thisItemDate.$extraData; } if (is_numeric($this->args['max_characters']) && $this->args['max_characters'] > 0) { $this->output .= ''; } $this->output .= $this->args['after']; } return $this->output; } function ArrayPush(&$arr) { $args = func_get_args(); foreach ($args as $arg) { if (is_array($arg)) { foreach ($arg as $key => $value) { $arr[$key] = $value; $ret++; } }else{ $arr[$arg] = ""; } } return $ret; } /* utility functions */ function NormalizeDates(){ $newItems = array(); foreach($this->items as $item){ $this->ArrayPush($item,array("feeddate"=>$this->NormalizeDate($item))); array_push($newItems,$item); } return $newItems; } function NormalizeDate($item){ $d=""; if(array_key_exists('pubdate',$item)) { $d = date($this->dateFormat,strtotime($item['pubdate'])); } else if (array_key_exists('published',$item)) { $d = date($this->dateFormat,strtotime($item['published'])); } else if (array_key_exists('dc',$item) && array_key_exists('date',$item['dc'])) { $d = date($this->dateFormat,strtotime($item['dc']['date'])); } else if (array_key_exists('last_modified',$item)) { $d = $this->TimezoneConvert($item['last_modified'],0,Date('I')); } else { $d = date($this->dateFormat); } return $d; } function TimezoneConvert($datetime,$tz_from,$tz_to,$format='d M Y h:ia T'){ return date($format,strtotime($datetime)+(3600*($tz_to - $tz_from))); } function MakeNumericOnly($val){ return ereg_replace( '[^0-9]+', '', $val); } function GetMonthNum($month){ $months = array('jan'=>'01','feb'=>'02','mar'=>'03','apr'=>'04','may'=>'05','jun'=>'06','jul'=>'07','aug'=>'08','sep'=>'09','oct'=>'10','nov'=>'11','dec'=>'12'); $month = strtolower($month); return $months[$month]; } function SortItems(){ $sort = strtolower($this->args['sort']); $sort = explode(" ",$sort); if((count($sort) ==1 || $sort[0] == 'asc') && $sort[0] != 'none'){ $sort[1] = SORT_ASC; } elseif ($sort[1] == 'desc') { $sort[1] = SORT_DESC; } else { $sort[1] = ''; } if($sort[0] == 'feeddate'){ $sort[2] = SORT_NUMERIC; } else { $sort[2] = SORT_STRING; } if (($sort[1]!='') && count($this->items)) { // Order by sortCol: foreach($this->items as $item) { $sortBy[] = $item[$sort[0]]; } // Make titles lowercase (otherwise capitals will come before lowercase): $sortByLower = array_map('strtolower', $sortBy); array_multisort($sortByLower, $sort[1], $sort[2], $this->items); } return $this->items; } function LoadFile($file){ /* load the $feedListFile contents into an array, using the --NEXT-- text as a delimeter between feeds and a tilde (~) between URL and TITLE */ $x = file($file); return preg_split("/--NEXT--/", join('', file($file))); } function GetArgumentArray(){ $this->args = $this->AssignDefaults(); $a = array(); foreach($this->args as $d=>$v){ if($this->args[$d] === 'true') { $a[$d] = 1; }else if($this->args[$d] === 'false'){ $a[$d] = 0; }else{ $a[$d] = $v; } $a[$d] = html_entity_decode($a[$d]); } return $a; } function AssignDefaults(){ $defaults = $this->GetDefaults(); $a = array(); $i=0; foreach ($defaults as $d => $v) { $a[$d] = isset($this->args[$d]) ? $this->args[$d] : $v; $a[$d] = isset($this->args[$i]) ? $this->args[$i] : $a[$d]; $i++; } return $a; } function GetFeed($feedUrl){ $this->feed = false; if(function_exists('fetch_rss')){ $this->feed = fetch_rss($feedUrl); } return $this->feed; } function InitializeReader($ignore_cache){ $settings = $this->GetSettings(); if ($ignore_cache) { if (is_numeric($ignore_cache)) { define('MAGPIE_CACHE_AGE', $ignore_cache); } else { define('MAGPIE_CACHE_ON', false); } } else { define('MAGPIE_CACHE_AGE', $settings["cacheTimeout"]); } define('MAGPIE_DEBUG', false); define('MAGPIE_FETCH_TIME_OUT', $settings["connectionTimeout"]); } function Debug($val,$name=''){ if(strlen($name)){ print('

    '.$name.'

    '); } print('
    ');
    				print_r($val);
    				print('
    '); } /* end utility functions */ } function rssLinkListFilter($text) { return preg_replace_callback("//", "feedListFilter", $text); } /* Templates can call any of these functions */ function rssLinkList($args){ if(!is_array($args)){ $args = func_get_args(); } return feedList($args); } function feedList($args){ if(!is_array($args)){ $args = func_get_args(); } $feed = new FeedList($args); return $feed->FeedListFeed(); } function randomFeedList($args){ if(!is_array($args)){ $this->args = parse_str($args,$a); $this->args = $a; } $feed = new FeedList($args); return $feed->FeedListFile(); } function feedListFilter($args){ $args = explode(",",$args[1]); if(count($args) == 1 && !strpos($args[0],":=")){ $a = array(); $a["rss_feed_url"] = $args[0]; $args = $a; } else { $a = array(); foreach($args as $arg){ $arg = explode(":=",$arg); $a[$arg[0]] = $arg[1]; } $args = $a; } $feed = new FeedList($args); return $feed->FeedListFilter(); } /* end template functions */ if (function_exists('add_filter')) { add_filter('the_content', 'rssLinkListFilter'); } if(function_exists('FeedListInitError')){ add_action('admin_head','FeedListInitError'); } if(function_exists('add_action')) { function rssLinkList_JS(){ $jsstring = ' '; echo $jsstring; } $jsFeed = new FeedList(''); $settings = $jsFeed->GetSettings(); if($settings["showRSSLinkListJS"]){ add_action('wp_head', 'rssLinkList_JS'); } } ?> Free Patterns-- Heart To Hand: Quilt Talk with Wendy

    ONE MILLION PILLOWCASE CHALLENGE

    January 21st, 2010

    Pillowcase Challenge Logo

    American Patchwork & Quilting® magazine is challenging quilters, crafters and sewers across the country to Make a Pillowcase, Make a Difference. Local quilting enthusiasts will join the cause to help reach the goal of making and donating one million pillowcases to benefit local charities. Every pillowcase can make a difference in our community. A pillowcase can provide comfort for a cancer patient, hope for a foster child, encouragement for a battered woman, or beauty for a nursing home resident.

    Heart To Hand, will be hosting events locally at 412 Beavercreek Road, Suite 607, Oregon City, OR 97045 (located in the Red Soils Business Park). We are also hosting opportunities on our web site.

    Throughout 2010, quilters, crafters and sewers across the nation will make pillowcases at their local quilt shops. The shops will then collect the pillowcases and donate them to a local charity of their choice. A counter will track nationwide progress toward the goal of one million pillowcases.

    As the owner of Heart To Hand I see the One Million Pillowcase Challenge as a way to give back to the local community. “We have worked locally with the Passages Quilt Program and Emanuel Children Hospital, Oregon Food Bank as well as making over 50 quilts that were auctioned off for Breast Cancer awareness. I am glad to be able to help our customers serve the community in yet another way. Pillowcase Challenge

    We will be hosting pillowcase events locally and on-line. How you can participate:
    1. Donate 100% Cotton Fabric in 1 yard increments to the shop to be made into pillowcases.
    2. Make pillowcases at home and get them to the shop.
    3. Join the Pillowcase Parties! in January and February (Click link to see dates and times)
    4. Order Pillowcase kits with the pattern from Heart To Hand. These are sale priced at $6.99. Make your pillowcase and return them to the shop to help us reach our goal!

    FREE PATTERNS:
    Need some pattern idea for getting started. Check out this link for four free Pillowcase Patterns

    For more questions call 503-230-9075, visit the store or the website at: www.hearttohandonline.com.
    Happy Day!
    Wendy

    Fabric Dyeing with Kool Aid

    August 3rd, 2009

    Kool-AidWell it is Summertime, and the weather is warm.  If you have kids, or even if you do not, you likely have made a pitcher or two of Kool-Aid or lemonade.  I received this great article in the mail today from Quilting Arts Embellishment Newsletter.  I knew when I read it, I just had to pass it on to you!

    “Linda Sharp, whose needle-felted plum quilt was chosen to depict November in the 2010 Quilting Arts calendar, shares her technique and enthusiasm for Kool-Aid dyeing, a perfect summer activity.

    Kool-Aid dyeing gives absolutely delicious colors to protein fibers,” says Linda. “This process is safe, inexpensive, and easy. The materials are readily available, it requires no special equipment, and it smells wonderful!

    Materials

    • Natural (protein) fibers such as wool, dog hair, alpaca, angora, silk, etc. (Loose fibers, like dog hair, can be stuffed into a loosely woven synthetic gift bag to keep them together while dyeing.)
    • Dish detergent
    • Packets of unsweetened Kool-Aid drink mix (Do not use the color-change flavors.)
    • Mask
    • A stainless steel or un-chipped enamel pot
    • Water
    • Wooden stirrers (such as chopsticks)

    Optional: Candy thermometer, rubber gloves

    Note: A good ratio to begin with is 1 package of Kool-Aid to 1 ounce of fiber. (Double this for the lemon flavor.) More Kool-Aid will give you stronger colors. You can mix colors if you’re feeling adventurous. Use unsweetened Kool-Aid and do not add sugar.

    Directions

    1. Gently wash your fiber with lukewarm water and a little dish detergent and rinse the soap out. Treat wool very gently or it will felt. Let your fiber soak in lukewarm water while you prepare the dye.
    2. Fill the pot with enough water to comfortably cover your fiber. Put on your mask before opening the Kool-Aid package(s) to avoid inhaling the powder. Stir the powder into the water with the wooden chopsticks until dissolved.
    3. Add the wet fiber to the pot and slowly heat to just below boiling (85°C or 185°F). You can use a candy thermometer, if you have one. Check periodically to see that the mixture is not boiling, to avoid felting the wool. The dyeing process is done when the water is clear. You can tell by dipping the chopsticks in the water. This process will probably take about half an hour.
    4. When the water is clear, move the pot off the heat and let it cool. Then gently rinse it with water that is the same temperature as the fiber. Hang to dry. The colors will be lightfast and colorfast; no heat-setting is required.

    This is a great way to get a bit of silk or wool the color you want, to overdye a batch of garish fibers, or to get matching colors. Dye many batches now, and you’ll have a cache of beautifully colored fibers that smell like summer all winter long.”

    Please send picture if you try this wonderful idea!

    Happy Day!

    Wendy

     

    Follow-up to National Quilting Day!

    April 20th, 2009

    National Quilting Day QuiltMarch 21st was National Quilting Day.  Shown here is a quilt top sewn by Barbara Timby she also donated the fabric, Beth Durand donated her long-arm quilting skills and Heart to Hand donated the batting and backing.  This will be given to our local Habitat for Humanity.  Thanks to Barbara and Beth for a great charity quilt! We will let you know more details about this donation later this month.

    You can still get this free pattern at the link above.

    In other activities, Jan just put up a beautiful wall of purses and purse patterns at the shop.  Norma and I are teaching classes on totes and encourage you to sign up. 

    Norma is teaching Six-Pack Stack Reversible Tote that uses six different Fat quarters.  I will be teaching the Birdie Sling class.  I hope you will consider coming and joining us.

    Dick and Jane Tote

    Beth just finished this cute tote, using a panel from Michael Miller’s Dick and Jane Fabrics.  Very simple and so very cute! Anyone can make it and NO pattern needed!

    Happy Day!

    Wendy

     

    Gardening and Quilting

    March 22nd, 2009

    Lilacs and Lace

    A couple of weeks ago I started thinking about doing my first vegetable garden.  I have done container gardening off and on for decades.  But this winter I lost an 11 foot gazebo to the snow storm and now I have a huge concrete slab out back with nothing on it.  So today I worked out plans for a couple of raised beds.  I am both scared and excited.  Scared: because I hate to pour money into something that I cannot or will not be able to follow through on.  Excited: because I hope to have fruits and vegetables that I love; and to be able to share them with my friends and customers. 

    Gardening is a lot like quilting.  You plan the layout, make drawings and get excited about the colors.  But then the hard work begins.  Sure it is not HARD work but however you look at it, it is work, but as always the end result is wonderful and sharing it with friends makes it even more fun!

    I have been working on a pieced table runner for a week and Beth quilted it.  The free pattern is from Red Rooster and then I chose some fabrics from the shop and sewed up this Lilac and Lace Table runner.  It is really fun and quite easy. 

    So bring the garden into your home for the Spring with this enjoyable table runner.  Then go out and plant a little tomato plant in your yard, you will be glad you did when the Summer comes along.  I will post pictures of my garden as it starts to grow!

    Happy Day!

    Wendy

     

    National Quilting Day
    March 21st

    March 3rd, 2009

    National Quilting DayThe theme for National Quilting Day this year is “Welcome Home”. The NQA writes: “As our country looks forward to 2009 with a new president and new hope for our country, we at The National Quilting Association thought it would be appropriate this year, to devote National Quilting Day, to the home. The housing market is in decline and foreclosures are on the rise, with greater numbers of homeless families to follow. “We would like to encourage our members, guilds, and sponsors to join together and give their effort and energy to those who may be struggling for warmth and comfort.”

    The NQA has created a block pattern called,“Welcome Home”, to help all of us help others. You can get a link to the free pattern here. Send in your blocks to Heart To Hand and we will make quilts for those involved with Habitat for Humanity.  If you live in the area, join us at the shop for an all day sew in to make these blocks and quilts. You can register for this class here.

    Spring is here…
    Well for the Moment anyway!

    March 2nd, 2009

    Red Rooster: Lilacs and Lace Table Runner

    I just returned from walking Weeble.  We had an afternoon of partly cloudy weather and blue skies.  With my little pug being a little wild today, I knew it was time to take her for a walk!  So off we went.  The Crocus’ are peeking their purple and lavender heads up and signaling that soon Spring will be here.  I also have had some little Lily of the Valley trying to get out and show their pretty white flowers.  Every time we go out to get the mail Weeble goes over to smell their  aroma.  I am not quite sure if she likes it or it is just an unusual odor for her.

    I was looking around for some cute Spring patterns and found this great table runner from Red Rooster called Lilacs and Lace.  Not sure why it is called that, because I do not see any lilacs or lace here but I sure like the table runner.  I hope to make one this week so we can begin to kit it for you all.  If you are interested in downloading the free pattern be sure to check it out here.

    While you are downloading the pattern be sure to check out the fun Patch Abilities pattern: Easter Eggs.

    Also check out our “Carrot Table Runner” Kit and the “Will Work for Eggs” Fabric Kit.

    So while Spring is not really here yet, you can start getting ready by working on these great projects!

    Happy Day!

    Wendy

    Cup of Tea Series

    November 3rd, 2008

    Our Stitch Every Day series begins anew in January 2009 with the Cup O’ Tea series. Monthly patterns will coordinate (but not match) with the previous year Tea Pot series. These patterns and buttons are also still available.

    Here is how the program works at Heart To Hand. Buy the Handmade polymer clay buttons for embellishment of this cross stitch design and we will send you the cross stitch chart for free. Each button is reversible, and durable enough to machine wash or dry clean. Button Pack includes all buttons shown in photo. This kit does NOT include the fabric or floss for the project, just the buttons and free directions. Finished Size: 6″ square.

    NEW AUTO SHIP OPTION: We will auto ship these kits to you once a month for a year if you check the auto ship option. Susan will just charge your credit card on the first of the month the $10.20. Find out about this great cross  stitch program here.

     

     

     

    Happy Day!

     

     

     

     

     

     

    Halloween Quilt Project

    October 21st, 2008

    I just finished making this easy Halloween Project that you still have time to make before next week.  I used the Mummy Mambo Panel from Clothworks, black fabric, and scraps from my scrap basket. This is a very easy project for all skill levels and you can finish the top in one short evening. 

    Directions:

    1. Mummy Mambo Panel, if you need to trim up the panel to make it even, rotary cut ½” from colored shapes closest to the edges of the fabric.

    2. Cut Three 2” Strips x Width of Fabric from your black fabric.

    3. Measuring as you would for borders, frame the Mummy Mambo Panel with the black strips you cut in step two.

    4. I then went through my scrap basket and collected all my Orange, Yellow, Black, and Gray scraps.  I cut them into strips that were 2 ½” wide, then sub-cut them into assorted random lengths. Some were as small as 1” and some were as long as 5”. 

    5. Sew the scrap strips together making a long chain of assorted scraps that is 2 ½” wide.

    6. Again measuring as you would for borders, frame the quilt top with the 2 ½” wide scrap strips.

    7. Cut four 3” strips for last border out of black fabric and attach last border.

    8. Quilt and bind.

    You are done and your project is ready to hang in your house or on your door to greet your harvest visitors.

    Happy Day!

     

    Harvest Celebration Sale

    October 20th, 2008

    BOGO 50% off Sale

    Buy one yard ($6.99 a yard or higher)

     get a second yard of select fabrics 50% off

    October 21st through October 31st we are offering a Harvest Celebration Sale. Here is how it works. Buy ANY one yard of fabric on our website priced at $6.99 a yard and up and get 50% off a yard of  your choice from the selected Harvest Celebration Sale Bolts of fabric. For more information click here.

    Buy One Get One Free Book Sale Here

    Quilting Kits Sale Here

    Quilt shown is Tumbling Leaves from All People Quilt.  Free Pattern available here.

     

    Harvest Time Patterns

    October 17th, 2008

    Fall is here, Harvest time is here, and Halloween is coming.

    Time to think about making a wonderful Autumn wall hanging. We have lots of beautiful Autumn fabrics to assist you in your creations here.

    Here is a list of wonderful links to some beautiful and unusual Autumn patterns.

    Country Harvest from McCall’s Quilting. Reap the bounty of the season’s offerings when you sew this autumn wall hanging. Start with two fat pumpkins for the center block, and then keep adding colorful borders. Whether you add all the borders or just one, this quilt is certain to accent your fall décor.

    All About Autumn: What says “autumn” better than crisp, colorful leaves? Welcome guests with these lovely wreaths in fall foliage colors. The woven background design will add a new technique to your piecing skills.

     

     

    « Previous Entries