distillery 0.3.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -35,7 +35,7 @@ Both the `Distillery::Document#distill!` and `Distillery.distill` methods by def
35
35
  doc.distill!(:clean => false)
36
36
  > "raw distilled content"
37
37
 
38
- In its cleaning, Distillery will also remove all `<img>` tags from the content element. If you would like to preserve `<img>` tags, pass the `:images => true` option to the `Distillery::Document#distill!` and `Distillery.distill` methods. Please note that this will preserve any elements that wrap `<img>` tags that would have been removed under normal circumstances during cleaning.
38
+ In its cleaning, Distillery will also remove all `<img>` tags from the content element. If you would like to preserve `<img>` tags, pass the `:images => true` option to the `Distillery::Document#distill!` and `Distillery.distill` methods. Please note that Distillery *attempts* to only preserve elements from cleaning that contain "content images," but it is possible images that are part of the content will still be removed.
39
39
 
40
40
  doc.distill!(:images => true)
41
41
  > "raw distilled content with <img src=\"info.png\">"
data/Rakefile CHANGED
@@ -8,16 +8,21 @@ RSpec::Core::RakeTask.new(:spec) do |t|
8
8
  end
9
9
 
10
10
  require "distillery"
11
+ require "iconv"
11
12
 
12
13
  def doc_for_fixture(fixture)
13
14
  file = File.join(File.dirname(__FILE__), 'spec', 'fixtures', fixture)
14
- Distillery::Document.new(File.open(file).read)
15
+ raw_page = File.open(file).read
16
+ fixed_str = Iconv.new('UTF-8//IGNORE', 'UTF-8').iconv(raw_page + ' ')[0..-2]
17
+ Distillery::Document.new(fixed_str)
15
18
  end
16
19
 
17
20
  namespace :fixture do
18
21
  desc 'Open the fixture with data-score elements added showing an elements score'
19
22
  task :score, :filename do |t, args|
20
23
  doc = doc_for_fixture(args[:filename])
24
+ doc.remove_irrelevant_elements!
25
+ doc.remove_unlikely_elements!
21
26
 
22
27
  doc.score!
23
28
  doc.scores.each do |xpath, score|
@@ -32,7 +37,7 @@ namespace :fixture do
32
37
  desc 'Distill a fixture and open it'
33
38
  task :distill, :filename do |t, args|
34
39
  outfile = File.open("/tmp/distilled.#{args[:filename]}", 'w')
35
- outfile << doc_for_fixture(args[:filename]).distill!
40
+ outfile << doc_for_fixture(args[:filename]).distill!(:images => true)
36
41
  sh "open #{outfile.path}"
37
42
  end
38
43
  end
@@ -11,7 +11,7 @@ module Distillery
11
11
  UNLIKELY_TAGS = %w[head script link meta]
12
12
 
13
13
  # HTML ids and classes that are unlikely to contain the content element.
14
- UNLIKELY_IDENTIFIERS = /combx|comment|community|disqus|extra|foot|header|remark|rss|shoutbox|sidebar|sponsor|ad-break|agegate|pagination|pager|popup/i
14
+ UNLIKELY_IDENTIFIERS = /combx|comment|community|disqus|foot|header|remark|rss|shoutbox|sidebar|sponsor|ad-break|agegate|pagination|pager|popup/i
15
15
 
16
16
  # Elements that are whitelisted from being removed as unlikely elements
17
17
  REMOVAL_WHITELIST = %w[a body]
@@ -23,7 +23,7 @@ module Distillery
23
23
  POSITIVE_IDENTIFIERS = /article|body|content|entry|hentry|page|pagination|post|text/i
24
24
 
25
25
  # HTML ids and classes that are negative signals of the content element.
26
- NEGATIVE_IDENTIFIERS = /combx|comment|contact|foot|footer|footnote|link|media|promo|related|scroll|shoutbox|sponsor|tags|widget/i
26
+ NEGATIVE_IDENTIFIERS = /combx|comment|contact|foot|footer|footnote|link|media|promo|related|scroll|shoutbox|sponsor|tags|widget|related/i
27
27
 
28
28
  # HTML elements that are unrelated to the content in the content element.
29
29
  UNRELATED_ELEMENTS = %w[iframe form object]
@@ -119,16 +119,9 @@ module Distillery
119
119
  keep_images = !!options[:images]
120
120
 
121
121
  top_scoring_elements.each do |element|
122
-
123
- element.search("*").each do |node|
124
- next if contains_content_image?(node) && keep_images
125
- node.remove if has_empty_text?(node)
126
- end
127
-
128
122
  element.search("*").each do |node|
129
- next if contains_content_image?(node) && keep_images
130
- if UNRELATED_ELEMENTS.include?(node.name) ||
131
- (node.text.count(',') < 2 && unlikely_to_be_content?(node))
123
+ if cleanable?(node, keep_images)
124
+ debugger if node.to_s =~ /maximum flavor/
132
125
  node.remove
133
126
  end
134
127
  end
@@ -137,8 +130,18 @@ module Distillery
137
130
 
138
131
  private
139
132
 
133
+ def cleanable?(node, keep_images)
134
+ return false if contains_content_image?(node) && keep_images
135
+
136
+ UNRELATED_ELEMENTS.include?(node.name) ||
137
+ (node.text.count(',') < 2 && unlikely_to_be_content?(node))
138
+ end
139
+
140
140
  def contains_content_image?(node)
141
- node.name == 'img' || node.children.css('img').length > 0
141
+ has_images = (node.name == 'img' || node.children.css('img').length > 0)
142
+ idclass = node['id'].to_s + node['class'].to_s
143
+
144
+ !idclass.match(NEGATIVE_IDENTIFIERS) && has_images
142
145
  end
143
146
 
144
147
  def scorable_elements
@@ -240,14 +243,14 @@ module Distillery
240
243
  link_density = link_density(elem)
241
244
  is_anchor = elem.name == 'a'
242
245
 
243
- weight < 0 || # Terrible weight
244
- elem.text.empty? || # Empty text
245
- (!is_anchor && elem.text.length < 15) || # Short text and not a link
246
- img > p || # More images than paragraphs
247
- li > p && link_density > 0.2 || # Has lots of list items and moderate link density
248
- input > p / 3 || # Has a high % of inputs
249
- weight < 25 && link_density > 0.2 || # Weak content signal and moderate link density
250
- weight >= 25 && link_density > 0.5 # Strong content signal and high link density
246
+ weight < 0 || # Terrible weight
247
+ elem.text.empty? || # Empty text
248
+ (!is_anchor && elem.text.length < 15) || # Short text and not a link
249
+ img > p || # More images than paragraphs
250
+ li > p && link_density > 0.2 || # Has lots of list items and moderate link density
251
+ input > p / 3 || # Has a high % of inputs
252
+ weight < 25 && link_density > 0.2 || # Weak content signal and moderate link density
253
+ weight >= 25 && link_density > 0.5 # Strong content signal and high link density
251
254
  end
