distillery 0.3.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.md +1 -1
- data/Rakefile +7 -2
- data/lib/distillery/document.rb +23 -20
- data/lib/distillery/version.rb +1 -1
- data/spec/acceptance_spec.rb +7 -0
- data/spec/fixtures/cheese_spread.html +441 -0
- data/spec/lib/distillery/document_spec.rb +1 -1
- metadata +20 -18
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
|
|
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
|
-
|
|
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
|
data/lib/distillery/document.rb
CHANGED
|
@@ -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|
|
|
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
|
-
|
|
130
|
-
|
|
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 ||
|
|
244
|
-
elem.text.empty? ||
|
|
245
|
-
(!is_anchor && elem.text.length < 15) ||
|
|
246
|
-
img > p ||
|
|
247
|
-
li > p && link_density > 0.2 ||
|
|
248
|
-
input > p / 3 ||
|
|
249
|
-
weight < 25 && link_density > 0.2 ||
|
|
250
|
-
weight >= 25 && link_density > 0.5
|
|
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
|
data/lib/distillery/version.rb
CHANGED
data/spec/acceptance_spec.rb
CHANGED
|
@@ -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 » 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 »</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"> </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 »</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 »" 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 »</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, & 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 & guns> RT <a href="http://twitter.com/cookincanuck" class="twitter-user" target="_blank">@cookincanuck</a>: A Girl Hunter weekend & 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>©2006-2011 RecipeGirl.com™ All rights reserved.</strong> <a href="/terms/">Terms & Conditions</a> | <a href="/privacy/">Privacy Policy</a><br/>
|
|
404
|
+
<small>RecipeGirl™ 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
|
|
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.
|
|
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-
|
|
12
|
+
date: 2011-12-20 00:00:00.000000000Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: nokogiri
|
|
16
|
-
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: *
|
|
24
|
+
version_requirements: *2162966860
|
|
25
25
|
- !ruby/object:Gem::Dependency
|
|
26
26
|
name: slop
|
|
27
|
-
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: *
|
|
35
|
+
version_requirements: *2162965640
|
|
36
36
|
- !ruby/object:Gem::Dependency
|
|
37
37
|
name: rspec
|
|
38
|
-
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: *
|
|
46
|
+
version_requirements: *2162965140
|
|
47
47
|
- !ruby/object:Gem::Dependency
|
|
48
48
|
name: guard
|
|
49
|
-
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: *
|
|
57
|
+
version_requirements: *2162964740
|
|
58
58
|
- !ruby/object:Gem::Dependency
|
|
59
59
|
name: guard-rspec
|
|
60
|
-
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: *
|
|
68
|
+
version_requirements: *2162964240
|
|
69
69
|
- !ruby/object:Gem::Dependency
|
|
70
70
|
name: ruby-debug19
|
|
71
|
-
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: *
|
|
79
|
+
version_requirements: *2162963800
|
|
80
80
|
- !ruby/object:Gem::Dependency
|
|
81
81
|
name: rb-fsevent
|
|
82
|
-
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: *
|
|
90
|
+
version_requirements: *2162963340
|
|
91
91
|
- !ruby/object:Gem::Dependency
|
|
92
92
|
name: growl
|
|
93
|
-
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: *
|
|
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
|