distillery 0.4.0 → 0.4.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -34,10 +34,7 @@ module Distillery
34
34
 
35
35
  # The ratio to the top element's score an indentically class/id'd sibling
36
36
  # needs to have in order to be considered related.
37
- RELATED_SCORE_RATIO = 0.045
38
-
39
- # The prioritization level given to elements higher in the DOM
40
- DOM_PRIORITIZATION = 25
37
+ RELATED_SCORE_RATIO = 0.027
41
38
 
42
39
  # The Nokogiri document
43
40
  attr_reader :doc
@@ -96,7 +93,6 @@ module Distillery
96
93
  end
97
94
 
98
95
  augment_scores_by_link_weight!
99
- augment_scores_by_dom_depth!
100
96
  end
101
97
 
102
98
  # Distills the document down to just its content.
@@ -154,13 +150,6 @@ module Distillery
154
150
  end
155
151
  end
156
152
 
157
- def augment_scores_by_dom_depth!
158
- scores.each do |xpath, points|
159
- factor = DOM_PRIORITIZATION - (xpath.split('/').length * 2)
160
- scores[xpath] = scores[xpath] * factor
161
- end
162
- end
163
-
164
153
  def link_density(elem)
165
154
  link_length = elem.search('a').reduce(0) { |total, e| total + e.text.length }
166
155
  collapsed_text = elem.text.gsub(/\W{3,}/, '') # remove excess whitespace
@@ -1,3 +1,3 @@
1
1
  module Distillery
2
- VERSION = "0.4.0"
2
+ VERSION = "0.4.1"
3
3
  end
@@ -189,15 +189,17 @@ distillation_of 'mothers_brisket.html' do
189
189
  subject.should =~ /oven for about 30 minutes/
190
190
  end
191
191
 
192
- distillation_of 'oyako.html' do
193
- subject.should =~ /Ingredients:/
194
- subject.should =~ /4 servings/
195
- subject.should =~ /Goes well with a clear soup/
196
- end
197
-
198
192
  distillation_of 'cheese_spread.html', images: true do
199
193
  subject.should =~ /Yield/
200
194
  subject.should =~ /maximum flavor/
201
195
  subject.should_not =~ /You May Also Enjoy.../ # Related
202
196
  subject.should_not =~ /recipe developer/ # Sidebar
197
+ end
198
+
199
+ distillation_of 'savory_scones.html', images: true do
200
+ subject.should =~ /Cook Without a Book: Meatless Meals/
201
+ subject.should =~ /8 scones./
202
+
203
+ subject.should_not =~ /An Innocent in America/ # Footer
204
+ subject.should_not =~ /TWITTER/ # Sidebar
203
205
  end