252
255
 
253
256
  end
@@ -1,3 +1,3 @@
1
1
  module Distillery
2
- VERSION = "0.3.0"
2
+ VERSION = "0.4.0"
3
3
  end
@@ -193,4 +193,11 @@ distillation_of 'oyako.html' do
193
193
  subject.should =~ /Ingredients:/
194
194
  subject.should =~ /4 servings/
195
195
  subject.should =~ /Goes well with a clear soup/
196
+ end
197
+
198
+ distillation_of 'cheese_spread.html', images: true do
199
+ subject.should =~ /Yield/
200
+ subject.should =~ /maximum flavor/
201
+ subject.should_not =~ /You May Also Enjoy.../ # Related
202
+ subject.should_not =~ /recipe developer/ # Sidebar
196
203
  end
@@ -0,0 +1,441 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en-US">
2
+ <head profile="http://gmpg.org/xfn/11">
3
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
4
+ <title>Apple Cheese Spread Recipe | RecipeGirl.com</title>
5
+ <link rel="stylesheet" href="http://www.recipegirl.com/wp-content/themes/recipegirl/style.css" type="text/css" media="screen" />
6
+ <!--[if lte IE 6]>
7
+ <link rel="stylesheet" href="http://www.recipegirl.com/wp-content/themes/recipegirl/ie6.css" type="text/css" />
8
+ <![endif]-->
9
+
10
+ <link rel="alternate" type="application/rss+xml" title="RecipeGirl.com RSS Feed" href="http://www.recipegirl.com/feed/" />
11
+ <link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />
12
+ <link rel="pingback" href="http://www.recipegirl.com/xmlrpc.php" />
13
+ <script type='text/javascript' src='http://recipegirl.ziplist.com/javascripts/pt_include.js'></script>
14
+ <link rel="alternate" type="application/rss+xml" title="RecipeGirl.com &raquo; Apple Cheese Spread Comments Feed" href="http://www.recipegirl.com/2007/05/26/apple-cheese-spread/feed/" />
15
+ <link rel='stylesheet' id='contact-form-7-css' href='http://www.recipegirl.com/wp-content/plugins/contact-form-7/styles.css?ver=2.4.6' type='text/css' media='all' />
16
+ <script type='text/javascript' src='http://www.recipegirl.com/wp-includes/js/l10n.js?ver=20101110'></script>
17
+ <script type='text/javascript' src='http://www.recipegirl.com/wp-includes/js/jquery/jquery.js?ver=1.6.1'></script>
18
+ <link rel="EditURI" type="application/rsd+xml" title="RSD" href="http://www.recipegirl.com/xmlrpc.php?rsd" />
19
+ <link rel="wlwmanifest" type="application/wlwmanifest+xml" href="http://www.recipegirl.com/wp-includes/wlwmanifest.xml" />
20
+ <link rel='index' title='RecipeGirl.com' href='http://www.recipegirl.com/' />
21
+ <link rel='start' title='Farfalle with Spinach, Garlic and Ricotta' href='http://www.recipegirl.com/0006/09/23/farfalle-with-spinach-garlic-and-ricotta/' />
22
+ <link rel='prev' title='Fried Calamari with Spicy Mayonnaise' href='http://www.recipegirl.com/2007/05/25/fried-calamari-with-spicy-mayonnaise/' />
23
+ <link rel='next' title='Asiago Cheese Dip' href='http://www.recipegirl.com/2007/05/26/asiago-cheese-dip/' />
24
+ <link rel='shortlink' href='http://www.recipegirl.com/?p=65' />
25
+
26
+ <!-- All in One SEO Pack 1.6.13.4 by Michael Torbert of Semper Fi Web Design[300,350] -->
27
+ <meta name="description" content="An easy to make cheese spread with a combination of cream cheese, sharp cheddar, grated apple & herbs- mix, refrigerate and eat." />
28
+ <meta name="keywords" content="apple cheese spread, cheese crock recipes,apple,cheddar cheese" />
29
+ <link rel="canonical" href="http://www.recipegirl.com/2007/05/26/apple-cheese-spread/" />
30
+ <!-- /all in one seo pack -->
31
+ <script type="text/javascript">
32
+ //<![CDATA[
33
+ var _wpcf7 = { cached: 1 };
34
+ //]]>
35
+ </script>
36
+ <style type="text/css">.recentcomments a{display:inline !important;padding:0 !important;margin:0 !important;}</style>
37
+ <style type="text/css">.broken_link, a.broken_link {
38
+ text-decoration: line-through;
39
+ }</style><!-- wp thread comment 1.4.9.4.002 -->
40
+
41
+
42
+ </head>
43
+ <body>
44
+
45
+ <div class="sociallinks">
46
+
47
+ <div style="width:130px"><a href="http://recipegirl.ziplist.com/recipes/box"><img src="http://www.recipegirl.com/wp-content/themes/recipegirl/images/recipebox.png" width="27" height="27" alt=" " border="0" /><strong>recipe box</strong><br/>view</a> / <a href="http://recipegirl.ziplist.com/mylist/">shopping list</a></div>
48
+
49
+ <div style="width:80px"><a href="http://www.twitter.com/recipegirl" target="_blank"><img src="http://www.recipegirl.com/wp-content/themes/recipegirl/images/twitter.png" width="27" height="27" alt=" " border="0" /><strong>twitter</strong><br/>follow me</a></div>
50
+
51
+ <div style="width:100px"><a href="https://www.facebook.com/pages/RecipeGirl/107332655959579" target="_blank"><img src="http://www.recipegirl.com/wp-content/themes/recipegirl/images/facebook.png" width="27" height="27" alt=" " border="0" /><strong>facebook</strong><br/>become a fan</a></div>
52
+
53
+ <div style="width:90px"><a href="http://feeds.feedburner.com/TheRecipeGirl"><img src="http://www.recipegirl.com/wp-content/themes/recipegirl/images/rss.png" width="27" height="27" alt=" " border="0" /><strong>subscribe</strong><br/>rss</a> / <a href="http://www.feedblitz.com/f/f.fbz?sub=340510" target="_blank">email</a></div>
54
+
55
+ </div>
56
+
57
+
58
+ <div id="header">
59
+ <img src="http://www.recipegirl.com/wp-content/themes/recipegirl/images/girl.png" width="115" height="137" alt="" border="0" class="girl" />
60
+ <h1><a href="/"><img src="http://www.recipegirl.com/wp-content/themes/recipegirl/images/recipegirl_logo.png" width="245" height="100" alt="RecipeGirl.com" border="0" class="logo" /></a></h1>
61
+ <img src="http://www.recipegirl.com/wp-content/themes/recipegirl/images/tagline.png" width="522" height="47" alt="" border="0" class="tagline" />
62
+
63
+
64
+ <form method="get" id="headsearch" action="http://www.recipegirl.com/">
65
+ <input type="text" name="s" id="s" value="" class="searchinput"/>
66
+ <input type="submit" class="searchsubmit" value="Search" />
67
+ </form>
68
+ </div>
69
+
70
+ <div id="topnav" class="menu-top-container"><ul id="topmenu" class="menu"><li id="menu-item-18368" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-18368"><a href="/">Home</a></li>
71
+ <li id="menu-item-11503" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-11503"><a href="http://www.recipegirl.com/about/">about</a></li>
72
+ <li id="menu-item-11505" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-11505"><a href="http://www.recipegirl.com/recipes/">Recipe Index</a></li>
73
+ <li id="menu-item-18279" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-18279"><a href="http://www.recipegirl.com/category/beyondfood/">Beyond Food</a></li>
74
+ <li id="menu-item-11738" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-11738"><a href="http://www.recipegirl.com/category/entertaining/theme-party-menus/">Theme Menus</a></li>
75
+ <li id="menu-item-13318" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-13318"><a href="http://www.herchannel.com/recipegirl">Videos</a></li>
76
+ <li id="menu-item-11504" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-11504"><a href="http://www.recipegirl.com/contact/">Contact</a></li>
77
+ </ul></div>
78
+
79
+
80
+ <div id="wrapper">
81
+
82
+ <div id="content">
83
+
84
+
85
+
86
+ <div class="post">
87
+ <div class="postmeta">
88
+ <a href="http://www.recipegirl.com/2007/05/26/apple-cheese-spread/#respond" title="Comment on Apple Cheese Spread">0 Comments</a> / <a href="#respond">Leave a Comment &raquo;</a>
89
+ </div>
90
+ <h2 class="posttitle"><a href="http://www.recipegirl.com/2007/05/26/apple-cheese-spread/" rel="bookmark">Apple Cheese Spread</a></h2>
91
+
92
+ <p><img src="http://staging.recipegirl.com/wp-content/uploads/2006/05/Apple-Cheese-Spread.jpg" alt="" title="Apple Cheese Spread" width="600" height="579" class="aligncenter size-full wp-image-12004" /></p>
93
+ <blockquote class="recipe hrecipe">
94
+ <p class="printbutton" style="float:right">
95
+ <a href="http://www.recipegirl.com/2007/05/26/apple-cheese-spread/print/" title="Print Recipe"><img src="http://www.recipegirl.com/wp-content/themes/recipegirl/images/print.png" alt="Print" width="16" height="16" class="printimg" /> Print Recipe</a><br/>
96
+ <a href='javascript:void(0);' onmouseup='getZRecipe(this, "recipegirl", "");
97
+ return false;' title='Save to ZipList'><img src="http://www.recipegirl.com/wp-content/themes/recipegirl/images/ziplist.png" alt="Save" width="16" height="16" class="printimg" /> Save Recipe</a>
98
+ <br/><img src="http://www.recipegirl.com/wp-content/uploads/2006/05/Apple-Cheese-Spread-130x130.jpg" class="photo" align="right" height="100" width="100" style="margin-top:10px;" />
99
+ </p>
100
+
101
+ <span class="item">
102
+ <h2 class="fn">Apple Cheese Spread</h2>
103
+ </span>
104
+
105
+
106
+ <p class="yield"><strong>Yield:</strong> <span class="yield">2 1/2 cups of dip</span></p>
107
+ <p class="time" style="margin-right: 10px; float: left; clear:left"><strong>Prep Time:</strong> <span class="preptime">10 minutes + chill time</span></p>
108
+
109
+ <div class="summary" style="clear:left"><p>This recipe takes only about 10 minutes to prepare- just blend all of the ingredients together and let the refrigerator do its magic for about an hour. While chilling, the flavors will meld and come together wonderfully.</p>
110
+ </div>
111
+
112
+ <h3 style="clear:left">Ingredients:</h3>
113
+ <div class="ingredient"><p>8 ounces reduced-fat cream cheese, softened<br />
114
+ 1 cup grated sharp Cheddar cheese, at room temperature<br />
115
+ 2 Tablespoons brandy or sherry<br />
116
+ 1 medium Granny Smith apple (peeled, cored & grated)<br />
117
+ 1 teaspoon dried basil<br />
118
+ 1 teaspoon dried oregano<br />
119
+ 1 teaspoon dried thyme<br />
120
+ 1/4 teaspoon freshly ground black pepper</p>
121
+ </div>
122
+ <h3>Directions:</h3>
123
+ <div class="instructions"><p>1. Combine cream cheese, Cheddar, and brandy in a bowl. Beat with an electric mixer until smooth. Stir in the apple. Add basil, oregano, thyme, and pepper; stir until thoroughly combined.</p>
124
+ <p>2. Spoon the mixture into a serving dish; cover and chill for approximately 1 hour. Serve with crackers.</p>
125
+ </div>
126
+
127
+ <h3>Tips:</h3>
128
+ <div class="extra"><p>*It's ok to use reduced-fat cream cheese, but do use regular sharp cheddar for maximum flavor.</p>
129
+ </div>
130
+
131
+
132
+ <div class="source"><p><strong>Source:</strong>: RecipeGirl.com (Adapted from <em><a href="http://www.amazon.com/dp/1580173896?tag=reciandente-20&camp=0&creative=0&linkCode=as1&creativeASIN=1580173896&adid=0K7FDR2V9DJ737WJJ5ZA">Apple Cookbook)</a></em></p>
133
+ </div>
134
+ </blockquote>
135
+
136
+
137
+ <div class="addthis">
138
+ <div class="addthis_toolbox addthis_default_style">
139
+ <a class="addthis_button_email"></a>
140
+ <a class="addthis_button_facebook"></a>
141
+ <a class="addthis_button_twitter"></a>
142
+ <a class="addthis_button_stumbleupon"></a>
143
+ <a class="addthis_button_favorites"></a>
144
+ <a href="http://addthis.com/bookmark.php?v=250" class="addthis_button_compact"></a>
145
+ <span class="addthis_separator"> &nbsp; </span>
146
+ <a class="addthis_button_tweet" tw:count="horizontal" tw:via="recipegirl"></a>
147
+ <a class="addthis_button_facebook_like"></a>
148
+ <a href="javascript:void((function(){var%20e=document.createElement('script');e.setAttribute('type','text/javascript');e.setAttribute('charset','UTF-8');e.setAttribute('src','http://assets.pinterest.com/js/pinmarklet.js?r='+Math.random()*99999999);document.body.appendChild(e)})());"><img style="margin: 0 0 0 0px;" onclick="doPinIt();" src="/images/pinit.png" alt="Pin It" class="noborder" /></a>
149
+ </div>
150
+ <script type="text/javascript" src="http://s7.addthis.com/js/250/addthis_widget.js#username=recipegirl"></script>
151
+ </div>
152
+
153
+
154
+ <div class="postmeta metabottom">
155
+ <div class="left">
156
+ <a href="http://www.recipegirl.com/2007/05/26/apple-cheese-spread/#respond" title="Comment on Apple Cheese Spread">0 Comments</a> / <a href="#respond">Leave a Comment &raquo;</a>
157
+ </div>
158
+
159
+ <div class="right">
160
+ Posted by Lori Lange on May 26, 2007 </div>
161
+
162
+ <div class="clear"></div>
163
+ </div><!-- end .postmeta -->
164
+
165
+
166
+ </div> <!-- end .post -->
167
+
168
+ <div id="text-448953177" class="postad widget_text "> <div class="textwidget"><!-- Begin supplemental 300 ad -->
169
+ <script src="http://ads.blogherads.com/80/8053/300b.js" type="text/javascript"></script>
170
+ <!-- End supplemental 300 ad --></div>
171
+ </div>
172
+
173
+ <div class="relatedposts"><h4 id="related">You May Also Enjoy...</h4><ul class="archives"> <li class="archivepost">
174
+ <a href="http://www.recipegirl.com/2008/06/16/easy-apple-cinnamon-muffins/" rel="bookmark" title="Easy Apple Cinnamon Muffins">
175
+ <img width="130" height="130" src="http://www.recipegirl.com/wp-content/uploads/2008/06/Easy-Apple-Cinnamon-Muffins-130x130.jpg" class="attachment-thumbnail wp-post-image" alt="Easy Apple Cinnamon Muffins" title="" />
176
+ <span class="title">Easy Apple Cinnamon Muffins</span></a>
177
+ </li>
178
+ <li class="archivepost">
179
+ <a href="http://www.recipegirl.com/2006/05/28/prosciutto-apple-wedges/" rel="bookmark" title="Prosciutto- Apple Wedges">
180
+ <img src="http://www.recipegirl.com/wp-content/themes/recipegirl/images/default.png" alt="Prosciutto- Apple Wedges"/>
181
+
182
+ <span class="title">Prosciutto- Apple Wedges</span></a>
183
+ </li>
184
+ <li class="archivepost">
185
+ <a href="http://www.recipegirl.com/2008/08/12/whole-grainapple-cake/" rel="bookmark" title="Whole Grain Apple Cake">
186
+ <img src="http://www.recipegirl.com/wp-content/themes/recipegirl/images/default.png" alt="Whole Grain Apple Cake"/>
187
+
188
+ <span class="title">Whole Grain Apple Cake</span></a>
189
+ </li>
190
+ <li class="archivepost">
191
+ <a href="http://www.recipegirl.com/2008/06/20/buffet-breakfast-casserole/" rel="bookmark" title="Buffet Breakfast Casserole">
192
+ <img width="130" height="130" src="http://www.recipegirl.com/wp-content/uploads/2008/06/Buffet-Breakfast-Casserole-130x130.jpg" class="attachment-thumbnail wp-post-image" alt="Buffet Breakfast Casserole" title="" />
193
+ <span class="title">Buffet Breakfast Casserole</span></a>
194
+ </li>
195
+ </ul></div>
196
+
197
+
198
+
199
+
200
+
201
+ <!-- You can start editing here. -->
202
+
203
+
204
+ <!-- If comments are open, but there are no comments. -->
205
+
206
+
207
+
208
+
209
+
210
+ <h4 id="respond">Leave a Comment</h4>
211
+
212
+ <div class="cancel-comment-reply">
213
+ <small><a rel="nofollow" id="cancel-comment-reply-link" href="/2007/05/26/apple-cheese-spread/#respond" style="display:none;">Click here to cancel reply.</a></small>
214
+ </div>
215
+
216
+
217
+ <form action="http://www.recipegirl.com/wp-comments-post.php" method="post" id="commentform">
218
+
219
+
220
+ <p><label for="author">Name (required)</label><br/><input type="text" name="author" id="author" class="commentinput" value="" size="22" tabindex="1" aria-required='true' /></p>
221
+
222
+ <p><label for="email">Mail (required - will not be published)</label><br/><input type="text" name="email" id="email" class="commentinput" value="" size="22" tabindex="2" aria-required='true' /></p>
223
+
224
+ <p><label for="url">Website URL</label><br/>
225
+ <input type="text" name="url" id="url" class="commentinput" value="" size="22" tabindex="3" /></p>
226
+
227
+
228
+ <p><label for="comment">Comment</label>
229
+ <textarea name="comment" id="comment" class="commentinput" cols="70" rows="10" tabindex="4"></textarea></p>
230
+
231
+ <p><input name="submit" type="submit" id="submit" tabindex="5" value="Submit Comment" />
232
+ <input type='hidden' name='comment_post_ID' value='65' id='comment_post_ID' />
233
+ <input type='hidden' name='comment_parent' id='comment_parent' value='0' />
234
+ </p>
235
+ <p style="display: none;"><input type="hidden" id="akismet_comment_nonce" name="akismet_comment_nonce" value="ebad455de7" /></p><p><input type="hidden" id="comment_reply_ID" name="comment_reply_ID" value="0" /><input type="hidden" id="comment_reply_dp" name="comment_reply_dp" value="0" /></p><div id="cancel_reply" style="display:none;"><a href="javascript:void(0)" onclick="movecfm(null,0,1,null);" style="color:red;">Click to cancel reply</a></div><script type="text/javascript">
236
+ /* <![CDATA[ */
237
+ var commentformid = "commentform";
238
+ var USERINFO = false;
239
+ var atreply = "none";
240
+ /* ]]> */
241
+ </script>
242
+ <script type="text/javascript" src="http://www.recipegirl.com/wp-content/plugins/wordpress-thread-comment/wp-thread-comment.js.php?jsver=common"></script>
243
+
244
+ </form>
245
+
246
+
247
+
248
+
249
+ </div> <!-- end #content -->
250
+
251
+ <div id="sidebar">
252
+
253
+ <ul id="topsidebar">
254
+ <li id="text-448953162" class="widget widget_text aboutbox"><h3 class="widgettitle">Welcome to Recipe Girl!</h3> <div class="textwidget"><p><img src="/images/about.jpg" width="75" height="94" alt="About Lori" align="right" />I'm Lori Lange, recipe developer, food writer and Mom. I'm sharing over 2,500 of my favorite recipes and theme menus with you. </div>
255
+ </li> </ul>
256
+
257
+ <ul id="topsidebar-ad">
258
+ <li id="text-352500501" class="widget widget_text "> <div class="textwidget"><!-- BEGIN 300x250 MAIN AD-->
259
+ <script src="http://ads.blogherads.com/80/8053/300a.js" type="text/javascript"></script>
260
+ <!-- END 300x250 MAIN AD--></div>
261
+ </li><li id="text-448953167" class="widget widget_text "> <div class="textwidget"></div>
262
+ </li><li id="text-448953163" class="widget widget_text subscribe"><h3 class="widgettitle"> Stay Connected</h3> <div class="textwidget"><p>get free email updates</p>
263
+ <form class="emailform" action="http://www.feedblitz.com/feedblitz.exe?BurnUser" method="post" >
264
+ <input name="email" maxlength="255" type="text" id="email" class="emailinput"/><input name="uri" type="hidden" value="http://feeds.feedburner.com/TheRecipeGirl" /><input type="submit" value="Subscribe &raquo;" class="emailsubmit" /></form></div>
265
+ </li> </ul>
266
+
267
+ <ul id="leftsidebar">
268
+
269
+ <li class="widget bfwidget">
270
+ <h3 class="widgettitle"><a href="/category/beyondfood">Beyond Food</a></h3>
271
+ <ul>
272
+
273
+ <li><a href="http://www.recipegirl.com/2011/12/13/what-do-teachers-want-for-christmas/">
274
+ <img width="130" height="130" src="http://www.recipegirl.com/wp-content/uploads/2011/12/Teacher-1-130x130.jpg" class="attachment-thumbnail wp-post-image" alt="Teacher 1" title="Teacher 1" /> <span class="title">What Do Teachers Want for Christmas?</span></a> <span class="date">(12/13/11)</span>
275
+ </li>
276
+
277
+ <li><a href="http://www.recipegirl.com/2011/12/08/gift-ideas-for-girls-of-all-ages/">
278
+ <img width="130" height="130" src="http://www.recipegirl.com/wp-content/uploads/2011/12/Gift-Ideas-for-Girls-ages-18-to-infinity-130x130.jpg" class="attachment-thumbnail wp-post-image" alt="Gift Ideas for Girls ages 18 to infinity" title="Gift Ideas for Girls ages 18 to infinity" /> <span class="title">Gift Ideas for Girls of All Ages</span></a> <span class="date">(12/8/11)</span>
279
+ </li>
280
+
281
+ <li><a href="http://www.recipegirl.com/2011/11/29/gift-ideas-for-boys-of-all-ages/">
282
+ <img width="130" height="130" src="http://www.recipegirl.com/wp-content/uploads/2011/11/Gift-Recommendations-for-Boys-5-130x130.jpg" class="attachment-thumbnail wp-post-image" alt="Gift Recommendations for Boys 5" title="Gift Recommendations for Boys 5" /> <span class="title">Gift Ideas for Boys of All Ages</span></a> <span class="date">(11/29/11)</span>
283
+ </li>
284
+
285
+ </ul>
286
+ <div class="readmore"><a href="/category/beyondfood">More Beyond Food &raquo;</a></div>
287
+ </li>
288
+
289
+
290
+ <li id="recent-posts-3" class="widget widget_recent_entries "> <h3 class="widgettitle">Recent Posts</h3> <ul>
291
+ <li><a href="http://www.recipegirl.com/2011/12/19/butterfinger-truffles/" title="Butterfinger Truffles">Butterfinger Truffles</a></li>
292
+ <li><a href="http://www.recipegirl.com/2011/12/17/salted-caramel-sauce-printable-labels/" title="Salted Caramel Sauce + Printable Labels">Salted Caramel Sauce + Printable Labels</a></li>
293
+ <li><a href="http://www.recipegirl.com/2011/12/15/gluten-free-molasses-crinkles/" title="Gluten Free Molasses Crinkles">Gluten Free Molasses Crinkles</a></li>
294
+ <li><a href="http://www.recipegirl.com/2011/12/14/how-to-make-norwegian-salmon-gravlax/" title="How to Make Norwegian Salmon Gravlax">How to Make Norwegian Salmon Gravlax</a></li>
295
+ <li><a href="http://www.recipegirl.com/2011/12/13/what-do-teachers-want-for-christmas/" title="What Do Teachers Want for Christmas?">What Do Teachers Want for Christmas?</a></li>
296
+ <li><a href="http://www.recipegirl.com/2011/12/12/almond-roca-2/" title="Almond Roca">Almond Roca</a></li>
297
+ <li><a href="http://www.recipegirl.com/2011/12/08/gift-ideas-for-girls-of-all-ages/" title="Gift Ideas for Girls of All Ages">Gift Ideas for Girls of All Ages</a></li>
298
+ <li><a href="http://www.recipegirl.com/2011/12/08/slow-cooker-garlic-chicken/" title="Slow Cooker Garlic Chicken">Slow Cooker Garlic Chicken</a></li>
299
+ </ul>
300
+ </li><li id="text-448953171" class="widget widget_text "> <div class="textwidget"><img class="aligncenter size-full wp-image-15837" title="saveur-icon" src="http://www.recipegirl.com/wp-content/uploads/2011/05/saveur-icon.gif" alt="" width="118" height="118" /></div>
301
+ </li><li id="text-448953174" class="widget widget_text "> <div class="textwidget"><a href="http://www.recipeboy.com/" target="_blank"><img class="aligncenter size-full wp-image-16317" title="recipeboy125X125[1]" src="http://www.recipegirl.com/wp-content/uploads/2011/05/recipeboy125X12511.png" alt="" width="125" height="125" /></a></div>
302
+ </li><li id="text-448953178" class="widget widget_text "> <div class="textwidget"><!-- Begin Cox Digital Solutions tag for "leftcolumn" Ad Space (120x240) ID #1000007180207 -->
303
+ <script type="text/javascript">
304
+ sr_adspace_id = 1000007180207;
305
+ sr_adspace_width = 120;
306
+ sr_adspace_height = 240;
307
+ sr_ad_new_window = true;
308
+ sr_adspace_type = "graphic";
309
+ </script>
310
+ <script type="text/javascript" src="http://ad.afy11.net/srad.js?azId=1000007180207">
311
+ </script>
312
+ <!-- End Cox Digital Solutions tag for "leftcolumn" Ad Space (120x240) ID #1000007180207 --></div>
313
+ </li><li id="text-448953181" class="widget widget_text "> <div class="textwidget"><iframe src="http://rcm.amazon.com/e/cm?t=reciandente-20&o=1&p=20&l=ur1&category=kitchen&banner=0Z0QS6ZP2XT90QHKRG82&f=ifr" width="120" height="90" scrolling="no" border="0" marginwidth="0" style="border:none;" frameborder="0"></iframe>
314
+ </div>
315
+ </li> </ul>
316
+
317
+ <ul id="rightsidebar">
318
+ <li id="text-448953152" class="widget widget_text"> <div class="textwidget"><!-- Begin Adify tag for "AllPagesRightBottomLeft" Ad Space (160x600) ID #1000002391607 -->
319
+ <script type="text/javascript">
320
+ sr_adspace_id = 1000002391607;
321
+ sr_adspace_width = 160;
322
+ sr_adspace_height = 600;
323
+ sr_ad_new_window = true;
324
+ sr_adspace_type = "graphic";
325
+ </script>
326
+ <script type="text/javascript" src="http://ad.afy11.net/srad.js?azId=1000002391607">
327
+ </script>
328
+ <!-- End Adify tag for "AllPagesRightBottomLeft" Ad Space (160x600) ID #1000002391607 --></div>
329
+ </li><li id="text-448953161" class="widget widget_text"> <div class="textwidget"><!-- Begin Adify tag for "Platefull Badge" Widget Space (159x80) ID #1000001305972 -->
330
+ <script type="text/javascript">
331
+ sr_widget_id = 1000001305972;
332
+ sr_widget_width = 159;
333
+ sr_widget_height = 80;
334
+ </script>
335
+ <script type="text/javascript" src="http://ad.afy11.net/srwidget.js?wId=1000001305972">
336
+ </script>
337
+ <!-- End Adify tag for "Platefull Badge" Widget Space (159x80) ID #1000001305972 --></div>
338
+ </li><li id="text-448953165" class="widget widget_text "> <div class="textwidget"><p><a href="http://www.goodbite.com/" target="_blank"><img src="/images/goodbite.jpg" width="160" height="125" alt="Good Bite Contributor" /></a></p>
339
+ <br/>
340
+ <p><img src="/images/babble.png" width="160" height="242" alt="Babble.com Top 100 Mom Food Bloggers" /></a></p></div>
341
+ </li><li id="text-448953168" class="widget widget_text "> <div class="textwidget"><div style="width: 140px !important; height: 170px !important; background:white !important; border: 1px solid #4D0A0B !important; overflow: hidden !important; text-align: center !important;"><a href="http://foodblogsearch.com" target="_blank">
342
+ <img src="http://foodblogsearch.com/images/fbs-button-140.png" style="border:0 !important; padding:0 !important; margin-bottom:5px !important;"/></a>
343
+ <!-- Google CSE Search Box Begins -->
344
+ <form action="http://foodblogsearch.com/food-blog-search-results.php" id="searchbox_003084314295129404805:72ozi9a0fjk" style="margin:0 !important; padding:0 !important;">
345
+ <input type="hidden" name="cx" value="003084314295129404805:72ozi9a0fjk" />
346
+ <input type="hidden" name="cof" value="FORID:11" /><input type="text" name="q" style="border:solid 1px #8A7C7D !important; width:128px !important; height:16px !important; " />
347
+ <input type="image" src="http://www.foodblogsearch.com/images/search-fb-button-2.png" value="Search Food Blogs" alt="Search Food Blogs" name="sa" title="Search Food Blogs" id="search-button" style="margin-top:4px !important;" /></form>
348
+ <script type="text/javascript" src="http://www.google.com/coop/cse/brand?form=searchbox_003084314295129404805%3A72ozi9a0fjk"></script>
349
+ <!-- Google CSE Search Box Ends -->
350
+ </div></div>
351
+ </li><li id="text-448953180" class="widget widget_text "> <div class="textwidget"><iframe src="http://rcm.amazon.com/e/cm?t=reciandente-20&o=1&p=21&l=ur1&category=gift_certificates&banner=0RMFK66CHHDVZ1TV7N02&f=ifr" width="125" height="125" scrolling="no" border="0" marginwidth="0" style="border:none;" frameborder="0"></iframe>
352
+ </div>
353
+ </li><li id="text-448953179" class="widget widget_text "> <div class="textwidget"><!-- BEGIN BHBadge -->
354
+ <div class="bhbadge" id="bhbadge_Syndicated" style="display: inline;"><a href="http://www.blogher.com?from=bhsbadge" target="_blank"><img src="http://www.blogher.com/files/edbadge_syndicated.jpg" border="0" alt="Syndicated on BlogHer.com" title="Syndicated on BlogHer.com" width="120" height="100"></a></div>
355
+ <!-- END BHBadge --></div>
356
+ </li> </ul>
357
+
358
+ </div><!-- end #sidebar --><div class="clear"></div>
359
+
360
+ </div> <!-- end #wrapper -->
361
+
362
+ <div id="footer">
363
+ <div class="footerwrap">
364
+
365
+ <ul id="footerwidgets">
366
+ <li id="twitter-3" class="widget widget_twitter"><div><h4 class="widgettitle"><span class='twitterwidget twitterwidget-title'>twittering...</span></h4><ul><li><span class='entry-content'>I totally want to do this. RT <a href="http://twitter.com/wearsmanyhats" class="twitter-user" target="_blank">@wearsmanyhats</a>: How to Make a Chalkboard. It's easy, &#038; would make great last minute gift. <a href="http://t.co/bpVqlmAD" target="_blank">http://t.co/bpVqlmAD</a></span> <span class='entry-meta'><span class='time-meta'><a href="http://twitter.com/RecipeGirl/statuses/148969538980024320" target="_blank">about 1 hour ago</a></span> <span class='from-meta'>from <a href="http://www.hootsuite.com" rel="nofollow">HootSuite</a></span></span> <span class="intent-meta"><a href="http://twitter.com/intent/tweet?in_reply_to=148969538980024320" data-lang="en" class="in-reply-to" title="Reply" target="_blank">Reply</a><a href="http://twitter.com/intent/retweet?tweet_id=148969538980024320" data-lang="en" class="retweet" title="Retweet" target="_blank">Retweet</a><a href="http://twitter.com/intent/favorite?tweet_id=148969538980024320" data-lang="en" class="favorite" title="Favorite" target="_blank">Favorite</a></span></li><li><span class='entry-content'>Yee Hah! RT <a href="http://twitter.com/wearsmanyhats" class="twitter-user" target="_blank">@wearsmanyhats</a>: Girls &#038; guns&gt; RT <a href="http://twitter.com/cookincanuck" class="twitter-user" target="_blank">@cookincanuck</a>: A Girl Hunter weekend &#038; coming full circle. <a href="http://t.co/dsGyZmMP" target="_blank">http://t.co/dsGyZmMP</a> <a href="http://search.twitter.com/search?q=%23girlhunter" class="twitter-hashtag" target="_blank">#girlhunter</a></span> <span class='entry-meta'><span class='time-meta'><a href="http://twitter.com/RecipeGirl/statuses/148966970560225280" target="_blank">about 1 hour ago</a></span> <span class='from-meta'>from <a href="http://www.hootsuite.com" rel="nofollow">HootSuite</a></span></span> <span class="intent-meta"><a href="http://twitter.com/intent/tweet?in_reply_to=148966970560225280" data-lang="en" class="in-reply-to" title="Reply" target="_blank">Reply</a><a href="http://twitter.com/intent/retweet?tweet_id=148966970560225280" data-lang="en" class="retweet" title="Retweet" target="_blank">Retweet</a><a href="http://twitter.com/intent/favorite?tweet_id=148966970560225280" data-lang="en" class="favorite" title="Favorite" target="_blank">Favorite</a></span></li></ul><div class="follow-button"><a href="http://twitter.com/recipegirl" class="twitter-follow-button" title="Follow @recipegirl" data-lang="en" target="_blank">@recipegirl</a></div></div></li><li id="recent-comments" class="widget widget_rrm_recent_comments"><h4 class="widgettitle">Recent Comments</h4><ul><li><a href="http://www.recipegirl.com/2008/09/02/macadamia-nut-butter-toffee/#comment-59738"><strong>Lori Lange</strong> - I wouldn't try Splenda- I'm not sure how Splenda works out in candy recipes!</a></li>
367
+
368
+ <li><a href="http://www.recipegirl.com/2011/12/19/butterfinger-truffles/#comment-59737"><strong>Asmita</strong> - I am drooling. These look amazing!</a></li>
369
+
370
+ <li><a href="http://www.recipegirl.com/2011/06/02/chocolate-chip-cookie-dough-brownies/#comment-59736"><strong>Ashley M.</strong> - Of everything good and Holy! THESE LOOK DELICIOUS!!! Forgive me as I run for a napkin to clean up my</a></li>
371
+ </ul><!-- Recent Comments took 2.442 ms --></li><li id="popular-posts" class="widget widget_rrm_popular_posts"><h4 class="widgettitle">Most Popular Recipes</h4><ul><li><a href="http://www.recipegirl.com/2011/06/02/chocolate-chip-cookie-dough-brownies/" rel="bookmark" title="June 2, 2011">Chocolate Chip Cookie Dough Brownies</a></li>
372
+
373
+ <li><a href="http://www.recipegirl.com/2011/03/01/cinnamon-roll-pancakes/" rel="bookmark" title="March 1, 2011">Cinnamon Roll Pancakes</a></li>
374
+
375
+ <li><a href="http://www.recipegirl.com/2011/06/27/fireworks-cookies/" rel="bookmark" title="June 27, 2011">Fireworks Cookies</a></li>
376
+
377
+ <li><a href="http://www.recipegirl.com/2011/06/23/red-white-and-blue-sangria/" rel="bookmark" title="June 23, 2011">Red, White and Blue Sangria</a></li>
378
+
379
+ <li><a href="http://www.recipegirl.com/2011/06/30/triple-berry-salad-with-sugared-almonds/" rel="bookmark" title="June 30, 2011">Triple Berry Salad with Sugared Almonds</a></li>
380
+ </ul><!-- popular Posts took 4.623 ms --></li> </ul>
381
+ <div class="clear"></div>
382
+ </div>
383
+ </div> <!-- end #footer -->
384
+
385
+ <div class="subfooter">
386
+ <div class="footermenu">
387
+ <ul id="menu-footer" class="pages"><li id="menu-item-11508" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-11508"><a href="http://staging.recipegirl.com/">Home</a></li>
388
+ <li id="menu-item-11509" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-11509"><a href="http://www.recipegirl.com/about/">about</a></li>
389
+ <li id="menu-item-11511" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-11511"><a href="http://www.recipegirl.com/recipes/">recipes</a></li>
390
+ <li id="menu-item-18369" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-18369"><a href="http://www.recipegirl.com/archives/">Archives</a></li>
391
+ <li id="menu-item-11510" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-11510"><a href="http://www.recipegirl.com/contact/">Contact</a></li>
392
+ <li id="menu-item-13342" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-13342"><a href="http://www.recipegirl.com/work-with-me/">Work with Me</a></li>
393
+ <li id="menu-item-15840" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-15840"><a href="http://www.recipegirl.com/links/">links</a></li>
394
+ <li id="menu-item-17910" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-17910"><a href="http://www.recipegirl.com/shop/">Shop</a></li>
395
+ </ul> <ul class="social">
396
+ <li><a href="http://feeds.feedburner.com/TheRecipeGirl"><img src="http://www.recipegirl.com/wp-content/themes/recipegirl/images/rss-sm.png" width="16" height="16" alt="RSS" border="0" /></a></li>
397
+ <li><a href="http://www.twitter.com/recipegirl" target="_blank"><img src="http://www.recipegirl.com/wp-content/themes/recipegirl/images/twitter-sm.png" width="16" height="16" alt="Twitter" border="0" /></a></li>
398
+ <li><a href="https://www.facebook.com/pages/RecipeGirl/107332655959579" target="_blank"><img src="http://www.recipegirl.com/wp-content/themes/recipegirl/images/facebook-sm.png" width="16" height="16" alt="Facebook" border="0" /></a></li>
399
+ </ul>
400
+ </div>
401
+
402
+ <div class="copyright">
403
+ <p><strong>&copy;2006-2011 RecipeGirl.com&trade; All rights reserved.</strong> &nbsp;&nbsp; <a href="/terms/">Terms &amp; Conditions</a> | <a href="/privacy/">Privacy Policy</a><br/>
404
+ <small>RecipeGirl&trade; and the RecipeGirl logo are registered trademarks. Images and original content are sole property of Lori Lange and may not be used, copied or transmitted without author consent.
405
+ </small></p>
406
+ <p>Design by <a href="http://www.purrdesign.com" target="_blank">Purr</a>.</p>
407
+ </div>
408
+
409
+ <div id="text-448953175" class="footerad widget_text "> <div class="textwidget"><script type="text/javascript"><!--
410
+ google_ad_client = "pub-2452081970497677";
411
+ /* 728x90, created 6/17/11 */
412
+ google_ad_slot = "7926433864";
413
+ google_ad_width = 728;
414
+ google_ad_height = 90;
415
+ //-->
416
+ </script>
417
+ <script type="text/javascript"
418
+ src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
419
+ </script></div>
420
+ </div>
421
+ <script type='text/javascript' src='http://www.recipegirl.com/wp-content/plugins/contact-form-7/jquery.form.js?ver=2.52'></script>
422
+ <script type='text/javascript' src='http://www.recipegirl.com/wp-content/plugins/contact-form-7/scripts.js?ver=2.4.6'></script>
423
+ <script type='text/javascript' src='http://platform.twitter.com/widgets.js?ver=1.0.0'></script>
424
+
425
+ <!-- Cached by DB Cache Reloaded -->
426
+ </div>
427
+
428
+ <script type="text/javascript">
429
+
430
+ var _gaq = _gaq || [];
431
+ _gaq.push(['_setAccount', 'UA-8831555-1']);
432
+ _gaq.push(['_trackPageview']);
433
+
434
+ (function() {
435
+ var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
436
+ ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
437
+ var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
438
+ })();
439
+
440
+ </script>
441
+ </body></html><!-- hyper cache: 263a2f559716402a4008763a46b5699d 11-12-20 04:44:36 -->
@@ -60,7 +60,7 @@ module Distillery
60
60
  end
