File Coverage

blib/lib/DDG/Publisher/Site/Duckduckgo/Root.pm
Criterion Covered Total %
statement 3 22 13.6
branch n/a
condition n/a
subroutine 1 20 5.0
pod 0 3 0.0
total 4 45 8.8


line stmt bran cond sub pod time code
1             package DDG::Publisher::Site::Duckduckgo::Root;
2             $DDG::Publisher::Site::Duckduckgo::Root::VERSION = '1043';
3 1     1   954 use MooX;
  1         2  
  1         5  
4              
5             with qw(
6             DDG::Publisher::DirRole
7             );
8              
9 0     0 0   sub path { '/' }
10              
11             sub pages {{
12             about => sub {
13 0     0     copyright_footer => 1,
14             no_content_internal => 1,
15             no_spacer => 1,
16             no_cw => 1,
17             alt_header => 1,
18             alt_header_text => 1,
19             js_page_type => 'About',
20             team_members => [{
21             name => 'Gabriel Weinberg',
22             title => 'Founder',
23             info => 'Family guy',
24             image => 'gabriel',
25             link => 'https://twitter.com/yegg/',
26             },{
27             name => 'Caine Tighe',
28             title => 'Core Components',
29             info => 'Border Collie',
30             image => 'caine',
31             link => 'http://opensesame.st/',
32             },{
33             name => 'Zac Pappis',
34             title => 'Duck.co',
35             info => 'Lead Vocalist',
36             image => 'zac',
37             link => 'https://twitter.com/zacpappis',
38             },{
39             name => 'Russell Holt',
40             title => 'Duck Duck Hack',
41             info => 'Geek Dad',
42             image => 'russell',
43             link => 'http://beicheequi9vieveetohc3aequohngu0ohsh2zeihef7eecha9op7choofohcae.com/',
44             },{
45             name => 'Jaryd Malbin',
46             title => 'Ops',
47             info => 'BOFH',
48             image => 'jaryd',
49             link => 'https://www.youtube.com/watch?v=09j6vMdKi3E',
50             },{
51             name => 'Doug Brown',
52             title => 'Front-End',
53             info => 'Coffee Snob',
54             image => 'doug',
55             link => 'https://twitter.com/sdougbrown',
56             },{
57             name => 'Chris Morast',
58             title => 'Design',
59             info => 'Margarita Enthusiast',
60             image => 'chris',
61             link => 'http://christophermorast.com/',
62             },{
63             name => 'Jag Talon',
64             title => 'Open Source',
65             info => 'Internet Survival Expert',
66             image => 'jag',
67             link => 'https://twitter.com/juantalon',
68             },{
69             name => 'Brian Stoner',
70             title => 'Front-End',
71             info => 'Person',
72             image => 'brian',
73             link => 'https://twitter.com/bsstoner',
74             },{
75             name => 'John Barrett',
76             title => 'Duck.co',
77             info => 'Discombobulator',
78             image => 'john',
79             link => 'https://github.com/jbarrett/',
80             },{
81             name => 'Jason Dorweiler',
82             title => 'Duck Duck Hack',
83             info => 'Robot',
84             image => 'jason',
85             link => 'http://www.transistor.io',
86             },{
87             name => 'Maria Grazia Alastra',
88             title => 'Duck Duck Hack',
89             info => 'Time Traveler',
90             image => 'maria',
91             link => 'https://github.com/MariagraziaAlastra/',
92             },{
93             name => 'Abe Yang',
94             title => 'Design',
95             info => 'Hero',
96             image => 'abe',
97             link => 'https://twitter.com/abeyang',
98             },{
99             name => 'Thom van der Weerd',
100             title => 'Design',
101             info => 'Pixel Whisperer',
102             image => 'thom',
103             link => 'http://thomweerd.com/',
104             }],
105            
106             ddg_events => [{
107             date => 'October 29, 2007',
108             title => 'The Beginning',
109             snippet => 'DuckDuckGo all started with the name and an idea to make answers easier to find.',
110             type => 'company',
111             icon => 'idea',
112             year => '2007',
113             },{
114             date => 'February 29, 2008',
115             title => 'It’s Official',
116             snippet => 'In early 2008, Gabriel emerged from his basement with a plan. He soon made it official by incorporating DuckDuckGo.',
117             type => 'company',
118             icon => 'idea',
119             year => '2008',
120             },{
121             date => 'September 25, 2008',
122             title => 'Launch!',
123             snippet => 'Within the year, DuckDuckGo was announced to the Hacker News community. We survived!',
124             type => 'news',
125             icon => 'launch',
126             },{
127             date => 'January 22, 2009',
128             title => 'Anonymous',
129             snippet => 'Inspired by conversations on reddit and because search history is so personal, DuckDuckGo decides to take a bold move and not collect or share any personal information on its users.',
130             type => 'news',
131             icon => 'privacy',
132             year => '2009',
133             },{
134             date => 'July 21, 2010',
135             title => 'Duck.co',
136             snippet => 'DuckDuckGo’s community is its extended team. Duck.co was born from the community’s need for a centralized place to swap ideas.',
137             type => 'news',
138             icon => 'community',
139             year => '2010',
140             },{
141             date => 'January 11, 2011',
142             title => 'The Billboard',
143             snippet => 'DuckDuckGo delivered a message in the heart of the tech world: a billboard in San Francisco that read “Google tracks you. We don’t.”',
144             type => 'news',
145             icon => 'billboard',
146             year => '2011',
147             },{
148             date => 'February 26, 2011',
149             title => '2011 Donations',
150             snippet => 'DuckDuckGo relies on a lot of great open-source projects to keep our gears spinning. In 2011, we decided to start paying some of that love back to the open-source community, donating to nginx, FreeBSD, Tor, Clamwin, Tahoe-LAFS and OpenSSH.',
151             type => 'company',
152             subtype => 'foss',
153             icon => 'love',
154             },{
155             date => 'October 13, 2011',
156             title => 'Series “A” Funding',
157             snippet => 'Four years in, DuckDuckGo secures funding from Union Square Ventures, a group that shares the same vision of smarter search and real privacy.',
158             type => 'company',
159             },{
160             date => 'November 30, 2011',
161             title => 'Employee #1',
162             snippet => 'For years Gabriel was the only full-timer. Caine Tighe changed all that, coming on board as our first official employee.',
163             type => 'company',
164             icon => 'growth',
165             },{
166             date => 'December 1, 2011',
167             title => 'Headquarters',
168             snippet => 'DuckDuckGo moves out of Gabriel’s basement and into our fortress in Paoli, PA, USA. It really does look like a castle!',
169             type => 'company',
170             },{
171             date => 'January 16, 2012',
172             title => 'Redesign',
173             snippet => 'Our first major visual overhaul introduced a new design that made you not want to close your browser the second you saw our results page. ',
174             type => 'news',
175             icon => 'design',
176             year => '2012',
177             },{
178             date => 'February 13, 2012',
179             title => '1,000,000!',
180             snippet => 'Reaching 1 million searches a day was a major milestone for us, having steadily grown from 100 to 1,000 to 10,000 to 100,000 and finally to 1,000,000. That’s more than 10 searches a second!',
181             type => 'traffic',
182             icon => 'growth',
183             },{
184             date => 'March 7, 2012',
185             title => '2012 Donations',
186             snippet => 'For our second year of open-source donations we chose the theme “open data/information.” The company-directed portion went to Tor and the Wikimedia foundation. The community-directed portion went to unhosted.org, the Diaspora project, Freenet, and friendica.',
187             type => 'company',
188             subtype => 'foss',
189             icon => 'love',
190             },{
191             date => 'May 1, 2012',
192             title => 'DuckDuckHack',
193             snippet => 'Our vision of getting you the best instant answers from the best sources finally merged with our vibrant community when we introduced DuckDuckHack: our open-source platform where anyone can suggest or create instant answers for our results.',
194             type => 'news',
195             icon => 'community',
196             },{
197             date => 'February 25, 2013',
198             title => '2013 Donations',
199             snippet => 'Our 3rd year of open-source donations were under the theme of “fix tracking.” The company portion went to the Open Street Map Foundation and the Electronic Frontier Foundation. The community directed donations to Riseup, F-Droid, NoScript, Cryptocat, and Javascript Blocker. ',
200             type => 'company',
201             subtype => 'foss',
202             icon => 'love',
203             year => '2013',
204             },{
205             date => 'June 10, 2013',
206             title => '2,000,000',
207             snippet => '483 days after reaching one million, we doubled our daily searches. This milestone happened days after people started sharing private alternatives (like us) in the wake of the NSA revelations. ',
208             type => 'traffic',
209             icon => 'growth',
210             },{
211             date => 'June 17, 2013',
212             title => '3,000,000',
213             snippet => 'Just eight days after hitting two million searches per day, we added another million. To put this in perspective, it took 1,445 days to get to one million from the day we launched.',
214             type => 'traffic',
215             icon => 'growth',
216             },{
217             date => 'June 27, 2013',
218             title => 'Search & Stories',
219             snippet => 'DuckDuckGo delivers an app that gives you the most interesting stories of the day packed with a convenient way to search. TIME ranked it in their, “Top 50 iPhone apps of 2013.”',
220             type => 'news',
221             icon => 'stories',
222             },{
223             date => 'August 19, 2013',
224             title => '4,000,000',
225             snippet => 'Just over two months after hitting two million searches/day, we doubled our traffic again. People start to realize we’re not a Chinese restaurant.',
226             type => 'traffic',
227             icon => 'growth',
228             },{
229             date => 'February 26, 2014',
230             title => '5,000,000',
231             snippet => 'Five million direct searches in one day. That’s 150 million a month, 1.825 billion a year! We will stop marking each million milestone now.',
232             type => 'traffic',
233             icon => 'growth',
234             year => '2014',
235             },{
236             date => 'March 12, 2014',
237             title => '2014 Donations',
238             snippet => 'Needed more than ever, our 2014 donation theme was, “secure communications.” Our company directed portion went to SecureDrop and NoiseTor. The community directed donations went to Lavabit, Riseup, Mailpile, and I2P.',
239             type => 'company',
240             subtype => 'foss',
241             icon => 'love',
242             },{
243             date => 'March 17, 2014',
244             title => 'Employee #10',
245             snippet => 'We have thousands of fewer employees than the big guys, but each one is part of our family and grew out of our community. Brian Stoner joined us just in time!',
246             type => 'company',
247             icon => 'growth',
248             },{
249             date => 'May 19, 2014',
250             title => 'Reimagined',
251             snippet => 'DuckDuckGo launches a reimagined and redesigned search engine with a refined look and a focus on smarter answers.',
252             type => 'company',
253             icon => 'design',
254             },{
255             date => 'September 17, 2014',
256             title => 'Safari',
257             snippet => 'Apple begins including DuckDuckGo in Safari, with the launch of iOS 8 and OS X Yosemite.',
258             type => 'company',
259             icon => 'growth',
260             },{
261             date => 'November 10, 2014',
262             title => 'Firefox',
263             snippet => 'Mozilla adds DuckDuckGo as a built-in option to Firefox and Firefox OS.',
264             type => 'company',
265             icon => 'growth',
266             }],
267            
268             news_articles => [{
269             source => 'theguardian',
270             source_full => 'The Observer',
271             source_link => 'http://www.theguardian.com/technology/2014/apr/04/duckduckgo-gabriel-weinberg-secure-searches',
272             author_name => 'Alex Hern',
273             date => '4 April 2014',
274             headline => 'DuckDuckGo: the plucky upstart taking on Google with secure searches',
275             snippet => 'Gabriel Weinberg launched DuckDuckGo as a search engine that puts privacy first, rather than collecting data for advertisers and security agencies...',
276             },{
277             source => 'fastco',
278             source_full => 'FastCoLabs',
279             source_link => 'http://www.fastcolabs.com/3026698/inside-duckduckgo-googles-tiniest-fiercest-competitor',
280             author_name => 'John Paul Titlow',
281             date => '20 February 2014',
282             headline => 'Inside DuckDuckGo, Google’s Tiniest, Fiercest Competitor',
283             snippet => 'In 2008, launching a search engine seemed like a crazy idea. Here’s how Gabriel Weinberg proved the critics wrong.',
284             },{
285             source => 'wapost',
286             source_full => 'The Washington Post',
287             source_link => 'http://www.washingtonpost.com/business/ducking-google-in-search-engines/2012/11/09/6cf3af10-2842-11e2-bab2-eda299503684_story.html',
288             author_name => 'Michael Rosenwald',
289             date => '9 November 2012',
290             headline => 'Ducking Google in search engines',
291             snippet => 'Not far from Valley Forge, around the corner from Bravo Pizza, up the road from Paoli Auto Body, there is an odd-looking office building that resembles a stone castle. An eye doctor is on the first floor. On the second floor is a search engine.',
292             }]
293             },
294 0     0     bang => sub {},
295             index => sub {
296 0     0     no_wrapper => 1,
297             homepage => 1,
298             },
299 0     0     newbang => sub {},
300 0     0     params => sub {},
301             settings => sub {
302 0     0     js_skip_init => 1,
303             js_include_g => 1,
304             },
305             styleguide => sub {
306 0     0     copyright_footer => 1,
307             no_content_internal => 1,
308             no_spacer => 1,
309             no_cw => 1,
310             alt_header => 1,
311             alt_header_text => 1,
312             icons => ['plus','clear-field','home','chev-down','chev-up','chev-left','chev-right','more','move','user','star','close-menu','menu','grid','check-sign','eye','loupe','check','region','cry','uploaded','prev','next','close-grid','marker','arrow-left','arrow-right','arrow-up','arrow-down',],
313             colors => ['white','white-alt','silver','ash','grey','dim','jet','red-light','red','red-dark','green','blue-light','blue','blue-dark',],
314             },
315             spread => sub {
316 0     0     copyright_footer => 2,
317             no_content_internal => 1,
318             no_spacer => 1,
319             no_cw => 1,
320             alt_header => 1,
321             alt_header_text => 1,
322             js_page_type => 'Spread',
323             },
324             tour => sub {
325 0     0     no_content_internal => 1,
326             no_spacer => 1,
327             no_cw => 1,
328             alt_header => 1,
329             alt_header_text => 1,
330             js_page_type => 'Tour',
331             },
332              
333             ## TODO
334              
335 0     0     api => sub {},
336 0     0     duckduckbot => sub {},
337 0     0     duckduckpreview => sub {},
338             feedback => sub {
339 0     0     no_logo => 1,
340             },
341             privacy => sub {
342 0     0     copyright_footer => 1,
343             no_content_internal => 1,
344             no_spacer => 1,
345             no_cw => 1,
346             alt_header => 1,
347             alt_header_text => 1,
348             },
349 0     0     search_box => sub {},
350              
351 0     0 0   }}
352              
353             sub statics {{
354             "50x" => sub {
355 0     0     no_wrapper => 1,
356             homepage => 1,
357             },
358 0     0 0   }}
359              
360             1;
361              
362             __END__
363              
364             =pod
365              
366             =head1 NAME
367              
368             DDG::Publisher::Site::Duckduckgo::Root
369              
370             =head1 VERSION
371              
372             version 1043
373              
374             =head1 AUTHOR
375              
376             Torsten Raudssus <torsten@raudss.us>
377              
378             =head1 COPYRIGHT AND LICENSE
379              
380             This software is Copyright (c) 2012 by DuckDuckGo, Inc. L<http://duckduckgo.com/>.
381              
382             This is free software, licensed under:
383              
384             The Apache License, Version 2.0, January 2004
385              
386             =cut