RTFMd 0.10301.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/HISTORY.md +93 -0
- data/LICENSE +21 -0
- data/README.md +387 -0
- data/RTFMd.gemspec +78 -0
- data/Rakefile +138 -0
- data/bin/rtfm +12 -0
- data/docs/sanitization.md +32 -0
- data/lib/gollum.rb +40 -0
- data/lib/gollum/blob_entry.rb +78 -0
- data/lib/gollum/committer.rb +217 -0
- data/lib/gollum/file.rb +64 -0
- data/lib/gollum/frontend/app.rb +94 -0
- data/lib/gollum/frontend/public/css/gollum.css +660 -0
- data/lib/gollum/frontend/public/css/ie7.css +69 -0
- data/lib/gollum/frontend/public/css/template.css +381 -0
- data/lib/gollum/frontend/public/images/icon-sprite.png +0 -0
- data/lib/gollum/frontend/public/javascript/gollum.js +137 -0
- data/lib/gollum/frontend/public/javascript/gollum.placeholder.js +54 -0
- data/lib/gollum/frontend/public/javascript/jquery.color.js +123 -0
- data/lib/gollum/frontend/public/javascript/jquery.js +7179 -0
- data/lib/gollum/frontend/templates/error.mustache +8 -0
- data/lib/gollum/frontend/templates/layout.mustache +28 -0
- data/lib/gollum/frontend/templates/page.mustache +32 -0
- data/lib/gollum/frontend/templates/pages.mustache +34 -0
- data/lib/gollum/frontend/views/error.rb +7 -0
- data/lib/gollum/frontend/views/layout.rb +24 -0
- data/lib/gollum/frontend/views/page.rb +53 -0
- data/lib/gollum/frontend/views/pages.rb +19 -0
- data/lib/gollum/git_access.rb +248 -0
- data/lib/gollum/markup.rb +389 -0
- data/lib/gollum/page.rb +374 -0
- data/lib/gollum/pagination.rb +61 -0
- data/lib/gollum/sanitization.rb +161 -0
- data/lib/gollum/wiki.rb +378 -0
- metadata +358 -0
data/lib/gollum/file.rb
ADDED
@@ -0,0 +1,64 @@
|
|
1
|
+
module Gollum
|
2
|
+
class File
|
3
|
+
Wiki.file_class = self
|
4
|
+
|
5
|
+
# Public: Initialize a file.
|
6
|
+
#
|
7
|
+
# wiki - The Gollum::Wiki in question.
|
8
|
+
#
|
9
|
+
# Returns a newly initialized Gollum::File.
|
10
|
+
def initialize(wiki)
|
11
|
+
@wiki = wiki
|
12
|
+
@blob = nil
|
13
|
+
@path = nil
|
14
|
+
end
|
15
|
+
|
16
|
+
# Public: The on-disk filename of the file.
|
17
|
+
#
|
18
|
+
# Returns the String name.
|
19
|
+
def name
|
20
|
+
@blob && @blob.name
|
21
|
+
end
|
22
|
+
|
23
|
+
# Public: The raw contents of the page.
|
24
|
+
#
|
25
|
+
# Returns the String data.
|
26
|
+
def raw_data
|
27
|
+
@blob && @blob.data
|
28
|
+
end
|
29
|
+
|
30
|
+
# Public: The Grit::Commit version of the file.
|
31
|
+
attr_reader :version
|
32
|
+
|
33
|
+
# Public: The String path of the file.
|
34
|
+
attr_reader :path
|
35
|
+
|
36
|
+
# Public: The String mime type of the file.
|
37
|
+
def mime_type
|
38
|
+
@blob.mime_type
|
39
|
+
end
|
40
|
+
|
41
|
+
#########################################################################
|
42
|
+
#
|
43
|
+
# Internal Methods
|
44
|
+
#
|
45
|
+
#########################################################################
|
46
|
+
|
47
|
+
# Find a file in the given Gollum repo.
|
48
|
+
#
|
49
|
+
# name - The full String path.
|
50
|
+
# version - The String version ID to find.
|
51
|
+
#
|
52
|
+
# Returns a Gollum::File or nil if the file could not be found.
|
53
|
+
def find(name, version)
|
54
|
+
checked = name.downcase
|
55
|
+
map = @wiki.tree_map_for(version)
|
56
|
+
if entry = map.detect { |entry| entry.path.downcase == checked }
|
57
|
+
@path = name
|
58
|
+
@blob = entry.blob(@wiki.repo)
|
59
|
+
@version = version.is_a?(Grit::Commit) ? version : @wiki.commit_for(version)
|
60
|
+
self
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
@@ -0,0 +1,94 @@
|
|
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.gollum_path, settings.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
|
+
mustache :page
|
56
|
+
else
|
57
|
+
halt 404
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
get '/pages' do
|
62
|
+
wiki = Gollum::Wiki.new(settings.gollum_path, settings.wiki_options)
|
63
|
+
@results = wiki.pages
|
64
|
+
@ref = wiki.ref
|
65
|
+
@base_path = wiki.base_path
|
66
|
+
mustache :pages
|
67
|
+
end
|
68
|
+
|
69
|
+
get '/*' do
|
70
|
+
show_page_or_file(params[:splat].first)
|
71
|
+
end
|
72
|
+
|
73
|
+
def show_page_or_file(*names)
|
74
|
+
ps = names.collect do |name|
|
75
|
+
wiki = Gollum::Wiki.new(settings.gollum_path, settings.wiki_options)
|
76
|
+
if page = wiki.page(name)
|
77
|
+
@page = page
|
78
|
+
@name = name
|
79
|
+
@content = page.formatted_data
|
80
|
+
@base_path = wiki.base_path
|
81
|
+
mustache :page
|
82
|
+
elsif file = wiki.file(name)
|
83
|
+
content_type file.mime_type
|
84
|
+
file.raw_data
|
85
|
+
else
|
86
|
+
nil
|
87
|
+
end
|
88
|
+
end.select {|p| p}
|
89
|
+
|
90
|
+
ps.empty? ? nil : ps.first
|
91
|
+
end
|
92
|
+
|
93
|
+
end
|
94
|
+
end
|
@@ -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
|
+
}
|