rtfmd 0.10301.17

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.
Files changed (40) hide show
  1. data/HISTORY.md +93 -0
  2. data/LICENSE +21 -0
  3. data/README.md +393 -0
  4. data/bin/rtfm +0 -0
  5. data/bin/rtfmd +4 -0
  6. data/config/rtfmd.ru +33 -0
  7. data/docs/sanitization.md +32 -0
  8. data/lib/gollum.rb +39 -0
  9. data/lib/gollum/blob_entry.rb +78 -0
  10. data/lib/gollum/committer.rb +217 -0
  11. data/lib/gollum/file.rb +64 -0
  12. data/lib/gollum/frontend/app.rb +96 -0
  13. data/lib/gollum/frontend/indexapp.rb +17 -0
  14. data/lib/gollum/frontend/public/css/gollum.css +660 -0
  15. data/lib/gollum/frontend/public/css/ie7.css +69 -0
  16. data/lib/gollum/frontend/public/css/ronn.css +40 -0
  17. data/lib/gollum/frontend/public/css/template.css +381 -0
  18. data/lib/gollum/frontend/public/images/icon-sprite.png +0 -0
  19. data/lib/gollum/frontend/public/javascript/gollum.js +137 -0
  20. data/lib/gollum/frontend/public/javascript/gollum.placeholder.js +54 -0
  21. data/lib/gollum/frontend/public/javascript/jquery.color.js +123 -0
  22. data/lib/gollum/frontend/public/javascript/jquery.js +7179 -0
  23. data/lib/gollum/frontend/templates/error.mustache +8 -0
  24. data/lib/gollum/frontend/templates/index.mustache +25 -0
  25. data/lib/gollum/frontend/templates/layout.mustache +28 -0
  26. data/lib/gollum/frontend/templates/page.mustache +34 -0
  27. data/lib/gollum/frontend/templates/pages.mustache +31 -0
  28. data/lib/gollum/frontend/views/error.rb +7 -0
  29. data/lib/gollum/frontend/views/index.rb +21 -0
  30. data/lib/gollum/frontend/views/layout.rb +28 -0
  31. data/lib/gollum/frontend/views/page.rb +53 -0
  32. data/lib/gollum/frontend/views/pages.rb +19 -0
  33. data/lib/gollum/git_access.rb +248 -0
  34. data/lib/gollum/markup.rb +389 -0
  35. data/lib/gollum/page.rb +374 -0
  36. data/lib/gollum/pagination.rb +61 -0
  37. data/lib/gollum/sanitization.rb +161 -0
  38. data/lib/gollum/wiki.rb +378 -0
  39. data/rtfmd.gemspec +47 -0
  40. metadata +291 -0
