smeagol 0.5.9 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. data/.ruby +80 -0
  2. data/.yardopts +9 -0
  3. data/HISTORY.md +147 -0
  4. data/LICENSE.txt +30 -0
  5. data/README.md +132 -26
  6. data/bin/smeagol +9 -39
  7. data/bin/smeagol-init +3 -0
  8. data/bin/smeagol-preview +4 -0
  9. data/bin/smeagol-serve +4 -0
  10. data/bin/smeagol-update +4 -0
  11. data/bin/smeagold +1 -4
  12. data/lib/smeagol.rb +77 -6
  13. data/lib/smeagol/app.rb +121 -75
  14. data/lib/smeagol/cache.rb +43 -24
  15. data/lib/smeagol/cli.rb +166 -0
  16. data/lib/smeagol/config.rb +154 -0
  17. data/lib/smeagol/console.rb +369 -0
  18. data/lib/smeagol/controller.rb +275 -0
  19. data/lib/smeagol/core_ext.rb +12 -0
  20. data/lib/smeagol/gollum/blob_entry.rb +17 -0
  21. data/lib/smeagol/gollum/file.rb +44 -0
  22. data/lib/smeagol/gollum/page.rb +47 -0
  23. data/lib/smeagol/gollum/wiki.rb +31 -0
  24. data/lib/smeagol/helpers/rss.rb +96 -0
  25. data/lib/smeagol/helpers/toc.rb +69 -0
  26. data/lib/smeagol/public/assets/smeagol/gollum.css +716 -0
  27. data/lib/smeagol/public/{smeagol → assets/smeagol}/html5.js +0 -0
  28. data/lib/smeagol/public/{smeagol → assets/smeagol}/pygment.css +0 -0
  29. data/lib/smeagol/public/assets/smeagol/template.css +631 -0
  30. data/lib/smeagol/repository.rb +85 -0
  31. data/lib/smeagol/settings.rb +302 -0
  32. data/lib/smeagol/templates/layouts/page.mustache +19 -0
  33. data/lib/smeagol/templates/layouts/versions.mustache +16 -0
  34. data/lib/smeagol/templates/partials/footer.mustache +17 -0
  35. data/lib/smeagol/templates/partials/header.mustache +47 -0
  36. data/lib/smeagol/templates/settings.yml +64 -0
  37. data/lib/smeagol/version.rb +1 -1
  38. data/lib/smeagol/views/base.rb +188 -27
  39. data/lib/smeagol/views/form.rb +56 -0
  40. data/lib/smeagol/views/page.rb +126 -25
  41. data/lib/smeagol/views/post.rb +51 -0
  42. data/lib/smeagol/views/versions.rb +20 -6
  43. data/lib/smeagol/wiki.rb +25 -45
  44. data/test/helper.rb +72 -8
  45. data/test/test_app.rb +57 -0
  46. data/test/test_cache.rb +10 -11
  47. data/test/test_init.rb +27 -0
  48. data/test/test_update.rb +20 -0
  49. data/test/test_wiki.rb +13 -10
  50. metadata +142 -216
  51. data/bin/smeagol-static +0 -115
  52. data/lib/file.rb +0 -10
  53. data/lib/smeagol/hash.rb +0 -13
  54. data/lib/smeagol/option_parser.rb +0 -138
  55. data/lib/smeagol/public/smeagol/main.css +0 -234
  56. data/lib/smeagol/templates/page.mustache +0 -58
  57. data/lib/smeagol/templates/versions.mustache +0 -50
  58. data/test/test_file.rb +0 -12
  59. data/test/test_hash.rb +0 -18