@@ -0,0 +1,950 @@
1
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2
+ <html xmlns:og="http://opengraphprotocol.org/schema/" xmlns:fb="http://www.facebook.com/2008/fbml">
3
+ <head>
4
+ <title>Savory Scones With Onion, Currants and Caraway - Recipe - NYTimes.com</title>
5
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
6
+ <meta name="description" content="A recipe for savory scones with onion, currants and caraway.">
7
+ <meta name="keywords" content="Cooking and Cookbooks,Recipes,Pastries">
8
+ <meta name="ROBOTS" content="NOARCHIVE">
9
+ <meta name="DISPLAYDATE" content="December 30, 2011">
10
+ <meta name="hdl" content="Savory Scones With Onion, Currants and Caraway - Recipe">
11
+ <meta name="hdl_p" content="Savory Scones with Onion, Currants and Caraway">
12
+ <meta name="byl" content="">
13
+ <meta name="lp" content="A recipe for savory scones with onion, currants and caraway.">
14
+ <meta name="cre" content="The New York Times">
15
+ <meta name="edt" content="NewYork">
16
+ <meta name="pdate" content="20111230">
17
+ <meta name="ttl" content="">
18
+ <meta name="virtloc" content="">
19
+ <meta name="des" content="Cooking and Cookbooks;Recipes;Pastries">
20
+ <meta name="per" content="">
21
+ <meta name="org" content="">
22
+ <meta name="geo" content="">
23
+ <meta name="slug" content="04apperex">
24
+ <meta name="misspelling" content="">
25
+ <meta name="dat" content="December 30, 2011">
26
+ <meta name="tom" content="recipe">
27
+ <meta name="cat" content="">
28
+ <meta name="col" content="Recipe">
29
+ <meta name="dsk" content="Dining &amp; Wine">
30
+ <meta name="articleid" content="100000001255123">
31
+ <meta name="ARTICLE_TEMPLATE_VERSION" CONTENT="700">
32
+ <meta name="hdr_img" content="/images/article/header/sect_dining.gif">
33
+ <meta name="thumbnail" content="images/2012/01/04/dining/04APPE_SPAN/04APPE_SPAN-thumbStandard.jpg">
34
+ <meta name="thumbnail_height" content="75">
35
+ <meta name="thumbnail_width" content="75">
36
+ <meta name="xlarge" content="">
37
+ <meta name="xlarge_height" content="">
38
+ <meta name="xlarge_width" content="">
39
+ <meta name="sectionfront_jsonp" content="http://json8.nytimes.com/pages/dining/index.jsonp">
40
+ <meta name="CG" content="dining">
41
+ <meta name="SCG" content="">
42
+ <meta name="PT" content="Article">
43
+ <meta name="PST" content="recipe">
44
+ <meta name="msapplication-starturl" content="http://www.nytimes.com/">
45
+ <link rel="canonical" href="http://www.nytimes.com/2012/01/04/dining/savory-scones-with-onion-currants-and-caraway-recipe.html">
46
+ <meta property="og:url" content="http://www.nytimes.com/2012/01/04/dining/savory-scones-with-onion-currants-and-caraway-recipe.html"/>
47
+ <meta property="og:type" content="article"/>
48
+ <meta property="og:title" content="Savory Scones With Onion, Currants and Caraway - Recipe"/>
49
+ <meta property="og:image" content="http://graphics8.nytimes.com/images/2012/01/04/dining/04APPE_SPAN/04APPE_SPAN-thumbStandard.jpg"/>
50
+ <meta property="fb:app_id" content="9869919170"/>
51
+
52
+
53
+ <link rel="stylesheet" type="text/css" href="http://graphics8.nytimes.com/css/0.1/screen/build/article/2.0/dining/styles.css"><!--[if IE]>
54
+ <style type="text/css">
55
+ @import url(http://graphics8.nytimes.com/css/0.1/screen/common/ie.css);
56
+ </style>
57
+ <![endif]-->
58
+ <!--[if IE 6]>
59
+ <style type="text/css">
60
+ @import url(http://graphics8.nytimes.com/css/0.1/screen/common/ie6.css);
61
+ </style>
62
+ <![endif]-->
63
+ <script type="text/javascript" src="http://graphics8.nytimes.com/js/common.js"></script>
64
+ <script type="text/javascript" src="http://graphics8.nytimes.com/js/common/screen/DropDown.js"></script>
65
+ <script type="text/javascript" src="http://graphics8.nytimes.com/js/util/tooltip.js"></script>
66
+ <script type="text/javascript" src="http://graphics8.nytimes.com/js/common/screen/altClickToSearch.js"></script>
67
+ <script type="text/javascript" src="http://graphics8.nytimes.com/js/app/article/upNext.js"></script>
68
+ <script type="text/javascript" src="http://graphics8.nytimes.com/js/article/articleShare.js"></script>
69
+ </head>
70
+
71
+
72
+
73
+ <body >
74
+
75
+ <script type="text/javascript">
76
+ function getMetaValue(name) {
77
+ var els = document.getElementsByName(name);
78
+ if (els && els[0]) { return els[0].content; }
79
+ return "";
80
+ }
81
+
82
+ <!-- Begin KRUX Digital Control Tag for New York Times -->
83
+
84
+ KRUXSetup = {
85
+ pubid: "79816aa8-435a-471a-be83-4b3e0946daf2",
86
+ site: "NYTimes",
87
+ section: getMetaValue('CG'),
88
+ subSection: getMetaValue('SCG'),
89
+ pageAttributes: {
90
+ page_type: getMetaValue('PT')
91
+ }
92
+ };
93
+ </script>
94
+ <script type="text/javascript" src="http://cdn.krxd.net/kruxcontent/releases/krux-4.7.2.js"></script>
95
+ <!-- End KRUX Digital Control Tag for New York Times -->
96
+
97
+ <a name="top"></a>
98
+ <div id="shell">
99
+ <ul id="memberTools">
100
+
101
+ <!-- start text link -->
102
+ <li class="cColumn-TextAdsHeader">Subscribe:
103
+ <a href="http://www.nytimes.com/adx/bin/adx_click.html?type=goto&opzn&page=www.nytimes.com/yr/mo/day/dining&pos=Bar1&sn2=25d7306f/42af4da2&sn1=2407a328/96bf5462&camp=nyt2011-circ-bar1-dbl-test-side-x-side-non-hp&ad=052711-bar1-digi-hd-d3847U-h3847W&goto=http%3A%2F%2Fwww%2Enytimes%2Ecom%2Fsubscriptions%2FMultiproduct%2Flp5558%2Ehtml%3Fadxc%3D162578%26adxa%3D267524%26page%3Dwww.nytimes.com/yr/mo/day/dining/savory-scones-with-onion-currants-and-caraway-recipe.html%26pos%3DBar1%26campaignId%3D3847U" target="_blank">
104
+ Digital</a> / <a href="http://www.nytimes.com/adx/bin/adx_click.html?type=goto&opzn&page=www.nytimes.com/yr/mo/day/dining&pos=Bar1&sn2=25d7306f/42af4da2&sn1=8c0204ae/f0584be3&camp=nyt2011-circ-bar1-dbl-test-side-x-side-non-hp&ad=052711-bar1-digi-hd-d3847U-h3847W&goto=https%3A%2F%2Fwww%2Enytimesathome%2Ecom%2Fhd%2F142%3FMediaCode%3DW47AF%26CMP%3D3847W" target="_blank">Home Delivery</a>
105
+ </li>
106
+ <!-- end text link -->
107
+
108
+
109
+ <li><a id="memberToolsLogin" href="https://myaccount.nytimes.com/auth/login">Log In</a></li>
110
+ <li><a href="https://myaccount.nytimes.com/gst/regi.html">Register Now</a></li>
111
+
112
+
113
+ <li><a href="http://www.nytimes.com/membercenter/sitehelp.html">Help</a></li>
114
+ </ul>
115
+ <div class="tabsContainer">
116
+ <ul id="mainTabs" class="tabs">
117
+ <li class="first mainTabHome"><a href="http://www.nytimes.com">Home Page</a></li>
118
+ <li class="mainTabTodaysPaper"><a href="http://www.nytimes.com/pages/todayspaper/index.html">Today's Paper</a></li>
119
+ <li class="mainTabVideo"><a href="http://www.nytimes.com/video">Video</a></li>
120
+ <li class="mainTabMostPopular"><a href="http://www.nytimes.com/mostpopular">Most Popular</a></li>
121
+ <li class="mainTabTimesTopics"><a href="http://topics.nytimes.com/top/reference/timestopics">Times Topics</a></li>
122
+ </ul>
123
+ </div>
124
+ <script type="text/javascript">
125
+ window.setTimeout(function() {
126
+ var login = document.getElementById('memberToolsLogin');
127
+ if (login) {
128
+ login.href += "?URI=" + window.location.href;
129
+ }
130
+ }, 0)
131
+ </script> <div id="page" class="tabContent active">
132
+ <div class="clearfix" id="masthead">
133
+
134
+ <div class="singleAd" id="Middle1C">
135
+ <!-- ADXINFO classification="Button88x31" campaign="ING_DirectSiteSearch12-1786280-nyt1"--><A HREF="http://www.nytimes.com/adx/bin/adx_click.html?type=goto&opzn&page=www.nytimes.com/yr/mo/day/dining&pos=Middle1C&sn2=fade7dbe/d242d81b&sn1=facc780b/b59f6e47&camp=ING_DirectSiteSearch12-1786280-nyt1&ad=DirectSiteSearch12.ROS.dart88x31&goto=http://ad.doubleclick.net/jump/N3282.nytimes.comSD6440/B6188947;sz=88x31;pc=nyt176128A288112;ord=2012.01.03.08.23.00?" TARGET="_blank">
136
+ <IMG SRC="http://ad.doubleclick.net/ad/N3282.nytimes.comSD6440/B6188947;sz=88x31;pc=nyt176128A288112;ord=2012.01.03.08.23.00?"
137
+ BORDER=0 WIDTH=88 HEIGHT=31
138
+ ALT="Click Here"></A>
139
+ </div>
140
+
141
+ <div id="searchWidget">
142
+ <div class="inlineSearchControl">
143
+ <form enctype="application/x-www-form-urlencoded" action="http://query.nytimes.com/search/sitesearch" method="get" name="searchForm" id="searchForm">
144
+ <input type="hidden" value="full" name="date_select"/>
145
+ <label for="searchQuery">Search All NYTimes.com</label>
146
+ <input type="text" class="text" value="" size="" name="query" id="searchQuery"/>
147
+ <input type="hidden" id="searchAll" name="type" value="nyt"/>
148
+ <input id="searchSubmit" title="Search" width="22" height="19" alt="Search" type="image" src="http://graphics8.nytimes.com/images/global/buttons/go.gif">
149
+ </form>
150
+ </div>
151
+ </div>
152
+ <div id="branding" >
153
+ <a href="http://www.nytimes.com"><span id="nytIhtMastheadLogo">
154
+ <a href="http://www.nytimes.com"><img src="http://graphics8.nytimes.com/images/misc/nytlogo152x23.gif" alt="New York Times" id="NYTLogo"/></a>
155
+ </span></a>
156
+ </div>
157
+
158
+ <h2>
159
+
160
+ <a href="http://www.nytimes.com/pages/dining/index.html">Dining & Wine</a>
161
+ </h2>
162
+
163
+ </div>
164
+ <div class="navigation tabsContainer">
165
+ <ul class="tabs">
166
+ <li id="navWorld" class="first ">
167
+ <a href="http://www.nytimes.com/pages/world/index.html">World</a>
168
+ </li> <li id="navUs" >
169
+ <a href="http://www.nytimes.com/pages/national/index.html">U.S.</a>
170
+ </li> <li id="navNyregion" >
171
+ <a href="http://www.nytimes.com/pages/nyregion/index.html">N.Y. / Region</a>
172
+ </li> <li id="navBusiness" >
173
+ <a href="http://www.nytimes.com/pages/business/index.html">Business</a>
174
+ </li> <li id="navTechnology" >
175
+ <a href="http://www.nytimes.com/pages/technology/index.html">Technology</a>
176
+ </li> <li id="navScience" >
177
+ <a href="http://www.nytimes.com/pages/science/index.html">Science</a>
178
+ </li> <li id="navHealth" >
179
+ <a href="http://www.nytimes.com/pages/health/index.html">Health</a>
180
+ </li> <li id="navSports" >
181
+ <a href="http://www.nytimes.com/pages/sports/index.html">Sports</a>
182
+ </li> <li id="navOpinion" >
183
+ <a href="http://www.nytimes.com/pages/opinion/index.html">Opinion</a>
184
+ </li> <li id="navArts" >
185
+ <a href="http://www.nytimes.com/pages/arts/index.html">Arts</a>
186
+ </li> <li id="navStyle" class="selected">
187
+ <a href="http://www.nytimes.com/pages/style/index.html">Style</a>
188
+ <ul class="subNavigation"><li id="subNav_fashion"><a href="http://www.nytimes.com/pages/fashion/index.html">Fashion & Style</a></li><li id="subNav_dining" class="selected nochildren" ><a href="http://www.nytimes.com/pages/dining/index.html">Dining & Wine</a></li><li id="subNav_garden"><a href="http://www.nytimes.com/pages/garden/index.html">Home & Garden</a></li><li id="subNav_weddings"><a href="http://www.nytimes.com/pages/fashion/weddings/index.html">Weddings/Celebrations</a></li><li id="subNav_t-magazine"><a href="http://www.nytimes.com/pages/style/t/index.html">T Magazine</a></li></ul></li> <li id="navTravel" >
189
+ <a href="http://www.nytimes.com/pages/travel/index.html">Travel</a>
190
+ </li> <li id="navJobs" >
191
+ <a href="http://www.nytimes.com/pages/jobs/index.html">Jobs</a>
192
+ </li> <li id="navRealestate" >
193
+ <a href="http://www.nytimes.com/pages/realestate/index.html">Real Estate</a>
194
+ </li> <li id="navAutomobiles" >
195
+ <a href="http://www.nytimes.com/pages/automobiles/index.html">Autos</a>
196
+ </li></ul>
197
+ </div>
198
+
199
+
200
+
201
+ <div class="singleAd" id="TopAd">
202
+ <!-- ADXINFO classification="leaderboard_728" campaign="Google_2011_Dining_LB"--><div class="clearfix">
203
+ <script type="text/javascript" language="JavaScript">
204
+ <!--
205
+ google_ad_client = 'ca-nytimes_display_html';
206
+ google_alternate_ad_url = 'http://www.nytimes.com/ads/remnant/networkredirect-leaderboard.html';
207
+ google_ad_width = 728;
208
+ google_ad_height = 90;
209
+ google_ad_format = '728x90_pas_abgc';
210
+ google_ad_type = 'image';
211
+ google_encoding = 'utf8';
212
+ google_safe = 'high';
213
+ google_targeting = 'site_content';
214
+ google_ad_channel = 'Dining_leaderboard';
215
+ // -->
216
+ </script>
217
+ <script type="text/javascript" language="JavaScript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
218
+ <noscript>
219
+ <img height="1" width="1" border="0" src="http://pagead2.googlesyndication.com/pagead/imp.gif?client=ca-nytimes_display_html&event=noscript" />
220
+ </noscript>
221
+ <div style="font-family: Arial; font-size: 10px; color:#004276; float: right; margin-right: 125px;"><a href="http://www.nytimes.whsites.net/mediakit/">Advertise on NYTimes.com</a></div></div>
222
+ </div>
223
+
224
+
225
+ <div id="main">
226
+ <div class="spanAB wrap closing">
227
+ <div id="abColumn" class="abColumn"><!--open abColumn -->
228
+ <div id="article">
229
+ <!--cur: prev:-->
230
+ <div class="columnGroup first">
231
+ <h6 class="kicker">Recipe</h6>
232
+ <h1 class="articleHeadline"><NYT_HEADLINE version="1.0" type=" ">Savory Scones With Onion, Currants and Caraway</NYT_HEADLINE></h1>
233
+ <NYT_BYLINE ></NYT_BYLINE>
234
+ <h6 class="dateline">Published: December 30, 2011 </h6>
235
+ <script type="text/javascript">
236
+ var articleToolsShareData = {"url":"http:\/\/www.nytimes.com\/2012\/01\/04\/dining\/savory-scones-with-onion-currants-and-caraway-recipe.html","headline":"Savory Scones With Onion, Currants and Caraway","description":"A recipe for savory scones with onion, currants and caraway.","keywords":"Cooking and Cookbooks,Recipes,Pastries","section":"dining","sub_section":null,"section_display":"Dining & Wine","sub_section_display":null,"byline":null,"pubdate":"December 30, 2011","passkey":null};
237
+ function getShareURL() {
238
+ return encodeURIComponent(articleToolsShareData.url);
239
+ }
240
+ function getShareHeadline() {
241
+ return encodeURIComponent(articleToolsShareData.headline);
242
+ }
243
+ function getShareDescription() {
244
+ return encodeURIComponent(articleToolsShareData.description);
245
+ }
246
+ function getShareKeywords() {
247
+ return encodeURIComponent(articleToolsShareData.keywords);
248
+ }
249
+ function getShareSection() {
250
+ return encodeURIComponent(articleToolsShareData.section);
251
+ }
252
+ function getShareSubSection() {
253
+ return encodeURIComponent(articleToolsShareData.sub_section);
254
+ }
255
+ function getShareSectionDisplay() {
256
+ return encodeURIComponent(articleToolsShareData.section_display);
257
+ }
258
+ function getShareSubSectionDisplay() {
259
+ return encodeURIComponent(articleToolsShareData.sub_section_display);
260
+ }
261
+ function getShareByline() {
262
+ return encodeURIComponent(articleToolsShareData.byline);
263
+ }
264
+ function getSharePubdate() {
265
+ return encodeURIComponent(articleToolsShareData.pubdate);
266
+ }
267
+ function getSharePasskey() {
268
+ return encodeURIComponent(articleToolsShareData.passkey);
269
+ }
270
+ </script>
271
+ <div id="articleToolsTop" class="articleTools">
272
+ <div class="box">
273
+ <div class="inset">
274
+ <ul id="toolsList" class="toolsList wrap">
275
+ <li class="email">
276
+
277
+ <a id="emailThis" onClick="s_code_linktrack('Article-Tool-EmailSignIn');"
278
+ href="http://www.nytimes.com/auth/login?URI=http://www.nytimes.com/2012/01/04/dining/savory-scones-with-onion-currants-and-caraway-recipe.html">Sign In to E-Mail</a>
279
+ </li>
280
+ <li class="print">
281
+ <A HREF="/2012/01/04/dining/savory-scones-with-onion-currants-and-caraway-recipe.html?ref=dining&pagewanted=print">Print</a>
282
+ </li>
283
+
284
+ <A HREF="/2012/01/04/dining/savory-scones-with-onion-currants-and-caraway-recipe.html?ref=dining&pagewanted=all"></a>
285
+
286
+ <NYT_REPRINTS_FORM>
287
+
288
+ <script name="javascript">
289
+ function submitCCCForm(){
290
+ var PopUp = window.open('', '_Icon','location=no,toolbar=no,status=no,width=650,height=550,scrollbars=yes,resizable=yes');
291
+ var form = document.forms["cccform"];
292
+ // ensure that we are operating on the Form, not a NodeList
293
+ if (form.nodeName == "FORM") {
294
+ form.submit();
295
+ } else if (form[0] && form[0].nodeName == "FORM") {
296
+ form[0].submit();
297
+ }
298
+ }
299
+ </script>
300
+ <li class="reprints"> <form name="cccform" action="https://s100.copyright.com/CommonApp/LoadingApplication.jsp" target="_Icon">
301
+ <input type="hidden" name="Title" value="Savory Scones With Onion, Currants and Caraway">
302
+ <input type="hidden" name="Author" value=" ">
303
+ <input type="hidden" name="ContentID" value="http://www.nytimes.com/2012/01/04/dining/savory-scones-with-onion-currants-and-caraway-recipe.html">
304
+ <input type="hidden" name="FormatType" value="default">
305
+ <input type="hidden" name="PublicationDate" value="January 4, 2012">
306
+ <input type="hidden" name="PublisherName" value="The New York Times">
307
+ <input type="hidden" name="Publication" value="nytimes.com">
308
+ <input type="hidden" name="wordCount" value="12">
309
+ </form>
310
+ <a href="#" onClick="submitCCCForm()">Reprints</a>
311
+ </li>
312
+ </NYT_REPRINTS_FORM>
313
+ </ul>
314
+ <div class="articleToolsSponsor" id="Frame4A"><!-- ADXINFO classification="Button120x60" campaign="FSL2012_ArticleTools_120x60_1787487b_nyt5"--><a href="http://www.nytimes.com/adx/bin/adx_click.html?type=goto&opzn&page=www.nytimes.com/yr/mo/day/dining&pos=Frame4A&sn2=f6981544/7a60fdb1&sn1=2ffc95e7/74d375d6&camp=FSL2012_ArticleTools_120x60_1787487b_nyt5&ad=120x60_descendents_dec16_GGnom&goto=http%3A%2F%2Fwww%2Efoxsearchlight%2Ecom%2Fthedescendants" target="_blank">
315
+ <img src="http://graphics8.nytimes.com/adx/images/ADS/28/73/ad.287346/Descendants120x60_12-15.gif" width="120" height="60" border="0"></a>
316
+ </div> </div>
317
+ </div>
318
+ </div>
319
+ <div class="articleBody">
320
+
321
+
322
+
323
+
324
+
325
+ <NYT_TEXT >
326
+
327
+ <NYT_CORRECTION_TOP>
328
+ </NYT_CORRECTION_TOP>
329
+ <p>
330
+ Adapted from &ldquo;Cook Without a Book: Meatless Meals&rdquo; by Pam Anderson (Rodale Books) </p>
331
+ </div>
332
+ <div class="articleInline runaroundLeft">
333
+
334
+ <!--forceinline-->
335
+ <div class="inlineImage module">
336
+ <div class="image">
337
+ <div class="icon enlargeThis"><a href="javascript:pop_me_up2('http://www.nytimes.com/imagepages/2012/01/04/dining/04APPE_SPAN.html','04APPE_SPAN_html','width=720,height=562,scrollbars=yes,toolbars=no,resizable=yes')">Enlarge This Image</a></div>
338
+ <a href="javascript:pop_me_up2('http://www.nytimes.com/imagepages/2012/01/04/dining/04APPE_SPAN.html','04APPE_SPAN_html','width=720,height=562,scrollbars=yes,toolbars=no,resizable=yes')">
339
+ <img src="http://graphics8.nytimes.com/images/2012/01/04/dining/04APPE_SPAN/04APPE_SPAN-articleInline.jpg" width="190" height="126" alt="">
340
+ </a>
341
+ </div>
342
+ <h6 class="credit">Andrew Scrivani for The New York Times</h6>
343
+ <p>
344
+ </p>
345
+ </div>
346
+
347
+ <div class="columnGroup doubleRule">
348
+ <h3 class="sectionHeader">Related</h3>
349
+ <ul class="headlinesOnly multiline flush">
350
+ <li>
351
+ <h6><a href="http://www.nytimes.com/2012/01/04/dining/baking-savory-scones-for-winter-warmth-a-good-appetite.html?ref=dining">
352
+ A Good Appetite: Warmth in a Savory Scone</a>
353
+ (January 4, 2012)
354
+ </h6>
355
+ </li>
356
+ </ul>
357
+ </div>
358
+
359
+ </div>
360
+ <div class="articleBody">
361
+ <p>
362
+ <strong>Time:</strong> 45 minutes, plus freezing time </p><p>
363
+ <div class='recipeIngredientsList'> </p><p>
364
+ 8 tablespoons unsalted butter </p><p>
365
+ 1 tablespoon plus 1 teaspoon caraway seeds </p><p>
366
+ 1 large red onion, halved through the root and thinly sliced crosswise </p><p>
367
+ 1 tablespoon extra virgin olive oil </p><p>
368
+ 1/2 teaspoon plus pinch fine sea salt </p><p>
369
+ 1 cup rye flour (about 130 grams) </p><p>
370
+ 1 cup all-purpose flour (about 130 grams) </p><p>
371
+ 1 teaspoon baking powder </p><p>
372
+ 1/4 teaspoon baking soda </p><p>
373
+ 1/2 cup sour cream plus more for brushing </p><p>
374
+ 1 large egg </p><p>
375
+ 1 teaspoon honey </p><p>
376
+ 1/3 cup dried currants or chopped raisins </p><p>
377
+ Demerara (raw) or granulated sugar, for sprinkling </p><p>
378
+ Flaky sea salt, like fleur de sel or Maldon, for sprinkling (optional). </p><p>
379
+ <strong> </strong> </p><p>
380
+ </div> </p><p>
381
+ <strong>1. </strong> Put the butter in the freezer until solid, at least 45 minutes. </p><p>
382
+ <strong>2. </strong> In a large, dry skillet over medium heat, toast the caraway seeds until fragrant, about 1 minute. Transfer to a small bowl. Add the onions to the skillet and increase the heat to medium-high. Cook until they begin to turn dark brown and somewhat soft, about 5 minutes. Add the oil and a pinch of salt; continue cooking until the onions are soft and caramelized, about 5 minutes longer. Cool completely. </p><p>
383
+ <strong>3. </strong> Heat the oven to 400 degrees. Line a large baking sheet with parchment paper. </p><p>
384
+ <strong>4. </strong> In a small bowl, whisk together the flours, baking powder, baking soda, </p><p>
385
+ 1/2 teaspoon fine sea salt and the caraway seeds. In a separate bowl, whisk together the sour cream, egg and honey. </p><p>
386
+ <strong>5. </strong> Remove the butter from the freezer. Using the large holes of a box grater, grate about 1/4 of the butter. Gently toss it into the flour mixture. Repeat with the remaining butter, adding about 1/4 at a time. </p><p>
387
+ <strong>6. </strong> Stir the wet mixture into the flour-butter mixture. Stir in the onions and currants or raisins. Stir dough until it just comes together. </p><p>
388
+ <strong>7. </strong> On a lightly floured surface, pat the dough into a 3/4-inch-thick round. Cut into eight wedges. Transfer dough to the prepared baking sheet, allowing 1 inch between each scone. Brush the tops of the scones with a little sour cream and sprinkle with sugar and flaky sea salt. </p><p>
389
+ <strong>8.</strong> Bake scones until the undersides are golden brown but the tops are still a bit soft, 15 to 17 minutes. Cool 10 minutes before serving. They are best served warm. </p><p>
390
+ <strong>Yield</strong>: 8 scones. </p><NYT_CORRECTION_BOTTOM> <div class="articleCorrection">
391
+ </div>
392
+ </NYT_CORRECTION_BOTTOM><NYT_UPDATE_BOTTOM>
393
+ </NYT_UPDATE_BOTTOM>
394
+ </NYT_TEXT>
395
+ </div> </div>
396
+ <!--cur: prev:-->
397
+ <div class="columnGroup ">
398
+ <div class="articleFooter">
399
+ <div class="articleMeta">
400
+ <div class="opposingFloatControl wrap">
401
+ </div>
402
+ </div>
403
+ </div> </div>
404
+ <!--cur: prev:-->
405
+ <div class="columnGroup ">
406
+ <div id="articleExtras">
407
+ <div class="expandedToolsRight">
408
+ <div class="articleTools">
409
+ <div class="box">
410
+ <div class="inset">
411
+ <ul id="toolsList" class="toolsList wrap">
412
+ <li class="email">
413
+ <a id="emailThis" onClick="s_code_linktrack('Article-Tool-EmailSignIn');"
414
+ href="http://www.nytimes.com/auth/login?URI=http://www.nytimes.com/2012/01/04/dining/savory-scones-with-onion-currants-and-caraway-recipe.html">Sign In to E-Mail</a>
415
+ </li>
416
+ <li class="print">
417
+ <A HREF="/2012/01/04/dining/savory-scones-with-onion-currants-and-caraway-recipe.html?ref=dining&pagewanted=print">Print</a>
418
+ </li>
419
+
420
+ <A HREF="/2012/01/04/dining/savory-scones-with-onion-currants-and-caraway-recipe.html?ref=dining&pagewanted=all"></a>
421
+
422
+ <NYT_REPRINTS_FORM>
423
+
424
+ <script name="javascript">
425
+ function submitCCCForm(){
426
+ var PopUp = window.open('', '_Icon','location=no,toolbar=no,status=no,width=650,height=550,scrollbars=yes,resizable=yes');
427
+ var form = document.forms["cccform"];
428
+ // ensure that we are operating on the Form, not a NodeList
429
+ if (form.nodeName == "FORM") {
430
+ form.submit();
431
+ } else if (form[0] && form[0].nodeName == "FORM") {
432
+ form[0].submit();
433
+ }
434
+ }
435
+ </script>
436
+ <li class="reprints"> <form name="cccform" action="https://s100.copyright.com/CommonApp/LoadingApplication.jsp" target="_Icon">
437
+ <input type="hidden" name="Title" value="Savory Scones With Onion, Currants and Caraway">
438
+ <input type="hidden" name="Author" value=" ">
439
+ <input type="hidden" name="ContentID" value="http://www.nytimes.com/2012/01/04/dining/savory-scones-with-onion-currants-and-caraway-recipe.html">
440
+ <input type="hidden" name="FormatType" value="default">
441
+ <input type="hidden" name="PublicationDate" value="January 4, 2012">
442
+ <input type="hidden" name="PublisherName" value="The New York Times">
443
+ <input type="hidden" name="Publication" value="nytimes.com">
444
+ <input type="hidden" name="wordCount" value="12">
445
+ </form>
446
+ <a href="#" onClick="submitCCCForm()">Reprints</a>
447
+ </li>
448
+ </NYT_REPRINTS_FORM>
449
+ </ul>
450
+ </div>
451
+ </div>
452
+ </div>
453
+ <script type="text/javascript">
454
+ writePost();
455
+ </script>
456
+ </div>
457
+ </div>
458
+
459
+ <div class="singleAd" id="Bottom1">
460
+ <!-- ADXINFO classification="text_ad" campaign="nyt2012-circ-sf-bottom1-3844L"--><table width="468" border="0">
461
+ <tr>
462
+ <td width="84"><a href="http://www.nytimes.com/adx/bin/adx_click.html?type=goto&opzn&page=www.nytimes.com/yr/mo/day/dining&pos=Bottom1&sn2=2db8801e/be34dfff&sn1=22bec303/af4d35c5&camp=nyt2012-circ-sf-bottom1-3844L&ad=050511-sf-bottom1-3844L&goto=https%3A%2F%2Fwww%2Enytimesathome%2Ecom%2Fhd%2F150%3FMediaCode%3DW16AK%26CMP%3D3844L"><img src="http://graphics8.nytimes.com/adx/images/ADS/24/26/ad.242614/90x79_newspaper.gif" width="90" height="70" border="0"></a></td>
463
+ <td width="381">
464
+ <p align="left">
465
+ <font size="-1" class="nav" color="#000066"><a href="http://www.nytimes.com/adx/bin/adx_click.html?type=goto&opzn&page=www.nytimes.com/yr/mo/day/dining&pos=Bottom1&sn2=2db8801e/be34dfff&sn1=22bec303/af4d35c5&camp=nyt2012-circ-sf-bottom1-3844L&ad=050511-sf-bottom1-3844L&goto=https%3A%2F%2Fwww%2Enytimesathome%2Ecom%2Fhd%2F150%3FMediaCode%3DW16AK%26CMP%3D3844L">The New York Times and the Bay Area -- save 50% on home delivery plus FREE All Digital Access.
466
+ </a></font>
467
+ </td>
468
+ </tr>
469
+ </table>
470
+ <br>
471
+ </div>
472
+
473
+ </div>
474
+ <!--cur: prev:-->
475
+ <div class="columnGroup ">
476
+ </div>
477
+ <!--cur: prev:-->
478
+ <div class="columnGroup ">
479
+ <div class="singleRuleDivider"></div>
480
+ <div class="articleBottomExtra subColumns">
481
+ <div class="column">
482
+ <script type="text/javascript" src="http://graphics8.nytimes.com/js/app/article/outbrain.js"></script> </div>
483
+ <div class="column lastColumn">
484
+ <div class="emailAlertModule module">
485
+ <h5 class="sectionHeaderSm">Get Free E-mail Alerts on These Topics</h5>
486
+ <form action="https://myaccount.nytimes.com/mem/tnt.html" method="GET" enctype="application/x-www-form-urlencoded">
487
+ <input type="hidden" name="retA" value="http://www.nytimes.com//2012/01/04/dining/savory-scones-with-onion-currants-and-caraway-recipe.html" >
488
+ <input type="hidden" name="retT" value="Savory Scones With Onion, Currants and Caraway">
489
+ <input type="hidden" name="module" value="call">
490
+ <input type="hidden" name="alert_context" value="1">
491
+ <ul class="flush">
492
+ <li>
493
+ <input type="hidden" name="topic1" value="Cooking+and+Cookbooks">
494
+ <input type="hidden" name="topic_field1" value="des">
495
+ <a class="inTextReferEmail" href="https://myaccount.nytimes.com/mem/tnt.html?module=call&alert_context=1&topic1=Cooking+and+Cookbooks&topic_field1=des&topic1_check=y&retA=&retT=&cskey=" onClick="javascript:s_code_linktrack('Article-RelatedTopics'); dcsMultiTrack('DCS.dcssip','www.nytimes.com','DCS.dcsuri','/newstracker/add.html','WT.ti','Newstracker Add','WT.z_nta','Add','WT.pers','Per','WT.z_dcsm','1');" onmousedown="NYTD.relatedSearches.clickHandler(event);" >Cooking and Cookbooks</a>
496
+ </li>
497
+ <li>
498
+ <input type="hidden" name="topic1" value="Recipes">
499
+ <input type="hidden" name="topic_field1" value="des">
500
+ <a class="inTextReferEmail" href="https://myaccount.nytimes.com/mem/tnt.html?module=call&alert_context=1&topic1=Recipes&topic_field1=des&topic1_check=y&retA=&retT=&cskey=" onClick="javascript:s_code_linktrack('Article-RelatedTopics'); dcsMultiTrack('DCS.dcssip','www.nytimes.com','DCS.dcsuri','/newstracker/add.html','WT.ti','Newstracker Add','WT.z_nta','Add','WT.pers','Per','WT.z_dcsm','1');" onmousedown="NYTD.relatedSearches.clickHandler(event);" >Recipes</a>
501
+ </li>
502
+ <li>
503
+ <input type="hidden" name="topic1" value="Pastries">
504
+ <input type="hidden" name="topic_field1" value="des">
505
+ <a class="inTextReferEmail" href="https://myaccount.nytimes.com/mem/tnt.html?module=call&alert_context=1&topic1=Pastries&topic_field1=des&topic1_check=y&retA=&retT=&cskey=" onClick="javascript:s_code_linktrack('Article-RelatedTopics'); dcsMultiTrack('DCS.dcssip','www.nytimes.com','DCS.dcsuri','/newstracker/add.html','WT.ti','Newstracker Add','WT.z_nta','Add','WT.pers','Per','WT.z_dcsm','1');" onmousedown="NYTD.relatedSearches.clickHandler(event);" >Pastries</a>
506
+ </li>
507
+ </ul>
508
+ </form>
509
+ </div>
510
+ </div>
511
+ </div> </div>
512
+ <!--cur: prev:-->
513
+ <div class="columnGroup last">
514
+
515
+ <div class="columnGroup" id="adxSponLink"></div>
516
+ <script language="JavaScript">
517
+ google_hints="Savory Scones With Onion, Currants and Caraway";google_ad_channel="archive, archive_dining, archive_Dining & Wine";
518
+ </script>
519
+ <!-- ADXINFO classification="feature_squares" campaign="ARTICLE_GOOGLE_SPONLINK"--><script language="JavaScript" type="text/javascript">
520
+
521
+ // Sponlink_short
522
+
523
+ NYTD.GoogleAds.getGoogleAds("AFC", {
524
+ google_ad_client:'nytimes_article_var',
525
+ google_ad_channel:'left',
526
+ ad_target_list:'sponLink'
527
+ });
528
+ </script>
529
+
530
+ </div>
531
+ </div>
532
+ </div><!--close abColumn -->
533
+ <div id="cColumn" class="cColumn">
534
+
535
+ <div class="columnGroup">
536
+
537
+ </div>
538
+ <!----> <div class="columnGroup first">
539
+
540
+ </div>
541
+ <!----> <div class="columnGroup ">
542
+
543
+ <div class="singleAd" id="MiddleRight">
544
+ <!-- ADXINFO classification="bigad" campaign="Google_2011_Dining_BA"--><script language="JavaScript">
545
+ <!--
546
+ if (!window.nyt_google_count) { var nyt_google_count = 0; }
547
+ if ((!window.nyt_google_ad_channel) && (window.google_ad_channel)) { var nyt_google_ad_channel = google_ad_channel; }
548
+ if ((!window.nyt_google_hints) && (window.google_hints)) { var nyt_google_hints = google_hints; }
549
+ if ((!window.nyt_google_contents) && (window.google_contents)) { var nyt_google_contents = google_contents; }
550
+ function ss(w,id) {window.status = w;return true;}function cs(){window.status='';}function ha(a){ pha=document.getElementById(a); nhi=pha.href.indexOf("&nh=");if(nhi < 1) {phb=pha.href+"&nh=1";} pha.href=phb;}function ca(a) { pha=document.getElementById(a); nci=pha.href.indexOf("&nc=");if(nci < 1) {phb=pha.href+"&nc=1";} pha.href=phb;window.open(document.getElementById(a).href);}function ga(o,e) {if (document.getElementById) {a=o.id.substring(1);p = "";r = "";g = e.target;if (g) {t = g.id;f = g.parentNode;if (f) {p = f.id;h = f.parentNode;if (h)r = h.id;}} else {h = e.srcElement;f = h.parentNode;if (f)p = f.id;t = h.id;}if (t==a || p==a || r==a)return true;pha=document.getElementById(a); nbi=pha.href.indexOf("&nb=");if(nbi < 1) {phb=pha.href+"&nb=1";} pha.href=phb;window.open(document.getElementById(a).href);}}
551
+
552
+ function google_ad_request_done(ads) {
553
+ var s = '';
554
+ var i;
555
+
556
+ if (ads.length == 0) {
557
+ return;
558
+ }
559
+
560
+ if (ads[0].type == "image") {
561
+ s += '<a href="' + ads[0].url +
562
+ '" target="_top" title="go to ' + ads[0].visible_url +
563
+ '"><img border="0" src="' + ads[0].image_url +
564
+ '"width="' + ads[0].image_width +
565
+ '"height="' + ads[0].image_height + '"></a>';
566
+ } else if (ads[0].type == "flash") {
567
+ s += '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"' +
568
+ ' codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"' +
569
+ ' WIDTH="' + google_ad.image_width +
570
+ '" HEIGHT="' + google_ad.image_height + '">' +
571
+ '<PARAM NAME="movie" VALUE="' + google_ad.image_url + '">' +
572
+ '<PARAM NAME="quality" VALUE="high">' +
573
+ '<PARAM NAME="AllowScriptAccess" VALUE="never">' +
574
+ '<EMBED src="' + google_ad.image_url +
575
+ '" WIDTH="' + google_ad.image_width +
576
+ '" HEIGHT="' + google_ad.image_height +
577
+ '" TYPE="application/x-shockwave-flash"' +
578
+ ' AllowScriptAccess="never" ' +
579
+ ' PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></EMBED></OBJECT>';
580
+ } else if (ads[0].type == "text") {
581
+ nyt_google_count += ads.length;
582
+ google_ad_section_line_height = "14px";
583
+ google_ad_section_padding_left = "7px";
584
+ google_title_link_font_size = "12px";
585
+ google_ad_text_font_size = "11px";
586
+ google_visible_url_font_size = "10px";
587
+
588
+ s += '<table width="100%" height="" border="0" cellspacing="0" cellpadding="0" style="text-align:left; width:100%; border-style: solid; border-width: 1px; border-color: #9da3ad" >\n<tr>\n<td style="font-family:Arial,Helvetica,sans-serif; font-size:12px; color:#333333;" valign="top"><table width="100%" height="100%" cellspacing="0" cellpadding="0" border="0" style="width:100%; height:100%;">\n<tr>\n <td style="background-color:#9da3ad; width:70%; height:20px; padding-top:2px; padding-left:11px; padding-bottom:2px; font-family:Arial,Helvetica,sans-serif; font-size:12px; color:#333333;" width="70%" height="20" bgcolor="#9da3ad" ><span style="font-size: 12px; font-weight: normal; color:#ffffff;" >Ads by Google</span></td>\n<td style="padding-top:2px; padding-bottom:2px; width:30%; height:20px; align:right; background-color:#9da3ad; font-family:Arial,Helvetica,sans-serif; font-size:12px; color:#333333;" width="30%" height="20" align="right" bgcolor="#9da3ad" ><span><a style="font-family:Arial,Helvetica,sans-serif; color: white; font-size:12px; padding-right:7px;" href="http://www.nytimes.com/ref/membercenter/faq/linkingqa16.html" onclick="window.open(\'\',\'popupad\',\'left=100,top=100,width=390,height=390,resizable,scrollbars=no\')" target="popupad">what\'s this?</a></span></td>\n</tr>\n</table>\n</td>\n</tr>\n<tr>\n<td style="height:110px; font-family:Arial,Helvetica,sans-serif; font-size:12px; color:#333333;" valign="top" height="110"><table height="100%" width="100%" cellpadding="4" cellspacing="0" border="0" bgcolor="#f8f8f9" style="height:100%; width:100%; padding:4px; background-color:#f8f8f9;">\n';
589
+ for (i = 0; i < ads.length; ++i) {
590
+ s += '<tr>\n<td style="cursor:pointer; cursor:hand; font-family:Arial,Helvetica,sans-serif; font-size:12px; color:#333333; background-color:#f8f8f9;" id="taw' + i + '" valign="middle" onFocus="ss(\'go to ' + ads[i].visible_url + '\',\'aw' + i + '\')" onMouseOver="ss(\'go to ' + ads[i].visible_url + '\',\'aw' + i + '\')" onMouseOut="cs()" onClick="ga(this,event)"><div style="line-height:' + google_ad_section_line_height + '; padding-left:' + google_ad_section_padding_left + '; padding-bottom:5px;" ><a id="aw' + i + '" href="' + ads[i].url + '" target="_blank" style="font-size:' + google_title_link_font_size + '; color:#000066; font-weight:bold; text-decoration:underline;" onFocus="ss(\'go to ' + ads[i].visible_url + '\',\'aw' + i + '\')" onClick="ha(\'aw' + i + '\')" onMouseOver="return ss(\'go to ' + ads[i].visible_url + '\',\'aw' + i + '\')" onMouseOut="cs()">' + ads[i].line1 + '</a><br>\n<a href="' + ads[i].url + '" target="_blank" style="font-family:Arial,Helvetica,sans-serif; font-size:' + google_ad_text_font_size + ';color:#333333;text-decoration:none;">' + ads[i].line2 + ' ' + ads[i].line3 + '</a><br>\n<a href="' + ads[i].url + '" target="_blank" style="font-size:' + google_visible_url_font_size + '; color:#000066; font-weight:normal; text-decoration:none;">' + ads[i].visible_url + '</a></div>\n</td>\n</tr>\n';
591
+ }
592
+ s += '</table>\n</td>\n</tr>\n</table>';
593
+ }
594
+ document.write(s);
595
+ return;
596
+ }
597
+ google_ad_client = 'nytimes_display_html';
598
+ google_ad_channel = 'Dining_big_ad';
599
+ google_ad_output = 'js';
600
+ google_max_num_ads = '6';
601
+ google_ad_type = 'text, image, flash';
602
+ google_image_size = '336x280';
603
+ google_safe = 'high';
604
+ if (window.nyt_google_contents) { google_contents = nyt_google_contents; }
605
+ else if (window.nyt_google_hints) { google_hints = nyt_google_hints; }
606
+ // -->
607
+ </script>
608
+ <script language="JavaScript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
609
+ <div style="font-family: Arial; font-size: 10px; color:#004276; float: right; margin-right: 9px;"><a href="http://www.nytimes.whsites.net/mediakit/">Advertise on NYTimes.com</a></div>
610
+ </div>
611
+
612
+ </div>
613
+ <!----> <div class="columnGroup ">
614
+
615
+ <div class="singleAd" id="Box3">
616
+ <!-- ADXINFO classification="feature_squares" campaign="nyt2011-regilite-P1-todaysheadlines"--><iframe title="regilite" src="https://myaccount.nytimes.com/regilite?product=TH" width="336" height="90" marginheight="0" marginwidth="0" frameborder="0" vspace="0" hspace="0" scrolling="no"></iframe>
617
+ </div>
618
+
619
+ </div>
620
+ <!----> <div class="columnGroup ">
621
+
622
+ </div>
623
+ <!----> <div class="columnGroup ">
624
+ <div id="mostPopWidget" class="doubleRule nocontent"></div>
625
+ <script src="http://graphics8.nytimes.com/js/app/recommendations/recommendationsModule.js" type="text/javascript" charset="utf-8"></script>
626
+ </div>
627
+ <!----> <div class="columnGroup ">
628
+
629
+ </div>
630
+ <!----> <div class="columnGroup ">
631
+
632
+ <div class="bigAd" id="Box1">
633
+ <!-- ADXINFO classification="Module" campaign="nyt2012_module_theater_go-go_wings_hp_ros_db"-->
634
+
635
+ <!-- MARKETING MODULE -->
636
+ <div style="border:solid #999;border-width:1px;font-family:Arial,sans-serif;text-align:left; width:334px;background:#fff;" class="clearfix wrap">
637
+ <a href="http://www.nytimes.com/adx/bin/adx_click.html?type=goto&opzn&page=www.nytimes.com/yr/mo/day/dining&pos=Box1&sn2=7340e28e/a6bd7fae&sn1=c43c69d1/5c85ff26&camp=nyt2012_module_theater_go-go_wings_hp_ros_db&ad=TH-D-I-NYT-MOD-MOD-M234-ROS-0112&goto=http://theater.nytimes.com/2011/12/26/theater/reviews/lady-bunny-in-that-aint-no-lady-at-la-escuelita-review.html%3FWT.mc_id=TH-D-I-NYT-MOD-MOD-M234-ROS-0112-PH%26WT.mc_ev=click%26WT.mc_c=176941" target="_blank"><img src="http://graphics8.nytimes.com/ads/marketing/mm12/theater_010312.jpg" width="334" height="154" border="0" alt=""></a>
638
+ <div style="padding:7px 9px 0;background:#fff">
639
+ <h2 style="font-size:21px;line-height:23px; margin:0;padding:0 0 4px;"><a style="color:#004276;" target="_blank" href="http://www.nytimes.com/adx/bin/adx_click.html?type=goto&opzn&page=www.nytimes.com/yr/mo/day/dining&pos=Box1&sn2=7340e28e/a6bd7fae&sn1=c43c69d1/5c85ff26&camp=nyt2012_module_theater_go-go_wings_hp_ros_db&ad=TH-D-I-NYT-MOD-MOD-M234-ROS-0112&goto=http://theater.nytimes.com/2011/12/26/theater/reviews/lady-bunny-in-that-aint-no-lady-at-la-escuelita-review.html%3FWT.mc_id=TH-D-I-NYT-MOD-MOD-M234-ROS-0112-HDR%26WT.mc_ev=click%26WT.mc_c=176941">A sewer mouth on go-go wings</a></h2>
640
+
641
+ <p style="margin:0 0 3px; padding:0;font-size: 11px;"><a href="http://www.nytimes.com/adx/bin/adx_click.html?type=goto&opzn&page=www.nytimes.com/yr/mo/day/dining&pos=Box1&sn2=7340e28e/a6bd7fae&sn1=c43c69d1/5c85ff26&camp=nyt2012_module_theater_go-go_wings_hp_ros_db&ad=TH-D-I-NYT-MOD-MOD-M234-ROS-0112&goto=http://theater.nytimes.com/%3FWT.mc_id=TH-D-I-NYT-MOD-MOD-M234-ROS-0112-URL%26WT.mc_ev=click%26WT.mc_c=176941" target="_blank" style="font-size:11px;margin:3px 0;padding:0;font-family:Arial,sans-serif; color:#000; text-transform:uppercase;">ALSO IN THEATER &raquo;</a></p>
642
+ <ul style="font-size:12px;margin:0; padding-bottom: 10px; border-bottom:1px solid #ccc;" class="refer">
643
+ <li style="font-size:12px"><a target="_blank" href="http://www.nytimes.com/adx/bin/adx_click.html?type=goto&opzn&page=www.nytimes.com/yr/mo/day/dining&pos=Box1&sn2=7340e28e/a6bd7fae&sn1=7ce7afc0/1768c8ba&camp=nyt2012_module_theater_go-go_wings_hp_ros_db&ad=TH-D-I-NYT-MOD-MOD-M234-ROS-0112&goto=http://www.nytimes.com/2011/12/24/theater/women-playwrights-and-gender-stereotypes-on-broadway.html%3FWT.mc_id=TH-D-I-NYT-MOD-MOD-M234-ROS-0112-L1%26WT.mc_ev=click%26WT.mc_c=176941" style="color: #004276">Sexism onstage, with a twist</a></li>
644
+ <li style="font-size:12px"><a target="_blank" href="http://www.nytimes.com/adx/bin/adx_click.html?type=goto&opzn&page=www.nytimes.com/yr/mo/day/dining&pos=Box1&sn2=7340e28e/a6bd7fae&sn1=7ce7afc0/1768c8ba&camp=nyt2012_module_theater_go-go_wings_hp_ros_db&ad=TH-D-I-NYT-MOD-MOD-M234-ROS-0112&goto=http://www.nytimes.com/2011/12/24/theater/sheas-performing-arts-center-in-buffalo.html%3FWT.mc_id=TH-D-I-NYT-MOD-MOD-M234-ROS-0112-L2%26WT.mc_ev=click%26WT.mc_c=176941" style="color: #004276">Broadway hits gold in Buffalo</a></li>
645
+ </ul>
646
+ </div>
647
+
648
+ <div style="padding:5px 9px; float:left; width:316px; background:#fff"> <a style="float:left" href="http://www.nytimes.com/adx/bin/adx_click.html?type=goto&opzn&page=www.nytimes.com/yr/mo/day/dining&pos=Box1&sn2=7340e28e/a6bd7fae&sn1=16534b36/2d191906&camp=nyt2012_module_theater_go-go_wings_hp_ros_db&ad=TH-D-I-NYT-MOD-MOD-M234-ROS-0112&goto=http://nytimes.com/%3FWT.mc_id=TH-D-I-NYT-MOD-MOD-M234-ROS-0112-LOGO%26WT.mc_ev=click%26WT.mc_c=176941" target="_blank"><img src="http://graphics8.nytimes.com/ads/marketing/mm09/verticalst/nytimes.gif" alt="nytimes.com" width="116" height="18" border="0"></a><a style="float:right" href="http://www.nytimes.com/adx/bin/adx_click.html?type=goto&opzn&page=www.nytimes.com/yr/mo/day/dining&pos=Box1&sn2=7340e28e/a6bd7fae&sn1=c43c69d1/5c85ff26&camp=nyt2012_module_theater_go-go_wings_hp_ros_db&ad=TH-D-I-NYT-MOD-MOD-M234-ROS-0112&goto=http://theater.nytimes.com/%3FWT.mc_id=TH-D-I-NYT-MOD-MOD-M234-ROS-0112-VRT%26WT.mc_ev=click%26WT.mc_c=176941" target="_blank"><img src="http://graphics8.nytimes.com/ads/marketing/mm09/verticalst/verticals_theater.gif" alt="Theater" width="120" height="18" border="0"></a></div><br clear="all">
649
+
650
+ </div>
651
+ <!-- /MARKETING MODULE -->
652
+
653
+ </div>
654
+
655
+ </div>
656
+ <!----> <div class="columnGroup ">
657
+ <!--[TwoColumnAdLeft - Begin] -->
658
+ <div class="adHeader">
659
+ <h4>
660
+ Advertisements </h4>
661
+ </div>
662
+ <div class="cColumn-TextAdsBox">
663
+ <div class="cColumn-TextAdsLeft">
664
+ <div class="cColumn-TextAd">
665
+ <!-- ADXINFO classification="SiteForADay" campaign="nyt2011_tmag_holiday_issue_dec_s4d_ros"--><div style="width:320px; height:60px;">
666
+
667
+ <a href="http://www.nytimes.com/adx/bin/adx_click.html?type=goto&opzn&page=www.nytimes.com/yr/mo/day/dining&pos=Right5A&sn2=3f434da0/b886fd2a&sn1=496f8323/141c030&camp=nyt2011_tmag_holiday_issue_dec_s4d_ros&ad=TM-D-I-NYT-AD-S4D-THI-ROS-1211-NA&goto=http%3A%2F%2Fwww%2Enytimes%2Ecom%2Findexes%2F2011%2F12%2F08%2Ft%2Dmagazine%2Fholiday%2Dissue%2Findex%2Ehtml%3FWT%2Emc%5Fid%3DTM%2DD%2DI%2DNYT%2DAD%2DS4D%2DTHI%2DROS%2D1211%2DNA%26WT%2Emc%5Fev%3Dclick%26WT%2Emc%5Fc%3D175192" target="_blank">
668
+ <img style="float:left; margin-right:10px;" src="http://graphics8.nytimes.com/adx/images/ADS/28/60/ad.286082/TMag_Holiday_86x60.jpg" width="86" height="60" border="0" style="vertical-align:text-top;"></a>
669
+
670
+ <a href="http://www.nytimes.com/adx/bin/adx_click.html?type=goto&opzn&page=www.nytimes.com/yr/mo/day/dining&pos=Right5A&sn2=3f434da0/b886fd2a&sn1=496f8323/141c030&camp=nyt2011_tmag_holiday_issue_dec_s4d_ros&ad=TM-D-I-NYT-AD-S4D-THI-ROS-1211-NA&goto=http%3A%2F%2Fwww%2Enytimes%2Ecom%2Findexes%2F2011%2F12%2F08%2Ft%2Dmagazine%2Fholiday%2Dissue%2Findex%2Ehtml%3FWT%2Emc%5Fid%3DTM%2DD%2DI%2DNYT%2DAD%2DS4D%2DTHI%2DROS%2D1211%2DNA%26WT%2Emc%5Fev%3Dclick%26WT%2Emc%5Fc%3D175192" target="_blank"> <br />T Magazine: The Holiday Issue</a>
671
+ </div>
672
+ </div>
673
+ </div>
674
+ </div>
675
+ <!--[TwoColumnAdLeft - End] -->
676
+ </div>
677
+ <!----> <div class="columnGroup ">
678
+
679
+ <div class="singleAd" id="Middle5">
680
+ <!-- ADXINFO classification="feature_position" campaign="nyt2012-circ-sf-middle5-3844X"--><a href="http://www.nytimes.com/adx/bin/adx_click.html?type=goto&opzn&page=www.nytimes.com/yr/mo/day/dining&pos=Middle5&sn2=42d7f495/5bcfaf98&sn1=93b4610a/56c1faa2&camp=nyt2012-circ-sf-middle5-3844X&ad=050911-nyt2011-circ-sf-middle5-3844X&goto=https%3A%2F%2Fwww%2Enytimesathome%2Ecom%2Fhd%2F150%3FMediaCode%3DW22AS%26CMP%3D3844X" target="_blank">
681
+ <img src="http://graphics8.nytimes.com/adx/images/ADS/26/58/ad.265876/101452_SomePromiseHD_336x79_sf.jpg" width="336" height="79" border="0"></a>
682
+
683
+ </div>
684
+
685
+ </div>
686
+ <!----> <div class="columnGroup last">
687
+
688
+ </div>
689
+ <div class="columnGroup">
690
+
691
+ <div id="adxSponLinkA"></div>
692
+ <script language="JavaScript" type="text/javascript">
693
+ // Sponlink_A_Short
694
+
695
+ if (document.getElementById("MiddleRight")) { google_targeting = 'content'; }
696
+ NYTD.GoogleAds.getGoogleAds("AFC", {
697
+ google_ad_client:'nytimes_article_var',
698
+ ad_target_list:'sponLinkA'
699
+ });
700
+
701
+ </script>
702
+
703
+ </div>
704
+
705
+
706
+
707
+
708
+
709
+
710
+ <div class="columnGroup">
711
+ </div>
712
+ </div>
713
+ </div><!--close spanAB -->
714
+
715
+ <!-- start MOTH -->
716
+ <div id="insideNYTimes" class="doubleRule">
717
+ <script type="text/javascript" src="http://js.nyt.com/js/app/moth/moth.js"></script>
718
+ <div id="insideNYTimesHeader">
719
+ <div class="navigation"><span id="leftArrow"><img id="mothReverse" src="http://i1.nyt.com/images/global/buttons/moth_reverse.gif" /></span>&nbsp;<span id="rightArrow"><img id="mothForward" src="http://i1.nyt.com/images/global/buttons/moth_forward.gif" /></span></div>
720
+ <h4>
721
+ Inside NYTimes.com </h4>
722
+ </div>
723
+
724
+
725
+ <div id="insideNYTimesScrollWrapper">
726
+ <table id="insideNYTimesBrowser" cellspacing="0">
727
+ <tbody>
728
+ <tr>
729
+ <td class="first">
730
+ <div class="story">
731
+ <h6 class="kicker">
732
+ <a href="http://movies.nytimes.com/pages/movies/index.html">Movies &raquo;</a>
733
+ </h6>
734
+ <div class="mothImage">
735
+ <a href="http://www.nytimes.com/2012/01/03/movies/tintin-is-a-new-breed-of-comic-book-hero-for-most-americans.html"><img src="http://i1.nyt.com/images/2012/01/03/movies/03moth_tintin/03moth_tintin-moth.jpg" alt="An Innocent in America" width="151" height="151" /></a>
736
+ </div>
737
+ <h6 class="headline"><a href="http://www.nytimes.com/2012/01/03/movies/tintin-is-a-new-breed-of-comic-book-hero-for-most-americans.html">An Innocent in America</a></h6>
738
+ </div>
739
+ </td>
740
+ <td>
741
+ <div class="story">
742
+ <h6 class="kicker">
743
+ <a href="http://www.nytimes.com/pages/opinion/index.html">Opinion &raquo;</a>
744
+ </h6>
745
+ <div class="mothImage">
746
+ <a href="http://www.nytimes.com/roomfordebate/2012/01/02/are-teachers-overpaid/"><img src="http://i1.nyt.com/images/2012/01/03/opinion/03moth_rfd/03moth_rfd-moth.jpg" alt="Room for Debate: Are Teachers Overpaid?" width="151" height="151" /></a>
747
+ </div>
748
+ <h6 class="headline"><a href="http://www.nytimes.com/roomfordebate/2012/01/02/are-teachers-overpaid/">Room for Debate: Are Teachers Overpaid?</a></h6>
749
+ </div>
750
+ </td>
751
+ <td>
752
+ <div class="story">
753
+ <h6 class="kicker">
754
+ <a href="http://www.nytimes.com/pages/world/index.html">World &raquo;</a>
755
+ </h6>
756
+ <div class="mothImage">
757
+ <a href="http://www.nytimes.com/2012/01/03/world/asia/china-set-to-punish-another-human-rights-activist.html"><img src="http://i1.nyt.com/images/2012/01/03/world/03moth_beijing/03moth_beijing-moth.jpg" alt="China Set to Punish Human Rights Activists" width="151" height="151" /></a>
758
+ </div>
759
+ <h6 class="headline"><a href="http://www.nytimes.com/2012/01/03/world/asia/china-set-to-punish-another-human-rights-activist.html">China Set to Punish Human Rights Activists</a></h6>
760
+ </div>
761
+ </td>
762
+ <td>
763
+ <div class="story">
764
+ <h6 class="kicker">
765
+ <a href="http://www.nytimes.com/pages/business/index.html">Business &raquo;</a>
766
+ </h6>
767
+ <div class="mothImage">
768
+ <a href="http://dealbook.nytimes.com/2012/01/02/on-wall-street-a-renewed-optimism-for-deals/"><img src="http://i1.nyt.com/images/2012/01/03/business/03moth_merger/03moth_merger-moth.jpg" alt="A Renewed Optimism for Deals On Wall Street" width="151" height="151" /></a>
769
+ </div>
770
+ <h6 class="headline"><a href="http://dealbook.nytimes.com/2012/01/02/on-wall-street-a-renewed-optimism-for-deals/">A Renewed Optimism for Deals On Wall Street</a></h6>
771
+ </div>
772
+ </td>
773
+ <td>
774
+ <div class="story">
775
+ <h6 class="kicker"><a href="http://www.nytimes.com/pages/opinion/index.html">Opinion &raquo;</a></h6>
776
+ <h3><a href="http://opinionator.blogs.nytimes.com/2012/01/02/fighting-over-parsley/">Borderlines: Fighting Over Parsley</a></h3>
777
+ <p class="summary">Competing histories across the Strait of Gibraltar contribute to its peculiar exclaves.</p>
778
+ </div>
779
+ </td>
780
+ <td>
781
+ <div class="story">
782
+ <h6 class="kicker">
783
+ <a href="http://theater.nytimes.com/pages/theater/index.html">Theater &raquo;</a>
784
+ </h6>
785
+ <div class="mothImage">
786
+ <a href="http://www.nytimes.com/2012/01/03/theater/darren-criss-of-glee-fills-daniel-radcliffes-shoes.html"><img src="http://i1.nyt.com/images/2012/01/03/theater/03moth_criss/03moth_criss-moth.jpg" alt="&lsquo;Glee&rsquo; Star Gets His Broadway Turn" width="151" height="151" /></a>
787
+ </div>
788
+ <h6 class="headline"><a href="http://www.nytimes.com/2012/01/03/theater/darren-criss-of-glee-fills-daniel-radcliffes-shoes.html">&lsquo;Glee&rsquo; Star Gets His Broadway Turn</a></h6>
789
+ </div>
790
+ </td>
791
+ <td class="hidden">
792
+ <div class="story">
793
+ <h6 class="kicker">
794
+ <a href="http://www.nytimes.com/pages/science/index.html">Science &raquo;</a> </h6>
795
+ <div class="mothImage">
796
+ <a href="http://www.nytimes.com/2012/01/03/science/animal-studies-move-from-the-lab-to-the-lecture-hall.html?ref=science"><span class="img" src="http://i1.nyt.com/images/2012/01/03/science/03MOTH_ANIM/03MOTH_ANIM-moth.jpg" alt="Animal Studies Cross Campus to Lecture Hall" width="151" height="151" /></a>
797
+ </div>
798
+ <h6 class="headline"><a href="http://www.nytimes.com/2012/01/03/science/animal-studies-move-from-the-lab-to-the-lecture-hall.html?ref=science">Animal Studies Cross Campus to Lecture Hall</a></h6>
799
+ </div>
800
+ </td>
801
+ <td class="hidden">
802
+ <div class="story">
803
+ <h6 class="kicker"><a href="http://www.nytimes.com/pages/opinion/index.html">Opinion &raquo;</a></h6>
804
+ <h3><a href="http://opinionator.blogs.nytimes.com/2012/01/02/it-costs-more-but-is-it-worth-more/">Emanuel and Pearson: Worth the Cost?</a></h3>
805
+ <p class="summary">Medicare should demand evidence that a costly cancer treatment is more effective than cheaper options.</p>
806
+ </div>
807
+ </td>
808
+ <td class="hidden">
809
+ <div class="story">
810
+ <h6 class="kicker">
811
+ <a href="http://www.nytimes.com/pages/national/index.html">U.S. &raquo;</a>
812
+ </h6>
813
+ <div class="mothImage">
814
+ <a href="http://www.nytimes.com/2012/01/03/us/chicagoshovels-web-site-gives-lowdown-on-snow.html"><span class="img" src="http://i1.nyt.com/images/2012/01/03/us/03moth_snow/03moth_snow-moth.jpg" alt="ChicagoShovels Web Site Gives Lowdown on Snow" width="151" height="151" /></a>
815
+ </div>
816
+ <h6 class="headline"><a href="http://www.nytimes.com/2012/01/03/us/chicagoshovels-web-site-gives-lowdown-on-snow.html">ChicagoShovels Web Site Gives Lowdown on Snow</a></h6>
817
+ </div>
818
+ </td>
819
+ <td class="hidden">
820
+ <div class="story">
821
+ <h6 class="kicker">
822
+ <a href="http://www.nytimes.com/pages/nyregion/index.html">N.Y. / Region &raquo;</a>
823
+ </h6>
824
+ <div class="mothImage">
825
+ <a href="http://www.nytimes.com/2012/01/03/nyregion/nowhere-to-go-patients-linger-in-hospitals-at-a-high-cost.html"><span class="img" src="http://i1.nyt.com/images/2012/01/03/nyregion/03moth_patient/03moth_patient-moth.jpg" alt="Nowhere to Go, Patients Linger in Hospitals" width="151" height="151" /></a>
826
+ </div>
827
+ <h6 class="headline"><a href="http://www.nytimes.com/2012/01/03/nyregion/nowhere-to-go-patients-linger-in-hospitals-at-a-high-cost.html">Nowhere to Go, Patients Linger in Hospitals</a></h6>
828
+ </div>
829
+ </td>
830
+ <td class="hidden">
831
+ <div class="story">
832
+ <h6 class="kicker"><a href="http://www.nytimes.com/pages/opinion/index.html">Opinion &raquo;</a></h6>
833
+ <h3><a href="http://www.nytimes.com/2012/01/02/opinion/in-nigeria-boko-haram-is-not-the-problem.html">Op-Ed: Boko Haram Is Not the Problem</a></h3>
834
+ <p class="summary">In Nigeria, designating Boko Haram as a foreign terrorist group will only inflame anti-Americanism among Muslims.</p>
835
+ </div>
836
+ </td>
837
+ <td class="hidden">
838
+ <div class="story">
839
+ <h6 class="kicker">
840
+ <a href="http://www.nytimes.com/pages/science/index.html">Science &raquo;</a>
841
+ </h6>
842
+ <div class="mothImage">
843
+ <a href="http://well.blogs.nytimes.com/2012/01/02/a-recipe-for-simplifying-life-ditch-all-the-recipes/"><span class="img" src="http://i1.nyt.com/images/2012/01/03/science/03MOTH_WELL/03MOTH_WELL-moth.jpg" alt="A Recipe for Simplifying Life: Ditch All the Recipes" width="151" height="151" /></a>
844
+ </div>
845
+ <h6 class="headline"><a href="http://well.blogs.nytimes.com/2012/01/02/a-recipe-for-simplifying-life-ditch-all-the-recipes/">A Recipe for Simplifying Life: Ditch All the Recipes</a></h6>
846
+ </div>
847
+ </td>
848
+ </tr>
849
+ </tbody>
850
+ </table>
851
+ </div>
852
+
853
+ </div><!-- end #insideNYTimes -->
854
+
855
+ </div><!--close main -->
856
+ <div id="footer">
857
+ <ul class="first">
858
+ <li class="first"><a href="http://www.nytimes.com">Home</a></li>
859
+ <li >
860
+ <a href="http://www.nytimes.com/pages/world/index.html">World</a>
861
+ </li>
862
+ <li >
863
+ <a href="http://www.nytimes.com/pages/national/index.html">U.S.</a>
864
+ </li>
865
+ <li >
866
+ <a href="http://www.nytimes.com/pages/nyregion/index.html">N.Y. / Region</a>
867
+ </li>
868
+ <li >
869
+ <a href="http://www.nytimes.com/pages/business/index.html">Business</a>
870
+ </li>
871
+ <li >
872
+ <a href="http://www.nytimes.com/pages/technology/index.html">Technology</a>
873
+ </li>
874
+ <li >
875
+ <a href="http://www.nytimes.com/pages/science/index.html">Science</a>
876
+ </li>
877
+ <li >
878
+ <a href="http://www.nytimes.com/pages/health/index.html">Health</a>
879
+ </li>
880
+ <li >
881
+ <a href="http://www.nytimes.com/pages/sports/index.html">Sports</a>
882
+ </li>
883
+ <li >
884
+ <a href="http://www.nytimes.com/pages/opinion/index.html">Opinion</a>
885
+ </li>
886
+ <li >
887
+ <a href="http://www.nytimes.com/pages/arts/index.html">Arts</a>
888
+ </li>
889
+ <li >
890
+ <a href="http://www.nytimes.com/pages/style/index.html">Style</a>
891
+ </li>
892
+ <li >
893
+ <a href="http://www.nytimes.com/pages/travel/index.html">Travel</a>
894
+ </li>
895
+ <li >
896
+ <a href="http://www.nytimes.com/pages/jobs/index.html">Jobs</a>
897
+ </li>
898
+ <li >
899
+ <a href="http://www.nytimes.com/pages/realestate/index.html">Real Estate</a>
900
+ </li>
901
+ <li >
902
+ <a href="http://www.nytimes.com/pages/automobiles/index.html">Autos</a>
903
+ </li>
904
+ <li><a href="http://spiderbites.nytimes.com/">Site Map</a></li>
905
+ </ul> <ul>
906
+ <li class="first"><a href="http://www.nytimes.com/ref/membercenter/help/copyright.html">&copy; 2011</a> <a href="http://www.nytco.com/">The New York Times Company</a></li>
907
+ <li><a href="http://www.nytimes.com/privacy">Privacy</a></li>
908
+ <li><a href="http://www.nytimes.com/ref/membercenter/help/privacy.html#pp">Your Ad Choices</a></li>
909
+ <li><a href="http://www.nytimes.com/ref/membercenter/help/agree.html">Terms of Service</a></li>
910
+ <li class="termsOfSale"><a href="http://www.nytimes.com/content/help/rights/sale/terms-of-sale.html">Terms of Sale</a></li>
911
+ <li><a href="http://www.nytimes.com/pages/corrections/index.html">Corrections</a></li>
912
+ <li><a class="rssButton" href="http://www.nytimes.com/rss">RSS</a></li>
913
+ <li><a href="http://www.nytimes.com/membercenter/sitehelp.html">Help</a></li>
914
+ <li><a href="http://www.nytimes.com/ref/membercenter/help/infoservdirectory.html">Contact Us</a></li>
915
+ <li><a href="http://www.nytco.com/careers">Work for Us</a></li>
916
+ <li><a href="http://www.nytimes.whsites.net/mediakit/">Advertise</a></li>
917
+ </ul>
918
+ </div>
919
+ </div><!--close page -->
920
+ </div><!--close shell -->
921
+ <IMG SRC="/adx/bin/clientside/43b77b07Q2F9Q5Ct3Q2Bhy0Y@Q3F3)Q2FQ5C@XQ3F((@yQ3F@" height="1" width="3">
922
+
923
+
924
+
925
+ </body>
926
+
927
+
928
+
929
+ <!-- Start UPT call -->
930
+ <img height="1" width="3" border=0 src="http://up.nytimes.com/?d=0/23/&t=2&s=0&ui=0&r=&u=www%2enytimes%2ecom%2f2012%2f01%2f04%2fdining%2fsavory%2dscones%2dwith%2donion%2dcurrants%2dand%2dcaraway%2drecipe%2ehtml%3fref%3ddining">
931
+ <!-- End UPT call -->
932
+
933
+
934
+ <script language="JavaScript"><!--
935
+ var dcsvid="0";
936
+ var regstatus="non-registered";
937
+ //--></script>
938
+ <script src="http://graphics8.nytimes.com/js/app/analytics/trackingTags_v1.1.js" type="text/javascript"></script>
939
+ <noscript>
940
+ <div><img alt="DCSIMG" id="DCSIMG" width="1" height="1" src="http://wt.o.nytimes.com/dcsym57yw10000s1s8g0boozt_9t1x/njs.gif?dcsuri=/nojavascript&amp;WT.js=No&amp;WT.tv=1.0.7"/></div>
941
+ </noscript>
942
+
943
+
944
+
945
+ </html>
946
+
947
+
948
+
949
+
950
+
@@ -117,33 +117,33 @@ module Distillery
117
117
 
118
118
  it 'gives one point per comma in the text of an element' do
119
119
  doc = document_of("<p>foo,bar,baz</p>", :score!)
120
- doc.scores['/html/body/p'].should == 68.0
120
+ doc.scores['/html/body/p'].should == 4
121
121
  end
122
122
 
123
123
  it 'gives one point per chunk of 100 characters, max of 3' do
124
124
  doc = document_of("<p>#{'f'*201}</p>", :score!)
125
- doc.scores['/html/body/p'].should == 68.0
125
+ doc.scores['/html/body/p'].should == 4
126
126
 
127
127
  doc = document_of("<p>#{'f'*1000}</p>", :score!)
128
- doc.scores['/html/body/p'].should == 85.0
128
+ doc.scores['/html/body/p'].should == 5
129
129
  end
130
130
 
131
131
  it 'adds its own points to its parent' do
132
132
  doc = document_of("<div><div>foo</div></div>", :score!)
133
- doc.scores['/html/body/div/div'].should == 30.0
134
- doc.scores['/html/body/div'].should == 34.0
133
+ doc.scores['/html/body/div/div'].should == 2
134
+ doc.scores['/html/body/div'].should == 2
135
135
  end
136
136
 
137
137
  it 'adds 1/2 its points to its grandparent' do
138
138
  doc = document_of("<div><div><div>foo</div></div></div>", :score!)
139
- doc.scores['/html/body/div/div/div'].should == 26
140
- doc.scores['/html/body/div/div'].should == 30.0
141
- doc.scores['/html/body/div'].should == 17.0
139
+ doc.scores['/html/body/div/div/div'].should == 2
140
+ doc.scores['/html/body/div/div'].should == 2
141
+ doc.scores['/html/body/div'].should == 1
142
142
  end
143
143
 
144
144
  it 'scales the final score by the inverse link density' do
145
145
  doc = document_of("<p>foobar<a>baz</a></p>", :score!)
146
- doc.scores['/html/body/p'].should == 22.666666666666668
146
+ doc.scores['/html/body/p'].should == 1.3333333333333335
147
147
  end
148
148
 
149
149
  end
@@ -275,8 +275,8 @@ module Distillery
275
275
  doc = document_of("<div><div class='is-included'>#{'f,'*10}</div><div class='also-included'>#{'f,'*10}</div></div>")
276
276
  doc.distill!.should =~ /is-included/
277
277
  doc.distill!.should =~ /also-included/
278
- doc.scores['/html/body/div/div[1]'].should == 165.0
279
- doc.scores['/html/body/div/div[2]'].should == 165.0
278
+ doc.scores['/html/body/div/div[1]'].should == 11
279
+ doc.scores['/html/body/div/div[2]'].should == 11
280
280
  end
281
281
 
282
282
  it 'returns sibling elements to the top scoring one that have > 25% of the top scoring element\'s score' do
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.0
4
+ version: 0.4.1
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-20 00:00:00.000000000Z
12
+ date: 2012-01-03 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: nokogiri
16
- requirement: &2162966860 !ruby/object:Gem::Requirement
16
+ requirement: &2154269260 !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: *2162966860
24
+ version_requirements: *2154269260
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: slop
27
- requirement: &2162965640 !ruby/object:Gem::Requirement
27
+ requirement: &2154267540 !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: *2162965640
35
+ version_requirements: *2154267540
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rspec
38
- requirement: &2162965140 !ruby/object:Gem::Requirement
38
+ requirement: &2154266520 !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: *2162965140
46
+ version_requirements: *2154266520
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: guard
49
- requirement: &2162964740 !ruby/object:Gem::Requirement
49
+ requirement: &2154265920 !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: *2162964740
57
+ version_requirements: *2154265920
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: guard-rspec
60
- requirement: &2162964240 !ruby/object:Gem::Requirement
60
+ requirement: &2154265060 !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: *2162964240
68
+ version_requirements: *2154265060
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: ruby-debug19
71
- requirement: &2162963800 !ruby/object:Gem::Requirement
71
+ requirement: &2154264440 !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: *2162963800
79
+ version_requirements: *2154264440
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: rb-fsevent
82
- requirement: &2162963340 !ruby/object:Gem::Requirement
82
+ requirement: &2154263820 !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: *2162963340
90
+ version_requirements: *2154263820
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: growl
93
- requirement: &2162962900 !ruby/object:Gem::Requirement
93
+ requirement: &2154263140 !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: *2162962900
101
+ version_requirements: *2154263140
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.
@@ -143,6 +143,7 @@ files:
143
143
  - spec/fixtures/pina_collada_cupcakes.html
144
144
  - spec/fixtures/pumpkin_scones.html
145
145
  - spec/fixtures/rhubarb.html
146
+ - spec/fixtures/savory_scones.html
146
147
  - spec/fixtures/swiss_chard_pie.html
147
148
  - spec/fixtures/tofu_bowl.html
148
149
  - spec/fixtures/vanilla_pound_cake.html
@@ -196,6 +197,7 @@ test_files:
196
197
  - spec/fixtures/pina_collada_cupcakes.html
197
198
  - spec/fixtures/pumpkin_scones.html
198
199
  - spec/fixtures/rhubarb.html
200
+ - spec/fixtures/savory_scones.html
199
201
  - spec/fixtures/swiss_chard_pie.html
200
202
  - spec/fixtures/tofu_bowl.html
201
203
  - spec/fixtures/vanilla_pound_cake.html