61
61
 
62
62
  describe 'remove_unlikely_elements!' do
63
- %w[combx comment community disqus extra foot header remark rss shoutbox sidebar sponsor ad-break agegate pagination pager popup].each do |klass|
63
+ %w[combx comment community disqus foot header remark rss shoutbox sidebar sponsor ad-break agegate pagination pager popup].each do |klass|
64
64
  it "removes any elements classed .#{klass}, as it is unlikely to be page content" do
65
65
  doc = document_of("<div class='#{klass}'>foo</div>", :remove_unlikely_elements!)
66
66
  doc.inner_html.should == html_of("")
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: distillery
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-12-17 00:00:00.000000000Z
12
+ date: 2011-12-20 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: nokogiri
16
- requirement: &2160714940 !ruby/object:Gem::Requirement
16
+ requirement: &2162966860 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>'
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '1.0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *2160714940
24
+ version_requirements: *2162966860
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: slop
27
- requirement: &2160714440 !ruby/object:Gem::Requirement
27
+ requirement: &2162965640 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>'
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '1.0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *2160714440
35
+ version_requirements: *2162965640
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rspec
38
- requirement: &2160713980 !ruby/object:Gem::Requirement
38
+ requirement: &2162965140 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>'
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '2.0'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *2160713980
46
+ version_requirements: *2162965140
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: guard
49
- requirement: &2160713600 !ruby/object:Gem::Requirement
49
+ requirement: &2162964740 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *2160713600
57
+ version_requirements: *2162964740
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: guard-rspec
60
- requirement: &2160713140 !ruby/object:Gem::Requirement
60
+ requirement: &2162964240 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: '0'
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *2160713140
68
+ version_requirements: *2162964240
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: ruby-debug19
71
- requirement: &2160712720 !ruby/object:Gem::Requirement
71
+ requirement: &2162963800 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: '0'
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *2160712720
79
+ version_requirements: *2162963800
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: rb-fsevent
82
- requirement: &2160712300 !ruby/object:Gem::Requirement
82
+ requirement: &2162963340 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ! '>='
@@ -87,10 +87,10 @@ dependencies:
87
87
  version: '0'