@@ -0,0 +1,96 @@
1
+ require 'cgi'
2
+ require 'sinatra'
3
+ require 'gollum'
4
+ require 'mustache/sinatra'
5
+
6
+ require 'gollum/frontend/views/layout'
7
+
8
+ module Precious
9
+ class App < Sinatra::Base
10
+ register Mustache::Sinatra
11
+
12
+ dir = File.dirname(File.expand_path(__FILE__))
13
+
14
+ # We want to serve public assets for now
15
+ set :public_folder, "#{dir}/public"
16
+ set :static, true
17
+
18
+ set :mustache, {
19
+ # Tell mustache where the Views constant lives
20
+ :namespace => Precious,
21
+
22
+ # Mustache templates live here
23
+ :templates => "#{dir}/templates",
24
+
25
+ # Tell mustache where the views are
26
+ :views => "#{dir}/views"
27
+ }
28
+
29
+ # Sinatra error handling
30
+ configure :development, :staging do
31
+ enable :show_exceptions, :dump_errors
32
+ disable :raise_errors, :clean_trace
33
+ end
34
+
35
+ configure :test do
36
+ enable :logging, :raise_errors, :dump_errors
37
+ end
38
+
39
+ get '/' do
40
+ show_page_or_file('Home', 'README')
41
+ end
42
+
43
+ get %r{^/(javascript|css|images)} do
44
+ halt 404
45
+ end
46
+
47
+ get %r{/(.+?)/([0-9a-f]{40})} do
48
+ name = params[:captures][0]
49
+ wiki = Gollum::Wiki.new(settings.roots[request.script_name][:gollum_path], settings.roots[request.script_name][:wiki_options])
50
+ if page = wiki.page(name, params[:captures][1])
51
+ @page = page
52
+ @name = name
53
+ @content = page.formatted_data
54
+ @base_path = wiki.base_path
55
+ @rtfm_root = settings.roots[request.script_name][:wiki_options][:rtfm_root]
56
+ mustache :page
57
+ else
58
+ halt 404
59
+ end
60
+ end
61
+
62
+ get '/pages' do
63
+ wiki = Gollum::Wiki.new(settings.roots[request.script_name][:gollum_path], settings.roots[request.script_name][:wiki_options])
64
+ @results = wiki.pages
65
+ @ref = wiki.ref
66
+ @base_path = wiki.base_path
67
+ mustache :pages
68
+ end
69
+
70
+ get '/*' do
71
+ show_page_or_file(params[:splat].first)
72
+ end
73
+
74
+ def show_page_or_file(*names)
75
+ ps = names.collect do |name|
76
+ wiki = Gollum::Wiki.new(settings.roots[request.script_name][:gollum_path], settings.roots[request.script_name][:wiki_options])
77
+ if page = wiki.page(name)
78
+ @page = page
79
+ @name = name
80
+ @content = page.formatted_data
81
+ @base_path = wiki.base_path
82
+ @rtfm_root = settings.roots[request.script_name][:wiki_options][:rtfm_root]
83
+ mustache :page
84
+ elsif file = wiki.file(name)
85
+ content_type file.mime_type
86
+ file.raw_data
87
+ else
88
+ nil
89
+ end
90
+ end.select {|p| p}
91
+
92
+ ps.empty? ? nil : ps.first
93
+ end
94
+
95
+ end
96
+ end
@@ -0,0 +1,17 @@
1
+ require 'cgi'
2
+ require 'sinatra'
3
+ require 'gollum'
4
+ require 'mustache/sinatra'
5
+
6
+ require 'gollum/frontend/views/layout'
7
+
8
+ module Precious
9
+ class IndexApp < App
10
+ get '/' do
11
+ @roots = settings.roots.collect {|bp,ele| { :root => bp, :wiki => ele[:gollum_path] } }
12
+ @base_path = "/"
13
+ mustache :index
14
+ end
15
+ end
16
+ end
17
+
@@ -0,0 +1,660 @@
1
+ #wiki-wrapper #template blockquote {
2
+ margin: 1em 0;
3
+ border-left: 4px solid #ddd;
4
+ padding-left: .8em;
5
+ color: #555;
6
+ }
7
+
8
+ /*
9
+ gollum.css
10
+ A basic stylesheet for Gollum
11
+ */
12
+
13
+ /* @section core */
14
+ body, html {
15
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
16
+ font-size: 10px;
17
+ margin: 0;
18
+ padding: 0;
19
+ }
20
+
21
+ #wiki-wrapper {
22
+ margin: 0 auto;
23
+ overflow: visible;
24
+ width: 80%;
25
+ }
26
+
27
+ a:link {
28
+ color: #4183c4;
29
+ text-decoration: none;
30
+ }
31
+
32
+ a:hover, a:visited {
33
+ color: #4183c4;
34
+ text-decoration: underline;
35
+ }
36
+
37
+
38
+ /* @section head */
39
+ #head {
40
+ margin: 4.5em 0 0.5em;
41
+ padding: 0.5em 0;
42
+ overflow: hidden;
43
+ }
44
+
45
+ #head h1 {
46
+ display: none;
47
+ }
48
+
49
+ #head ul.actions {
50
+ float: right;
51
+ }
52
+
53
+ /* @section content */
54
+ #wiki-content {
55
+ height: 1%;
56
+ overflow: visible;
57
+ }
58
+
59
+ #wiki-content .wrap {
60
+ height: 1%;
61
+ overflow: auto;
62
+ }
63
+
64
+ /* @section comments */
65
+ #wiki-body #inline-comment {
66
+ display: none; /* todo */
67
+ }
68
+
69
+ /* @section body */
70
+ #wiki-body {
71
+ display: block;
72
+ float: left;
73
+ margin-right: 3%;
74
+ width: 100%;
75
+ }
76
+
77
+ .has-rightbar #wiki-body {
78
+ width: 68%;
79
+ }
80
+
81
+ /* @section rightbar */
82
+ #wiki-rightbar {
83
+ background-color: #f7f7f7;
84
+ border: 1px solid #ddd;
85
+ font-size: 13px;
86
+ float: right;
87
+ padding: 7px;
88
+ width: 25%;
89
+
90
+ border-radius: 0.5em;
91
+ -moz-border-radius: 0.5em;
92
+ -webkit-border-radius: 0.5em;
93
+ }
94
+
95
+ #wiki-rightbar p {
96
+ margin: 13px 0 0;
97
+ }
98
+
99
+ #wiki-rightbar > p:first-child {
100
+ margin-top: 0;
101
+ }
102
+
103
+ #wiki-rightbar p.parent {
104
+ border-bottom: 1px solid #bbb;
105
+ font-weight: bold;
106
+ margin: 0 0 0.5em 0;
107
+ padding: 0 0 0.5em 0;
108
+ text-shadow: 0 1px 0 #fff;
109
+ }
110
+
111
+ /* Back arrow */
112
+ #wiki-rightbar p.parent:before {
113
+ color: #666;
114
+ content: "← ";
115
+ }
116
+
117
+ #wiki-rightbar h3 {
118
+ font-size: 1.2em;
119
+ color: #333;
120
+ margin: 1.2em 0 0;
121
+ padding: 0;
122
+ text-shadow: 0 1px 0 #fff;
123
+ }
124
+
125
+ #wiki-rightbar ul {
126
+ margin: 0.5em 0 1em;
127
+ padding: 0;
128
+ }
129
+
130
+ #wiki-rightbar ul li {
131
+ color: #bbb;
132
+ margin: 0 0 0 1em;
133
+ padding: 0;
134
+ line-height: 1.75em;
135
+ list-style-position: inside;
136
+ list-style-type: round;
137
+ }
138
+
139
+ #wiki-rightbar #nav ul li a {
140
+ font-weight: bold;
141
+ text-shadow: 0 1px 0 #fff;
142
+ }
143
+
144
+ /* @section footer */
145
+ #wiki-footer {
146
+ clear: both;
147
+ margin: 2em 0 5em;
148
+ }
149
+
150
+ .has-rightbar #wiki-footer {
151
+ width: 70%;
152
+ }
153
+
154
+ #wiki-footer #footer-content {
155
+ background-color: #f7f7f7;
156
+ border: 1px solid #ddd;
157
+ font-size: 1.2em;
158
+ line-height: 1.5em;
159
+ margin-top: 1.5em;
160
+ padding: 1em;
161
+
162
+ border-radius: 0.5em;
163
+ -moz-border-radius: 0.5em;
164
+ -webkit-border-radius: 0.5em;
165
+ }
166
+
167
+ #wiki-footer #footer-content h3 {
168
+ font-size: 1.2em;
169
+ color: #333;
170
+ margin: 0;
171
+ padding: 0 0 0.2em;
172
+ text-shadow: 0 1px 0 #fff;
173
+ }
174
+
175
+ #wiki-footer #footer-content p {
176
+ margin: 0.5em 0 0;
177
+ padding: 0;
178
+ }
179
+
180
+ #wiki-footer #footer-content ul.links {
181
+ margin: 0.5em 0 0;
182
+ overflow: hidden;
183
+ padding: 0;
184
+ }
185
+
186
+ #wiki-footer #footer-content ul.links li {
187
+ color: #999;
188
+ float: left;
189
+ list-style-position: inside;
190
+ list-style-type: square;
191
+ padding: 0;
192
+ margin-left: 0.75em;
193
+ }
194
+
195
+ #wiki-footer #footer-content ul.links li a {
196
+ font-weight: bold;
197
+ text-shadow: 0 1px 0 #fff;
198
+ }
199
+
200
+ #wiki-footer #footer-content ul.links li:first-child {
201
+ list-style-type: none;
202
+ margin: 0;
203
+ }
204
+
205
+ .ff #wiki-footer #footer-content ul.links li:first-child {
206
+ margin: 0 -0.75em 0 0;
207
+ }
208
+
209
+ /* @section page-footer */
210
+ .page #footer {
211
+ margin: 1em 0 7em;
212
+ }
213
+
214
+ #footer p#last-edit {
215
+ font-size: .9em;
216
+ line-height: 1.6em;
217
+ color: #999;
218
+ margin: 0.9em 0;
219
+ }
220
+
221
+ #footer p#last-edit span.username {
222
+ font-weight: bold;
223
+ }
224
+
225
+
226
+ /* @section history */
227
+ .history h1 {
228
+ color: #999;
229
+ font-weight: normal;
230
+ }
231
+
232
+ .history h1 strong {
233
+ color: #000;
234
+ font-weight: bold;
235
+ }
236
+
237
+ #wiki-history {
238
+ margin-top: 3em;
239
+ }
240
+
241
+ #wiki-history fieldset {
242
+ border: 0;
243
+ margin: 2em 0;
244
+ padding: 0;
245
+ }
246
+
247
+ #wiki-history table, #wiki-history tbody {
248
+ border-collapse: collapse;
249
+ padding: 0;
250
+ margin: 0;
251
+ width: 100%;
252
+ }
253
+
254
+ #wiki-history table tr {
255
+ padding: 0;
256
+ margin: 0;
257
+ }
258
+
259
+ #wiki-history table tr {
260
+ background-color: #ebf2f6;
261
+ }
262
+
263
+ #wiki-history table tr td {
264
+ border: 1px solid #c0dce9;
265
+ font-size: 1.2em;
266
+ line-height: 1.6em;
267
+ margin: 0;
268
+ padding: 0.3em 0.7em;
269
+ }
270
+
271
+ #wiki-history table tr td.checkbox {
272
+ min-width: 2em;
273
+ padding: 0.3em;
274
+ }
275
+
276
+ #wiki-history table tr td.checkbox input {
277
+ cursor: pointer;
278
+ display: block;
279
+ padding-right: 0;
280
+ padding-top: 0.4em;
281
+ margin-right: -0.2em;
282
+ }
283
+
284
+ #wiki-history table tr:nth-child(2n),
285
+ #wiki-history table tr.alt-row {
286
+ background-color: #f3f7fa;
287
+ }
288
+
289
+ #wiki-history table tr.selected {
290
+ background-color: #ffffea !important;
291
+ z-index: 100;
292
+ }
293
+
294
+ #wiki-history table tr td.commit-name {
295
+ border-left: 0;
296
+ }
297
+
298
+ #wiki-history table tr td.commit-name span.time-elapsed {
299
+ color: #999;
300
+ }
301
+
302
+ #wiki-history table tr td.author {
303
+ width: 20%;
304
+ }
305
+
306
+ #wiki-history table tr td.author a {
307
+ color: #000;
308
+ font-weight: bold;
309
+ }
310
+
311
+ #wiki-history table tr td.author a span.username {
312
+ display: block;
313
+ padding-top: 3px;
314
+ }
315
+
316
+ #wiki-history table tr td img {
317
+ background-color: #fff;
318
+ border: 1px solid #999;
319
+ display: block;
320
+ float: left;
321
+ height: 18px;
322
+ overflow: hidden;
323
+ margin: 0 0.5em 0 0;
324
+ width: 18px;
325
+ padding: 2px;
326
+ }
327
+
328
+ #wiki-history table tr td.commit-name a {
329
+ font-size: 0.9em;
330
+ font-family: 'Monaco', 'Andale Mono', Consolas, 'Courier New', monospace;
331
+ padding: 0 0.2em;
332
+ }
333
+
334
+ .history #wiki-history ul.actions li,
335
+ .history #footer ul.actions li {
336
+ margin: 0 0.6em 0 0;
337
+ }
338
+
339
+
340
+ /* @section edit */
341
+ .edit h1 {
342
+ color: #999;
343
+ font-weight: normal;
344
+ }
345
+
346
+ .edit h1 strong {
347
+ color: #000;
348
+ font-weight: bold;
349
+ }
350
+
351
+
352
+ /* @section search */
353
+ .results h1 {
354
+ color: #999;
355
+ font-weight: normal;
356
+ }
357
+
358
+ .results h1 strong {
359
+ color: #000;
360
+ font-weight: bold;
361
+ }
362
+
363
+ .results #results {
364
+ border-bottom: 1px solid #ccc;
365
+ margin-bottom: 2em;
366
+ padding-bottom: 2em;
367
+ }
368
+
369
+ .results #results ul {
370
+ margin: 2em 0 0 0;
371
+ padding: 0;
372
+ }
373
+
374
+ .results #results ul li {
375
+ font-size: 1.2em;
376
+ line-height: 1.6em;
377
+ list-style-position: outside;
378
+ padding: 0.2em 0;
379
+ }
380
+
381
+ .results #results ul li span.count {
382
+ color: #999;
383
+ }
384
+
385
+ .results p#no-results {
386
+ font-size: 1.2em;
387
+ line-height: 1.6em;
388
+ margin-top: 2em;
389
+ }
390
+
391
+ .results #footer ul.actions li {
392
+ margin: 0 1em 0 0;
393
+ }
394
+
395
+
396
+ /* @section compare */
397
+ .compare h1 {
398
+ color: #999;
399
+ font-weight: normal;
400
+ }
401
+
402
+ .compare h1 strong {
403
+ color: #000;
404
+ font-weight: bold;
405
+ }
406
+
407
+ .compare #compare-content {
408
+ margin-top: 3em;
409
+ }
410
+
411
+ .compare .data {
412
+ border: 1px solid #ddd;
413
+ margin-top: 1em;
414
+ overflow: auto;
415
+ }
416
+
417
+ .compare .data pre {
418
+ margin: 0;
419
+ padding: 0;
420
+ }
421
+
422
+ .compare .data pre div {
423
+ padding: 0 0 0 1em;
424
+ }
425
+
426
+ .compare .data tr td {
427
+ font-family: "Consolas", "Monaco", "Andale Mono", "Courier New", monospace;
428
+ font-size: 1.2em;
429
+ line-height: 1.8em;
430
+ margin: 0;
431
+ padding: 0;
432
+ }
433
+
434
+ .compare .data td.line_numbers {
435
+ background: #f7f7f7;
436
+ border-right: 1px solid #999;
437
+ color: #999;
438
+ padding: 0 0 0 0.5em;
439
+ }
440
+
441
+ .compare #compare-content ul.actions li,
442
+ .compare #footer ul.actions li {
443
+ margin-left: 0;
444
+ margin-right: 0.6em;
445
+ }
446
+
447
+
448
+
449
+ /* @control syntax */
450
+ .highlight { background: #ffffff; }
451
+ .highlight .c { color: #999988; font-style: italic }
452
+ .highlight .err { color: #a61717; background-color: #e3d2d2 }
453
+ .highlight .k { font-weight: bold }
454
+ .highlight .o { font-weight: bold }
455
+ .highlight .cm { color: #999988; font-style: italic }
456
+ .highlight .cp { color: #999999; font-weight: bold }
457
+ .highlight .c1 { color: #999988; font-style: italic }
458
+ .highlight .cs { color: #999999; font-weight: bold; font-style: italic }
459
+ .highlight .gd { color: #000000; background-color: #ffdddd }
460
+ .highlight .gd .x { color: #000000; background-color: #ffaaaa }
461
+ .highlight .ge { font-style: italic }
462
+ .highlight .gr { color: #aa0000 }
463
+ .highlight .gh { color: #999999 }
464
+ .highlight .gi { color: #000000; background-color: #ddffdd }
465
+ .highlight .gi .x { color: #000000; background-color: #aaffaa }
466
+ .highlight .gc { color: #999; background-color: #EAF2F5 }
467
+ .highlight .go { color: #888888 }
468
+ .highlight .gp { color: #555555 }
469
+ .highlight .gs { font-weight: bold }
470
+ .highlight .gu { color: #aaaaaa }
471
+ .highlight .gt { color: #aa0000 }
472
+
473
+
474
+ /* @control minibutton */
475
+ ul.actions {
476
+ display: block;
477
+ list-style-type: none;
478
+ overflow: hidden;
479
+ padding: 0;
480
+ }
481
+
482
+ ul.actions li {
483
+ float: left;
484
+ font-size: 1.2em;
485
+ margin-left: 0.6em;
486
+ }
487
+
488
+ .minibutton a {
489
+ background-color: #f7f7f7;
490
+ border: 1px solid #d4d4d4;
491
+ color: #333;
492
+ display: block;
493
+ font-weight: bold;
494
+ margin: 0;
495
+ padding: 0.4em 1em;
496
+ height: 1.4em;
497
+
498
+ text-shadow: 0 1px 0 #fff;
499
+
500
+ filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#f4f4f4', endColorstr='#ececec');
501
+ background: -webkit-gradient(linear, left top, left bottom, from(#f4f4f4), to(#ececec));
502
+ background: -moz-linear-gradient(top, #f4f4f4, #ececec);
503
+
504
+ border-radius: 3px;
505
+ -moz-border-radius: 3px;
506
+ -webkit-border-radius: 3px;
507
+ }
508
+
509
+ #search-submit {
510
+ background-color: #f7f7f7;
511
+ border: 1px solid #d4d4d4;
512
+ color: #333;
513
+ display: block;
514
+ font-weight: bold;
515
+ margin: 0;
516
+ padding: 0.4em 1em;
517
+
518
+ text-shadow: 0 1px 0 #fff;
519
+
520
+ filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#f4f4f4', endColorstr='#ececec');
521
+ background: -webkit-gradient(linear, left top, left bottom, from(#f4f4f4), to(#ececec));
522
+ background: -moz-linear-gradient(top, #f4f4f4, #ececec);
523
+
524
+ border-radius: 3px;
525
+ -moz-border-radius: 3px;
526
+ -webkit-border-radius: 3px;
527
+ }
528
+
529
+ .minibutton a:hover,
530
+ #search-submit:hover {
531
+ background: #3072b3;
532
+ border-color: #518cc6 #518cc6 #2a65a0;
533
+ color: #fff;
534
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.3);
535
+ text-decoration: none;
536
+
537
+ filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#599bdc', endColorstr='#3072b3');
538
+ background: -webkit-gradient(linear, left top, left bottom, from(#599bdc), to(#3072b3));
539
+ background: -moz-linear-gradient(top, #599bdc, #3072b3);
540
+ }
541
+
542
+ .minibutton a:visited {
543
+ text-decoration: none;
544
+ }
545
+
546
+
547
+ /* @special error */
548
+ #wiki-wrapper.error {
549
+ height: 1px;
550
+ position: absolute;
551
+ overflow: visible;
552
+ top: 50%;
553
+ width: 100%;
554
+ }
555
+
556
+ #error {
557
+ background-color: #f9f9f9;
558
+ border: 1px solid #e4e4e4;
559
+ left: 50%;
560
+ overflow: hidden;
561
+ padding: 2%;
562
+ margin: -10% 0 0 -35%;
563
+ position: absolute;
564
+ width: 70%;
565
+
566
+ border-radius: 0.5em;
567
+ -moz-border-radius: 0.5em;
568
+ -webkit-border-radius: 0.5em;
569
+ }
570
+
571
+ #error h1 {
572
+ font-size: 3em;
573
+ line-height: normal;
574
+ margin: 0;
575
+ padding: 0;
576
+ }
577
+
578
+ #error p {
579
+ font-size: 1.2em;
580
+ line-height: 1.6em;
581
+ margin: 1em 0 0.5em;
582
+ padding: 0;
583
+ }
584
+
585
+
586
+ /* @control searchbar */
587
+ #head #searchbar {
588
+ float: right;
589
+ margin: 1em 0 0 0;
590
+ padding: 0;
591
+ overflow: hidden;
592
+ }
593
+
594
+ #head #searchbar #searchbar-fauxtext {
595
+ background: #fff;
596
+ border: 1px solid #d4d4d4;
597
+ overflow: hidden;
598
+
599
+ border-radius: 0.3em;
600
+ -moz-border-radius: 0.3em;
601
+ -webkit-border-radius: 0.3em;
602
+ }
603
+
604
+ #head #searchbar #searchbar-fauxtext input#search-query {
605
+ border: none;
606
+ color: #000;
607
+ float: left;
608
+ font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
609
+ font-size: 1.2em;
610
+ height: 1.8em;
611
+
612
+ -webkit-focus-ring: none;
613
+ }
614
+
615
+ .ff #head #searchbar #searchbar-fauxtext input#search-query {
616
+ padding: 0.2em 0 0.2em 0.5em;
617
+ }
618
+
619
+ .ie #head #searchbar #searchbar-fauxtext input#search-query {
620
+ padding: 0.4em 0 0 0.5em;
621
+ }
622
+
623
+ #head #searchbar #searchbar-fauxtext input#search-query.ph {
624
+ color: #999;
625
+ }
626
+
627
+ #head #searchbar #searchbar-fauxtext #search-submit {
628
+ border: 0;
629
+ border-left: 1px solid #d4d4d4;
630
+ cursor: pointer;
631
+ margin: 0 !important;
632
+ padding: 0;
633
+ float: right;
634
+ font-size: 1.2em;
635
+
636
+ border-radius: 0 3px 3px 0;
637
+ -moz-border-radius: 0 3px 3px 0;
638
+ -webkit-border-radius: 0 3px 3px 0;
639
+ }
640
+
641
+ #head #searchbar #searchbar-fauxtext #search-submit span {
642
+ background-image: url(/images/icon-sprite.png);
643
+ background-position: -431px -1px;
644
+ background-repeat: no-repeat;
645
+ display: block;
646
+ height: 2em;
647
+ overflow: hidden;
648
+ text-indent: -5000px;
649
+ width: 28px;
650
+ }
651
+
652
+ .ff #head #searchbar #searchbar-fauxtext #search-submit span,
653
+ .ie #head #searchbar #searchbar-fauxtext #search-submit span {
654
+ height: 2.2em;
655
+ }
656
+
657
+ #head #searchbar #searchbar-fauxtext #search-submit:hover span {
658
+ background-position: -431px -28px;
659
+ padding: 0;
660
+ }