@@ -0,0 +1,69 @@
1
+ module Smeagol
2
+
3
+ # Create a JSON-based Table of Contents.
4
+ # This is used to create 'toc.json', which can
5
+ # be used via jQuery to create a dynamic index
6
+ # page.
7
+ #
8
+ class TOC
9
+
10
+ #
11
+ def initialize(ctrl, options={})
12
+ @ctrl = ctrl
13
+ @wiki = ctrl.wiki
14
+ @version = options[:version] || 'master'
15
+ @pages = options[:pages]
16
+
17
+ require 'json'
18
+ end
19
+
20
+ #
21
+ def to_json
22
+ toc.to_json
23
+ end
24
+
25
+ #
26
+ alias to_s to_json
27
+
28
+ #
29
+ def toc
30
+ @toc ||= build_toc
31
+ end
32
+
33
+ #
34
+ def build_toc
35
+ json = {}
36
+ pages.each do |page|
37
+ data = {}
38
+ data['title'] = page.title
39
+ data['name'] = page.name
40
+ data['href'] = page.href
41
+ data['date'] = page.post_date if page.post_date
42
+ data['author'] = page.author
43
+ data['summary'] = page.summary
44
+ json[page.name] = data
45
+ end
46
+ json
47
+ end
48
+
49
+ #
50
+ def pages
51
+ @ctrl.views(@version).reject{ |v| Smeagol::Views::Form === v }
52
+ end
53
+
54
+ #
55
+ #def pages
56
+ # @pages ||= (
57
+ # @wiki.pages.map do |page|
58
+ # if page.post?
59
+ # Smeagol::Views::Post.new(page)
60
+ # else
61
+ # Smeagol::Views::Page.new(page)
62
+ # end
63
+ # end
64
+ # )
65
+ #end
66
+
67
+ end
68
+
69
+ end
@@ -0,0 +1,716 @@
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
+ border-bottom: 1px solid #ddd;
41
+ margin: 4em 0 1.5em;
42
+ padding-bottom: 0.3em;
43
+ overflow: hidden;
44
+ }
45
+
46
+ #head h1 {
47
+ font-size: 33px;
48
+ float: left;
49
+ line-height: normal;
50
+ margin: 0;
51
+ padding: 2px 0 0 0;
52
+ }
53
+
54
+ #head ul.actions {
55
+ float: right;
56
+ }
57
+
58
+ /* @section content */
59
+ #wiki-content {
60
+ height: 1%;
61
+ overflow: visible;
62
+ }
63
+
64
+ #wiki-content .wrap {
65
+ height: 1%;
66
+ overflow: auto;
67
+ }
68
+
69
+ /* @section comments */
70
+ #wiki-body #inline-comment {
71
+ display: none; /* todo */
72
+ }
73
+
74
+ /* @section body */
75
+ #wiki-body {
76
+ display: block;
77
+ float: left;
78
+ clear: left;
79
+ margin-right: 3%;
80
+ margin-bottom: 40px;
81
+ width: 100%;
82
+ }
83
+
84
+ .has-rightbar #wiki-body {
85
+ width: 68%;
86
+ }
87
+
88
+ /* @section toc */
89
+ #wiki-toc-main {
90
+ background-color: #F7F7F7;
91
+ border: 1px solid #DDD;
92
+ font-size: 13px;
93
+ padding: 0px 5px;
94
+ float:left;
95
+ margin-bottom: 20px;
96
+ min-width: 33%;
97
+
98
+ border-radius: 0.5em;
99
+ -moz-border-radius: 0.5em;
100
+ -webkit-border-radius: 0.5em;
101
+ }
102
+ #wiki-toc-main > div {
103
+ border: none;
104
+ }
105
+
106
+ /* @section rightbar */
107
+ #wiki-rightbar {
108
+ background-color: #f7f7f7;
109
+ border: 1px solid #ddd;
110
+ font-size: 13px;
111
+ float: right;
112
+ padding: 7px;
113
+ width: 25%;
114
+ color: #555;
115
+
116
+ border-radius: 0.5em;
117
+ -moz-border-radius: 0.5em;
118
+ -webkit-border-radius: 0.5em;
119
+ }
120
+
121
+ #wiki-rightbar p {
122
+ margin: 13px 0 0;
123
+ }
124
+
125
+ #wiki-rightbar > p:first-child {
126
+ margin-top: 10px;
127
+ }
128
+
129
+ #wiki-rightbar p.parent {
130
+ border-bottom: 1px solid #bbb;
131
+ font-weight: bold;
132
+ margin: 0 0 0.5em 0;
133
+ padding: 0 0 0.5em 0;
134
+ text-shadow: 0 1px 0 #fff;
135
+ }
136
+
137
+ /* Back arrow */
138
+ #wiki-rightbar p.parent:before {
139
+ color: #666;
140
+ content: "← ";
141
+ }
142
+
143
+ /* @section footer */
144
+
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-header #header-content,
155
+ #wiki-footer #footer-content {
156
+ background-color: #f7f7f7;
157
+ border: 1px solid #ddd;
158
+ padding: 1em;
159
+
160
+ border-radius: 0.5em;
161
+ -moz-border-radius: 0.5em;
162
+ -webkit-border-radius: 0.5em;
163
+ }
164
+ #wiki-header #header-content {
165
+ margin-bottom: 1.5em;
166
+ }
167
+
168
+ #wiki-footer #footer-content {
169
+ margin-top: 1.5em;
170
+ }
171
+
172
+ #wiki-footer #footer-content h3 {
173
+ font-size: 1.2em;
174
+ color: #333;
175
+ margin: 0;
176
+ padding: 0 0 0.2em;
177
+ text-shadow: 0 1px 0 #fff;
178
+ }
179
+
180
+ #wiki-footer #footer-content p {
181
+ margin: 0.5em 0 0;
182
+ padding: 0;
183
+ }
184
+
185
+ #wiki-footer #footer-content ul.links {
186
+ margin: 0.5em 0 0;
187
+ overflow: hidden;
188
+ padding: 0;
189
+ }
190
+
191
+ #wiki-footer #footer-content ul.links li {
192
+ color: #999;
193
+ float: left;
194
+ list-style-position: inside;
195
+ list-style-type: square;
196
+ padding: 0;
197
+ margin-left: 0.75em;
198
+ }
199
+
200
+ #wiki-footer #footer-content ul.links li a {
201
+ font-weight: bold;
202
+ text-shadow: 0 1px 0 #fff;
203
+ }
204
+
205
+ #wiki-footer #footer-content ul.links li:first-child {
206
+ list-style-type: none;
207
+ margin: 0;
208
+ }
209
+
210
+ .ff #wiki-footer #footer-content ul.links li:first-child {
211
+ margin: 0 -0.75em 0 0;
212
+ }
213
+
214
+ /* @section page-footer */
215
+ .page #footer {
216
+ clear: both;
217
+ border-top: 1px solid #ddd;
218
+ margin: 1em 0 7em;
219
+ }
220
+
221
+ #footer p#last-edit {
222
+ font-size: .9em;
223
+ line-height: 1.6em;
224
+ color: #999;
225
+ margin: 0.9em 0;
226
+ }
227
+
228
+ #footer p#last-edit span.username {
229
+ font-weight: bold;
230
+ }
231
+
232
+
233
+ /* @section history */
234
+ .history h1 {
235
+ color: #999;
236
+ font-weight: normal;
237
+ }
238
+
239
+ .history h1 strong {
240
+ color: #000;
241
+ font-weight: bold;
242
+ }
243
+
244
+ #wiki-history {
245
+ margin-top: 2em;
246
+ }
247
+
248
+ #wiki-history fieldset {
249
+ border: 0;
250
+ margin: 1em 0;
251
+ padding: 0;
252
+ }
253
+
254
+ #wiki-history table, #wiki-history tbody {
255
+ border-collapse: collapse;
256
+ padding: 0;
257
+ margin: 0;
258
+ width: 100%;
259
+ }
260
+
261
+ #wiki-history table tr {
262
+ padding: 0;
263
+ margin: 0;
264
+ }
265
+
266
+ #wiki-history table tr {
267
+ background-color: #ebf2f6;
268
+ }
269
+
270
+ #wiki-history table tr td {
271
+ border: 1px solid #c0dce9;
272
+ font-size: 1em;
273
+ line-height: 1.6em;
274
+ margin: 0;
275
+ padding: 0.3em 0.7em;
276
+ }
277
+
278
+ #wiki-history table tr td.checkbox {
279
+ width: 4em;
280
+ padding: 0.3em;
281
+ }
282
+
283
+ #wiki-history table tr td.checkbox input {
284
+ cursor: pointer;
285
+ display: block;
286
+ padding-right: 0;
287
+ padding-top: 0.4em;
288
+ margin: 0 auto;
289
+ width: 1.2em;
290
+ height: 1.2em;
291
+ }
292
+
293
+ #wiki-history table tr:nth-child(2n),
294
+ #wiki-history table tr.alt-row {
295
+ background-color: #f3f7fa;
296
+ }
297
+
298
+ #wiki-history table tr.selected {
299
+ background-color: #ffffea !important;
300
+ z-index: 100;
301
+ }
302
+
303
+ #wiki-history table tr td.commit-name {
304
+ border-left: 0;
305
+ }
306
+
307
+ #wiki-history table tr td.commit-name span.time-elapsed {
308
+ color: #999;
309
+ }
310
+
311
+ #wiki-history table tr td.author {
312
+ width: 20%;
313
+ }
314
+
315
+ #wiki-history table tr td.author a {
316
+ color: #000;
317
+ font-weight: bold;
318
+ }
319
+
320
+ #wiki-history table tr td.author a span.username {
321
+ display: block;
322
+ padding-top: 3px;
323
+ }
324
+
325
+ #wiki-history table tr td img {
326
+ background-color: #fff;
327
+ border: 1px solid #999;
328
+ display: block;
329
+ float: left;
330
+ height: 18px;
331
+ overflow: hidden;
332
+ margin: 0 0.5em 0 0;
333
+ width: 18px;
334
+ padding: 2px;
335
+ }
336
+
337
+ #wiki-history table tr td.commit-name a {
338
+ font-size: 0.9em;
339
+ font-family: 'Monaco', 'Andale Mono', Consolas, 'Courier New', monospace;
340
+ padding: 0 0.2em;
341
+ }
342
+
343
+ .history #footer {
344
+ margin-bottom: 7em;
345
+ }
346
+
347
+ .history #wiki-history ul.actions li,
348
+ .history #footer ul.actions li {
349
+ margin: 0 0.6em 0 0;
350
+ }
351
+
352
+
353
+ /* @section edit */
354
+ .edit h1 {
355
+ color: #999;
356
+ font-weight: normal;
357
+ }
358
+
359
+ .edit h1 strong {
360
+ color: #000;
361
+ font-weight: bold;
362
+ }
363
+
364
+
365
+ /* @section search */
366
+ .results h1 {
367
+ color: #999;
368
+ font-weight: normal;
369
+ }
370
+
371
+ .results h1 strong {
372
+ color: #000;
373
+ font-weight: bold;
374
+ }
375
+
376
+ .results #results {
377
+ border-bottom: 1px solid #ccc;
378
+ margin-bottom: 2em;
379
+ padding-bottom: 2em;
380
+ }
381
+
382
+ .results #results ul {
383
+ margin: 2em 0 0 0;
384
+ padding: 0;
385
+ }
386
+
387
+ .results #results ul li {
388
+ font-size: 1.2em;
389
+ line-height: 1.6em;
390
+ list-style-position: outside;
391
+ padding: 0.2em 0;
392
+ }
393
+
394
+ .results #results ul li span.count {
395
+ color: #999;
396
+ }
397
+
398
+ .results p#no-results {
399
+ font-size: 1.2em;
400
+ line-height: 1.6em;
401
+ margin-top: 2em;
402
+ }
403
+
404
+ .results #footer ul.actions li {
405
+ margin: 0 1em 0 0;
406
+ }
407
+
408
+
409
+ /* @section compare */
410
+ .compare h1 {
411
+ color: #999;
412
+ font-weight: normal;
413
+ }
414
+
415
+ .compare h1 strong {
416
+ color: #000;
417
+ font-weight: bold;
418
+ }
419
+
420
+ .compare #compare-content {
421
+ margin-top: 3em;
422
+ }
423
+
424
+ .compare .data {
425
+ border: 1px solid #ddd;
426
+ margin: 1em 0 2em;
427
+ overflow: auto;
428
+ }
429
+
430
+ .compare .data table {
431
+ width: 100%;
432
+ }
433
+
434
+ .compare .data pre {
435
+ margin: 0;
436
+ padding: 0;
437
+ }
438
+
439
+ .compare .data pre div {
440
+ padding: 0 0 0 1em;
441
+ }
442
+
443
+ .compare .data tr td {
444
+ font-family: "Consolas", "Monaco", "Andale Mono", "Courier New", monospace;
445
+ font-size: 1.2em;
446
+ line-height: 1.2em;
447
+ margin: 0;
448
+ padding: 0;
449
+ }
450
+
451
+ .compare .data tr td + td + td {
452
+ width: 100%;
453
+ }
454
+
455
+ .compare .data td.line_numbers {
456
+ background: #f7f7f7;
457
+ border-right: 1px solid #999;
458
+ color: #999;
459
+ padding: 0 0 0 0.5em;
460
+ }
461
+
462
+ .compare #compare-content ul.actions li,
463
+ .compare #footer ul.actions li {
464
+ margin-left: 0;
465
+ margin-right: 0.6em;
466
+ }
467
+
468
+ .compare #footer {
469
+ margin-bottom: 7em;
470
+ }
471
+
472
+
473
+
474
+ /* @control syntax */
475
+ .highlight { background: #ffffff; }
476
+ .highlight .c { color: #999988; font-style: italic }
477
+ .highlight .err { color: #a61717; background-color: #e3d2d2 }
478
+ .highlight .k { font-weight: bold }
479
+ .highlight .o { font-weight: bold }
480
+ .highlight .cm { color: #999988; font-style: italic }
481
+ .highlight .cp { color: #999999; font-weight: bold }
482
+ .highlight .c1 { color: #999988; font-style: italic }
483
+ .highlight .cs { color: #999999; font-weight: bold; font-style: italic }
484
+ .highlight .gd { color: #000000; background-color: #ffdddd }
485
+ .highlight .gd .x { color: #000000; background-color: #ffaaaa }
486
+ .highlight .ge { font-style: italic }
487
+ .highlight .gr { color: #aa0000 }
488
+ .highlight .gh { color: #999999 }
489
+ .highlight .gi { color: #000000; background-color: #ddffdd }
490
+ .highlight .gi .x { color: #000000; background-color: #aaffaa }
491
+ .highlight .gc { color: #999; background-color: #EAF2F5 }
492
+ .highlight .go { color: #888888 }
493
+ .highlight .gp { color: #555555 }
494
+ .highlight .gs { font-weight: bold }
495
+ .highlight .gu { color: #aaaaaa }
496
+ .highlight .gt { color: #aa0000 }
497
+
498
+
499
+ /* @control minibutton */
500
+ ul.actions {
501
+ display: block;
502
+ list-style-type: none;
503
+ overflow: hidden;
504
+ padding: 0;
505
+ }
506
+
507
+ ul.actions li {
508
+ float: left;
509
+ font-size: 0.9em;
510
+ margin-left: 0.6em;
511
+ margin-bottom: 0.6em;
512
+ }
513
+
514
+ .minibutton a {
515
+ background-color: #f7f7f7;
516
+ border: 1px solid #d4d4d4;
517
+ color: #333;
518
+ display: block;
519
+ font-weight: bold;
520
+ margin: 0;
521
+ padding: 0.4em 1em;
522
+ height: 1.4em;
523
+
524
+ text-shadow: 0 1px 0 #fff;
525
+
526
+ filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#f4f4f4', endColorstr='#ececec');
527
+ background: -webkit-gradient(linear, left top, left bottom, from(#f4f4f4), to(#ececec));
528
+ background: -moz-linear-gradient(top, #f4f4f4, #ececec);
529
+
530
+ border-radius: 3px;
531
+ -moz-border-radius: 3px;
532
+ -webkit-border-radius: 3px;
533
+ }
534
+
535
+ #search-submit {
536
+ background-color: #f7f7f7;
537
+ border: 1px solid #d4d4d4;
538
+ color: #333;
539
+ display: block;
540
+ font-weight: bold;
541
+ margin: 0;
542
+ padding: 0.4em 1em;
543
+
544
+ text-shadow: 0 1px 0 #fff;
545
+
546
+ filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#f4f4f4', endColorstr='#ececec');
547
+ background: -webkit-gradient(linear, left top, left bottom, from(#f4f4f4), to(#ececec));
548
+ background: -moz-linear-gradient(top, #f4f4f4, #ececec);
549
+
550
+ border-radius: 3px;
551
+ -moz-border-radius: 3px;
552
+ -webkit-border-radius: 3px;
553
+ }
554
+
555
+ .minibutton a:hover,
556
+ #search-submit:hover {
557
+ background: #3072b3;
558
+ border-color: #518cc6 #518cc6 #2a65a0;
559
+ color: #fff;
560
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.3);
561
+ text-decoration: none;
562
+
563
+ filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#599bdc', endColorstr='#3072b3');
564
+ background: -webkit-gradient(linear, left top, left bottom, from(#599bdc), to(#3072b3));
565
+ background: -moz-linear-gradient(top, #599bdc, #3072b3);
566
+ }
567
+
568
+ .minibutton a:visited {
569
+ text-decoration: none;
570
+ }
571
+
572
+
573
+ /* @special error */
574
+ #wiki-wrapper.error {
575
+ height: 1px;
576
+ position: absolute;
577
+ overflow: visible;
578
+ top: 50%;
579
+ width: 100%;
580
+ }
581
+
582
+ #error {
583
+ background-color: #f9f9f9;
584
+ border: 1px solid #e4e4e4;
585
+ left: 50%;
586
+ overflow: hidden;
587
+ padding: 2%;
588
+ margin: -10% 0 0 -35%;
589
+ position: absolute;
590
+ width: 70%;
591
+
592
+ border-radius: 0.5em;
593
+ -moz-border-radius: 0.5em;
594
+ -webkit-border-radius: 0.5em;
595
+ }
596
+
597
+ #error h1 {
598
+ font-size: 3em;
599
+ line-height: normal;
600
+ margin: 0;
601
+ padding: 0;
602
+ }
603
+
604
+ #error p {
605
+ font-size: 1.2em;
606
+ line-height: 1.6em;
607
+ margin: 1em 0 0.5em;
608
+ padding: 0;
609
+ }
610
+
611
+
612
+ /* @control searchbar */
613
+ #head #searchbar {
614
+ float: right;
615
+ padding: 0;
616
+ overflow: hidden;
617
+ }
618
+
619
+ #head #searchbar #searchbar-fauxtext {
620
+ background: #fff;
621
+ border: 1px solid #d4d4d4;
622
+ overflow: hidden;
623
+ height: 2.2em;
624
+
625
+ border-radius: 0.3em;
626
+ -moz-border-radius: 0.3em;
627
+ -webkit-border-radius: 0.3em;
628
+ }
629
+
630
+ #head #searchbar #searchbar-fauxtext input#search-query {
631
+ border: none;
632
+ color: #000;
633
+ float: left;
634
+ font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
635
+ font-size: 1em;
636
+ height: inherit;
637
+ padding: 0 .5em;
638
+
639
+ -webkit-focus-ring: none;
640
+ }
641
+
642
+ .ie8 #head #searchbar #searchbar-fauxtext input#search-query {
643
+ padding: 0.5em 0 0 0.5em;
644
+ }
645
+
646
+ #head #searchbar #searchbar-fauxtext input#search-query.ph {
647
+ color: #999;
648
+ }
649
+
650
+ #head #searchbar #searchbar-fauxtext #search-submit {
651
+ border: 0;
652
+ border-left: 1px solid #d4d4d4;
653
+ cursor: pointer;
654
+ margin: 0 !important;
655
+ padding: 0;
656
+ float: right;
657
+ height: inherit;
658
+
659
+ border-radius: 0 3px 3px 0;
660
+ -moz-border-radius: 0 3px 3px 0;
661
+ -webkit-border-radius: 0 3px 3px 0;
662
+ }
663
+
664
+ #head #searchbar #searchbar-fauxtext #search-submit span {
665
+ background-image: url(/images/icon-sprite.png);
666
+ background-position: -431px -1px;
667
+ background-repeat: no-repeat;
668
+ display: block;
669
+ height: inherit;
670
+ overflow: hidden;
671
+ text-indent: -5000px;
672
+ width: 28px;
673
+ }
674
+
675
+ .ff #head #searchbar #searchbar-fauxtext #search-submit span,
676
+ .ie #head #searchbar #searchbar-fauxtext #search-submit span {
677
+ height: 2.2em;
678
+ }
679
+
680
+ #head #searchbar #searchbar-fauxtext #search-submit:hover span {
681
+ background-position: -431px -28px;
682
+ padding: 0;
683
+ }
684
+
685
+ /* @section pages */
686
+
687
+ #pages {
688
+ font-size: 1.2em;
689
+ margin-bottom: 20px;
690
+ }
691
+
692
+ #pages ul {
693
+ list-style: none;
694
+ margin: 0;
695
+ padding: 0;
696
+ }
697
+
698
+ #pages li a.file,
699
+ #pages li a.folder {
700
+ background-image: url(/images/fileview/document.png);
701
+ background-position: 0 1px;
702
+ background-repeat: no-repeat;
703
+ padding-left: 20px;
704
+ }
705
+
706
+ #pages li a.folder {
707
+ background-image: url(/images/fileview/folder-horizontal.png);
708
+ }
709
+
710
+ #pages .breadcrumb {
711
+ border-top: 1px solid #ddd;
712
+ border-bottom: 1px solid #ddd;
713
+ margin: 1em 0;
714
+ padding: 0.25em;
715
+ }
716
+