88
88
  type: :development
89
89
  prerelease: false
90
- version_requirements: *2160712300
90
+ version_requirements: *2162963340
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: growl
93
- requirement: &2160711880 !ruby/object:Gem::Requirement
93
+ requirement: &2162962900 !ruby/object:Gem::Requirement
94
94
  none: false
95
95
  requirements:
96
96
  - - ! '>='
@@ -98,7 +98,7 @@ dependencies:
98
98
  version: '0'
99
99
  type: :development
100
100
  prerelease: false
101
- version_requirements: *2160711880
101
+ version_requirements: *2162962900
102
102
  description: Distillery extracts the "content" portion out of an HTML document. It
103
103
  applies heuristics based on element type, location, class/id name and other attributes
104
104
  to try and find the content part of the HTML document and return it.
@@ -129,6 +129,7 @@ files:
129
129
  - spec/fixtures/bilays.html
130
130
  - spec/fixtures/bourbon_balls.html
131
131
  - spec/fixtures/bulgogi.html
132
+ - spec/fixtures/cheese_spread.html
132
133
  - spec/fixtures/clams_and_linguini.html
133
134
  - spec/fixtures/clouds_shining_moment.html
134
135
  - spec/fixtures/forest_ham.html
@@ -181,6 +182,7 @@ test_files:
181
182
  - spec/fixtures/bilays.html
182
183
  - spec/fixtures/bourbon_balls.html
183
184
  - spec/fixtures/bulgogi.html
185
+ - spec/fixtures/cheese_spread.html
184
186
  - spec/fixtures/clams_and_linguini.html
185
187
  - spec/fixtures/clouds_shining_moment.html
186
188
  - spec/fixtures/forest_ham.html