qless 0.9.1 → 0.9.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (63) hide show
  1. data/bin/install_phantomjs +7 -0
  2. data/lib/qless.rb +4 -0
  3. data/lib/qless/job.rb +40 -38
  4. data/lib/qless/qless-core/cancel.lua +9 -9
  5. data/lib/qless/qless-core/failed.lua +1 -1
  6. data/lib/qless/qless-core/peek.lua +22 -12
  7. data/lib/qless/qless-core/pop.lua +31 -16
  8. data/lib/qless/qless-core/recur.lua +12 -3
  9. data/lib/qless/server.rb +96 -66
  10. data/lib/qless/server/static/css/bootstrap-responsive.css +686 -0
  11. data/lib/qless/server/static/css/bootstrap-responsive.min.css +12 -0
  12. data/lib/qless/server/static/css/bootstrap.css +3991 -0
  13. data/lib/qless/server/static/css/bootstrap.min.css +689 -0
  14. data/lib/qless/server/static/css/codemirror.css +112 -0
  15. data/lib/qless/server/static/css/docs.css +819 -0
  16. data/lib/qless/server/static/css/jquery.noty.css +105 -0
  17. data/lib/qless/server/static/css/noty_theme_twitter.css +137 -0
  18. data/lib/qless/server/static/css/style.css +204 -0
  19. data/lib/qless/server/static/favicon.ico +0 -0
  20. data/lib/qless/server/static/img/glyphicons-halflings-white.png +0 -0
  21. data/lib/qless/server/static/img/glyphicons-halflings.png +0 -0
  22. data/lib/qless/server/static/js/bootstrap-alert.js +94 -0
  23. data/lib/qless/server/static/js/bootstrap-scrollspy.js +125 -0
  24. data/lib/qless/server/static/js/bootstrap-tab.js +130 -0
  25. data/lib/qless/server/static/js/bootstrap-tooltip.js +270 -0
  26. data/lib/qless/server/static/js/bootstrap-typeahead.js +285 -0
  27. data/lib/qless/server/static/js/bootstrap.js +1726 -0
  28. data/lib/qless/server/static/js/bootstrap.min.js +6 -0
  29. data/lib/qless/server/static/js/codemirror.js +2972 -0
  30. data/lib/qless/server/static/js/jquery.noty.js +220 -0
  31. data/lib/qless/server/static/js/mode/javascript.js +360 -0
  32. data/lib/qless/server/static/js/theme/cobalt.css +18 -0
  33. data/lib/qless/server/static/js/theme/eclipse.css +25 -0
  34. data/lib/qless/server/static/js/theme/elegant.css +10 -0
  35. data/lib/qless/server/static/js/theme/lesser-dark.css +45 -0
  36. data/lib/qless/server/static/js/theme/monokai.css +28 -0
  37. data/lib/qless/server/static/js/theme/neat.css +9 -0
  38. data/lib/qless/server/static/js/theme/night.css +21 -0
  39. data/lib/qless/server/static/js/theme/rubyblue.css +21 -0
  40. data/lib/qless/server/static/js/theme/xq-dark.css +46 -0
  41. data/lib/qless/server/views/_job.erb +219 -0
  42. data/lib/qless/server/views/_job_list.erb +8 -0
  43. data/lib/qless/server/views/_pagination.erb +7 -0
  44. data/lib/qless/server/views/about.erb +130 -0
  45. data/lib/qless/server/views/config.erb +14 -0
  46. data/lib/qless/server/views/failed.erb +48 -0
  47. data/lib/qless/server/views/failed_type.erb +18 -0
  48. data/lib/qless/server/views/job.erb +17 -0
  49. data/lib/qless/server/views/layout.erb +341 -0
  50. data/lib/qless/server/views/overview.erb +90 -0
  51. data/lib/qless/server/views/queue.erb +122 -0
  52. data/lib/qless/server/views/queues.erb +26 -0
  53. data/lib/qless/server/views/tag.erb +6 -0
  54. data/lib/qless/server/views/track.erb +69 -0
  55. data/lib/qless/server/views/worker.erb +34 -0
  56. data/lib/qless/server/views/workers.erb +14 -0
  57. data/lib/qless/version.rb +1 -1
  58. data/lib/qless/worker.rb +11 -2
  59. metadata +72 -6
  60. data/lib/qless/qless-core/ruby/lib/qless-core.rb +0 -1
  61. data/lib/qless/qless-core/ruby/lib/qless/core.rb +0 -13
  62. data/lib/qless/qless-core/ruby/lib/qless/core/version.rb +0 -5
  63. data/lib/qless/qless-core/ruby/spec/qless_core_spec.rb +0 -13
@@ -0,0 +1,112 @@
1
+ .CodeMirror {
2
+ line-height: 1em;
3
+ font-family: monospace;
4
+ }
5
+
6
+ .CodeMirror-scroll {
7
+ overflow: auto;
8
+ height: 300px;
9
+ /* This is needed to prevent an IE[67] bug where the scrolled content
10
+ is visible outside of the scrolling box. */
11
+ position: relative;
12
+ outline: none;
13
+ }
14
+
15
+ .CodeMirror-gutter {
16
+ position: absolute; left: 0; top: 0;
17
+ z-index: 10;
18
+ background-color: #f7f7f7;
19
+ border-right: 1px solid #eee;
20
+ min-width: 2em;
21
+ height: 100%;
22
+ }
23
+ .CodeMirror-gutter-text {
24
+ color: #aaa;
25
+ text-align: right;
26
+ padding: .4em .2em .4em .4em;
27
+ white-space: pre !important;
28
+ }
29
+ .CodeMirror-lines {
30
+ padding: .4em;
31
+ white-space: pre;
32
+ }
33
+
34
+ .CodeMirror pre {
35
+ -moz-border-radius: 0;
36
+ -webkit-border-radius: 0;
37
+ -o-border-radius: 0;
38
+ border-radius: 0;
39
+ border-width: 0; margin: 0; padding: 0; background: transparent;
40
+ font-family: inherit;
41
+ font-size: inherit;
42
+ padding: 0; margin: 0;
43
+ white-space: pre;
44
+ word-wrap: normal;
45
+ }
46
+
47
+ .CodeMirror-wrap pre {
48
+ word-wrap: break-word;
49
+ white-space: pre-wrap;
50
+ }
51
+ .CodeMirror-wrap .CodeMirror-scroll {
52
+ overflow-x: hidden;
53
+ }
54
+
55
+ .CodeMirror textarea {
56
+ outline: none !important;
57
+ }
58
+
59
+ .CodeMirror pre.CodeMirror-cursor {
60
+ z-index: 10;
61
+ position: absolute;
62
+ visibility: hidden;
63
+ border-left: 1px solid black;
64
+ border-right:none;
65
+ width:0;
66
+ }
67
+ .CodeMirror pre.CodeMirror-cursor.CodeMirror-overwrite {}
68
+ .CodeMirror-focused pre.CodeMirror-cursor {
69
+ visibility: visible;
70
+ }
71
+
72
+ div.CodeMirror-selected { background: #d9d9d9; }
73
+ .CodeMirror-focused div.CodeMirror-selected { background: #d7d4f0; }
74
+
75
+ .CodeMirror-searching {
76
+ background: #ffa;
77
+ background: rgba(255, 255, 0, .4);
78
+ }
79
+
80
+ /* Default theme */
81
+
82
+ .cm-s-default span.cm-keyword {color: #708;}
83
+ .cm-s-default span.cm-atom {color: #219;}
84
+ .cm-s-default span.cm-number {color: #164;}
85
+ .cm-s-default span.cm-def {color: #00f;}
86
+ .cm-s-default span.cm-variable {color: black;}
87
+ .cm-s-default span.cm-variable-2 {color: #05a;}
88
+ .cm-s-default span.cm-variable-3 {color: #085;}
89
+ .cm-s-default span.cm-property {color: black;}
90
+ .cm-s-default span.cm-operator {color: black;}
91
+ .cm-s-default span.cm-comment {color: #a50;}
92
+ .cm-s-default span.cm-string {color: #a11;}
93
+ .cm-s-default span.cm-string-2 {color: #f50;}
94
+ .cm-s-default span.cm-meta {color: #555;}
95
+ .cm-s-default span.cm-error {color: #f00;}
96
+ .cm-s-default span.cm-qualifier {color: #555;}
97
+ .cm-s-default span.cm-builtin {color: #30a;}
98
+ .cm-s-default span.cm-bracket {color: #cc7;}
99
+ .cm-s-default span.cm-tag {color: #170;}
100
+ .cm-s-default span.cm-attribute {color: #00c;}
101
+ .cm-s-default span.cm-header {color: #a0a;}
102
+ .cm-s-default span.cm-quote {color: #090;}
103
+ .cm-s-default span.cm-hr {color: #999;}
104
+ .cm-s-default span.cm-link {color: #00c;}
105
+
106
+ span.cm-header, span.cm-strong {font-weight: bold;}
107
+ span.cm-em {font-style: italic;}
108
+ span.cm-emstrong {font-style: italic; font-weight: bold;}
109
+ span.cm-link {text-decoration: underline;}
110
+
111
+ div.CodeMirror span.CodeMirror-matchingbracket {color: #0f0;}
112
+ div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #f22;}
@@ -0,0 +1,819 @@
1
+ /* Add additional stylesheets below
2
+ -------------------------------------------------- */
3
+ /*
4
+ Bootstrap's documentation styles
5
+ Special styles for presenting Bootstrap's documentation and examples
6
+ */
7
+
8
+
9
+ /* Body and structure
10
+ -------------------------------------------------- */
11
+ body {
12
+ position: relative;
13
+ padding-top: 90px;
14
+ background-color: #fff;
15
+ background-image: url(../img/grid-18px-masked.png);
16
+ background-repeat: repeat-x;
17
+ background-position: 0 40px;
18
+ }
19
+
20
+ /* Faded out hr */
21
+ hr.soften {
22
+ height: 1px;
23
+ margin: 54px 0;
24
+ background-image: -webkit-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,.1), rgba(0,0,0,0));
25
+ background-image: -moz-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,.1), rgba(0,0,0,0));
26
+ background-image: -ms-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,.1), rgba(0,0,0,0));
27
+ background-image: -o-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,.1), rgba(0,0,0,0));
28
+ border: 0;
29
+ }
30
+
31
+
32
+ /* Jumbotrons
33
+ -------------------------------------------------- */
34
+ .jumbotron {
35
+ position: relative;
36
+ }
37
+ .jumbotron h1 {
38
+ margin-bottom: 9px;
39
+ font-size: 81px;
40
+ font-weight: bold;
41
+ letter-spacing: -1px;
42
+ line-height: 1;
43
+ }
44
+ .jumbotron p {
45
+ margin-bottom: 18px;
46
+ font-weight: 300;
47
+ }
48
+ .jumbotron .btn-large {
49
+ font-size: 20px;
50
+ font-weight: normal;
51
+ padding: 14px 24px;
52
+ margin-right: 10px;
53
+ -webkit-border-radius: 6px;
54
+ -moz-border-radius: 6px;
55
+ border-radius: 6px;
56
+ }
57
+ .jumbotron .btn-large small {
58
+ font-size: 14px;
59
+ }
60
+
61
+ /* Masthead (docs home) */
62
+ .masthead {
63
+ padding-top: 36px;
64
+ margin-bottom: 72px;
65
+ }
66
+ .masthead h1,
67
+ .masthead p {
68
+ text-align: center;
69
+ }
70
+ .masthead h1 {
71
+ margin-bottom: 18px;
72
+ }
73
+ .masthead p {
74
+ margin-left: 5%;
75
+ margin-right: 5%;
76
+ font-size: 30px;
77
+ line-height: 36px;
78
+ }
79
+
80
+
81
+ /* Specific jumbotrons
82
+ ------------------------- */
83
+ /* supporting docs pages */
84
+ .subhead {
85
+ padding-bottom: 0;
86
+ margin-bottom: 9px;
87
+ }
88
+ .subhead h1 {
89
+ font-size: 54px;
90
+ }
91
+
92
+ /* Subnav */
93
+ .subnav {
94
+ width: 100%;
95
+ height: 36px;
96
+ background-color: #eeeeee; /* Old browsers */
97
+ background-repeat: repeat-x; /* Repeat the gradient */
98
+ background-image: -moz-linear-gradient(top, #f5f5f5 0%, #eeeeee 100%); /* FF3.6+ */
99
+ background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f5f5f5), color-stop(100%,#eeeeee)); /* Chrome,Safari4+ */
100
+ background-image: -webkit-linear-gradient(top, #f5f5f5 0%,#eeeeee 100%); /* Chrome 10+,Safari 5.1+ */
101
+ background-image: -ms-linear-gradient(top, #f5f5f5 0%,#eeeeee 100%); /* IE10+ */
102
+ background-image: -o-linear-gradient(top, #f5f5f5 0%,#eeeeee 100%); /* Opera 11.10+ */
103
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f5f5f5', endColorstr='#eeeeee',GradientType=0 ); /* IE6-9 */
104
+ background-image: linear-gradient(top, #f5f5f5 0%,#eeeeee 100%); /* W3C */
105
+ border: 1px solid #e5e5e5;
106
+ -webkit-border-radius: 4px;
107
+ -moz-border-radius: 4px;
108
+ border-radius: 4px;
109
+ }
110
+ .subnav .nav {
111
+ margin-bottom: 0;
112
+ }
113
+ .subnav .nav > li > a {
114
+ margin: 0;
115
+ padding-top: 11px;
116
+ padding-bottom: 11px;
117
+ border-left: 1px solid #f5f5f5;
118
+ border-right: 1px solid #e5e5e5;
119
+ -webkit-border-radius: 0;
120
+ -moz-border-radius: 0;
121
+ border-radius: 0;
122
+ }
123
+ .subnav .nav > .active > a,
124
+ .subnav .nav > .active > a:hover {
125
+ padding-left: 13px;
126
+ color: #777;
127
+ background-color: #e9e9e9;
128
+ border-right-color: #ddd;
129
+ border-left: 0;
130
+ -webkit-box-shadow: inset 0 3px 5px rgba(0,0,0,.05);
131
+ -moz-box-shadow: inset 0 3px 5px rgba(0,0,0,.05);
132
+ box-shadow: inset 0 3px 5px rgba(0,0,0,.05);
133
+ }
134
+ .subnav .nav > .active > a .caret,
135
+ .subnav .nav > .active > a:hover .caret {
136
+ border-top-color: #777;
137
+ }
138
+ .subnav .nav > li:first-child > a,
139
+ .subnav .nav > li:first-child > a:hover {
140
+ border-left: 0;
141
+ padding-left: 12px;
142
+ -webkit-border-radius: 4px 0 0 4px;
143
+ -moz-border-radius: 4px 0 0 4px;
144
+ border-radius: 4px 0 0 4px;
145
+ }
146
+ .subnav .nav > li:last-child > a {
147
+ border-right: 0;
148
+ }
149
+ .subnav .dropdown-menu {
150
+ -webkit-border-radius: 0 0 4px 4px;
151
+ -moz-border-radius: 0 0 4px 4px;
152
+ border-radius: 0 0 4px 4px;
153
+ }
154
+
155
+ /* Fixed subnav on scroll, but only for 980px and up (sorry IE!) */
156
+ @media (min-width: 980px) {
157
+ .subnav-fixed {
158
+ position: fixed;
159
+ top: 40px;
160
+ left: 0;
161
+ right: 0;
162
+ z-index: 1020; /* 10 less than .navbar-fixed to prevent any overlap */
163
+ border-color: #d5d5d5;
164
+ border-width: 0 0 1px; /* drop the border on the fixed edges */
165
+ -webkit-border-radius: 0;
166
+ -moz-border-radius: 0;
167
+ border-radius: 0;
168
+ -webkit-box-shadow: inset 0 1px 0 #fff, 0 1px 5px rgba(0,0,0,.1);
169
+ -moz-box-shadow: inset 0 1px 0 #fff, 0 1px 5px rgba(0,0,0,.1);
170
+ box-shadow: inset 0 1px 0 #fff, 0 1px 5px rgba(0,0,0,.1);
171
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); /* IE6-9 */
172
+ }
173
+ .subnav-fixed .nav {
174
+ width: 938px;
175
+ margin: 0 auto;
176
+ padding: 0 1px;
177
+ }
178
+ .subnav .nav > li:first-child > a,
179
+ .subnav .nav > li:first-child > a:hover {
180
+ -webkit-border-radius: 0;
181
+ -moz-border-radius: 0;
182
+ border-radius: 0;
183
+ }
184
+ }
185
+
186
+
187
+ /* Quick links
188
+ -------------------------------------------------- */
189
+ .bs-links {
190
+ margin: 36px 0;
191
+ }
192
+ .quick-links {
193
+ min-height: 30px;
194
+ margin: 0;
195
+ padding: 5px 20px;
196
+ list-style: none;
197
+ text-align: center;
198
+ overflow: hidden;
199
+ }
200
+ .quick-links:first-child {
201
+ min-height: 0;
202
+ }
203
+ .quick-links li {
204
+ display: inline;
205
+ margin: 0 5px;
206
+ color: #999;
207
+ }
208
+ .quick-links .github-btn,
209
+ .quick-links .tweet-btn,
210
+ .quick-links .follow-btn {
211
+ position: relative;
212
+ top: 5px;
213
+ }
214
+
215
+
216
+ /* Marketing section of Overview
217
+ -------------------------------------------------- */
218
+ .marketing .row {
219
+ margin-bottom: 9px;
220
+ }
221
+ .marketing h1 {
222
+ margin: 36px 0 27px;
223
+ font-size: 40px;
224
+ font-weight: 300;
225
+ text-align: center;
226
+ }
227
+ .marketing h2,
228
+ .marketing h3 {
229
+ font-weight: 300;
230
+ }
231
+ .marketing h2 {
232
+ font-size: 22px;
233
+ }
234
+ .marketing p {
235
+ margin-right: 10px;
236
+ }
237
+ .marketing .bs-icon {
238
+ float: left;
239
+ margin: 7px 10px 0 0;
240
+ opacity: .8;
241
+ }
242
+ .marketing .small-bs-icon {
243
+ float: left;
244
+ margin: 4px 5px 0 0;
245
+ }
246
+
247
+
248
+
249
+ /* Footer
250
+ -------------------------------------------------- */
251
+ .footer {
252
+ margin-top: 45px;
253
+ padding: 35px 0 36px;
254
+ border-top: 1px solid #e5e5e5;
255
+ }
256
+ .footer p {
257
+ margin-bottom: 0;
258
+ color: #555;
259
+ }
260
+
261
+
262
+
263
+ /* Special grid styles
264
+ -------------------------------------------------- */
265
+ .show-grid {
266
+ margin-top: 10px;
267
+ margin-bottom: 20px;
268
+ }
269
+ .show-grid [class*="span"] {
270
+ background-color: #eee;
271
+ text-align: center;
272
+ -webkit-border-radius: 3px;
273
+ -moz-border-radius: 3px;
274
+ border-radius: 3px;
275
+ min-height: 30px;
276
+ line-height: 30px;
277
+ }
278
+ .show-grid:hover [class*="span"] {
279
+ background: #ddd;
280
+ }
281
+ .show-grid .show-grid {
282
+ margin-top: 0;
283
+ margin-bottom: 0;
284
+ }
285
+ .show-grid .show-grid [class*="span"] {
286
+ background-color: #ccc;
287
+ }
288
+
289
+
290
+ /* Render mini layout previews
291
+ -------------------------------------------------- */
292
+ .mini-layout {
293
+ border: 1px solid #ddd;
294
+ -webkit-border-radius: 6px;
295
+ -moz-border-radius: 6px;
296
+ border-radius: 6px;
297
+ -webkit-box-shadow: 0 1px 2px rgba(0,0,0,.075);
298
+ -moz-box-shadow: 0 1px 2px rgba(0,0,0,.075);
299
+ box-shadow: 0 1px 2px rgba(0,0,0,.075);
300
+ }
301
+ .mini-layout {
302
+ height: 240px;
303
+ margin-bottom: 20px;
304
+ padding: 9px;
305
+ }
306
+ .mini-layout div {
307
+ -webkit-border-radius: 3px;
308
+ -moz-border-radius: 3px;
309
+ border-radius: 3px;
310
+ }
311
+ .mini-layout .mini-layout-body {
312
+ background-color: #dceaf4;
313
+ margin: 0 auto;
314
+ width: 70%;
315
+ height: 240px;
316
+ }
317
+ .mini-layout.fluid .mini-layout-sidebar,
318
+ .mini-layout.fluid .mini-layout-header,
319
+ .mini-layout.fluid .mini-layout-body {
320
+ float: left;
321
+ }
322
+ .mini-layout.fluid .mini-layout-sidebar {
323
+ background-color: #bbd8e9;
324
+ width: 20%;
325
+ height: 240px;
326
+ }
327
+ .mini-layout.fluid .mini-layout-body {
328
+ width: 77.5%;
329
+ margin-left: 2.5%;
330
+ }
331
+
332
+
333
+ /* Popover docs
334
+ -------------------------------------------------- */
335
+ .popover-well {
336
+ min-height: 160px;
337
+ }
338
+ .popover-well .popover {
339
+ display: block;
340
+ }
341
+ .popover-well .popover-wrapper {
342
+ width: 50%;
343
+ height: 160px;
344
+ float: left;
345
+ margin-left: 55px;
346
+ position: relative;
347
+ }
348
+ .popover-well .popover-menu-wrapper {
349
+ height: 80px;
350
+ }
351
+ .large-bird {
352
+ margin: 5px 0 0 310px;
353
+ opacity: .1;
354
+ }
355
+
356
+
357
+ /* Download page
358
+ -------------------------------------------------- */
359
+ .download .page-header {
360
+ margin-top: 36px;
361
+ }
362
+ .page-header .toggle-all {
363
+ margin-top: 5px;
364
+ }
365
+
366
+ /* Space out h3s when following a section */
367
+ .download h3 {
368
+ margin-bottom: 5px;
369
+ }
370
+ .download-builder input + h3,
371
+ .download-builder .checkbox + h3 {
372
+ margin-top: 9px;
373
+ }
374
+
375
+ /* Fields for variables */
376
+ .download-builder input[type=text] {
377
+ margin-bottom: 9px;
378
+ font-family: Menlo, Monaco, "Courier New", monospace;
379
+ font-size: 12px;
380
+ color: #d14;
381
+ }
382
+ .download-builder input[type=text]:focus {
383
+ background-color: #fff;
384
+ }
385
+
386
+ /* Custom, larger checkbox labels */
387
+ .download .checkbox {
388
+ padding: 6px 10px 6px 25px;
389
+ color: #555;
390
+ background-color: #f9f9f9;
391
+ -webkit-border-radius: 3px;
392
+ -moz-border-radius: 3px;
393
+ border-radius: 3px;
394
+ cursor: pointer;
395
+ }
396
+ .download .checkbox:hover {
397
+ color: #333;
398
+ background-color: #f5f5f5;
399
+ }
400
+ .download .checkbox small {
401
+ font-size: 12px;
402
+ color: #777;
403
+ }
404
+
405
+ /* Variables section */
406
+ #variables label {
407
+ margin-bottom: 0;
408
+ }
409
+
410
+ /* Giant download button */
411
+ .download-btn {
412
+ margin: 36px 0 108px;
413
+ }
414
+ #download p,
415
+ #download h4 {
416
+ max-width: 50%;
417
+ margin: 0 auto;
418
+ color: #999;
419
+ text-align: center;
420
+ }
421
+ #download h4 {
422
+ margin-bottom: 0;
423
+ }
424
+ #download p {
425
+ margin-bottom: 18px;
426
+ }
427
+ .download-btn .btn {
428
+ display: block;
429
+ width: auto;
430
+ padding: 19px 24px;
431
+ margin-bottom: 27px;
432
+ font-size: 30px;
433
+ line-height: 1;
434
+ text-align: center;
435
+ -webkit-border-radius: 6px;
436
+ -moz-border-radius: 6px;
437
+ border-radius: 6px;
438
+ }
439
+
440
+
441
+
442
+ /* Color swatches on LESS docs page
443
+ -------------------------------------------------- */
444
+ /* Sets the width of the td */
445
+ .swatch-col {
446
+ width: 30px;
447
+ }
448
+ /* Le swatch */
449
+ .swatch {
450
+ display: inline-block;
451
+ width: 30px;
452
+ height: 20px;
453
+ margin: -6px 0;
454
+ -webkit-border-radius: 3px;
455
+ -moz-border-radius: 3px;
456
+ border-radius: 3px;
457
+ }
458
+ /* For white swatches, give a border */
459
+ .swatch-bordered {
460
+ width: 28px;
461
+ height: 18px;
462
+ border: 1px solid #eee;
463
+ }
464
+
465
+
466
+ /* Misc
467
+ -------------------------------------------------- */
468
+
469
+ img {
470
+ max-width: 100%;
471
+ }
472
+
473
+ /* Make tables spaced out a bit more */
474
+ h2 + table,
475
+ h3 + table,
476
+ h4 + table,
477
+ h2 + .row {
478
+ margin-top: 5px;
479
+ }
480
+
481
+ /* Example sites showcase */
482
+ .example-sites img {
483
+ max-width: 100%;
484
+ margin: 0 auto;
485
+ }
486
+ .marketing-byline {
487
+ margin: -18px 0 27px;
488
+ font-size: 18px;
489
+ font-weight: 300;
490
+ line-height: 24px;
491
+ color: #999;
492
+ text-align: center;
493
+ }
494
+
495
+ .scrollspy-example {
496
+ height: 200px;
497
+ overflow: auto;
498
+ position: relative;
499
+ }
500
+
501
+ /* Remove bottom margin on example forms in wells */
502
+ form.well {
503
+ padding: 14px;
504
+ }
505
+
506
+ /* Tighten up spacing */
507
+ .well hr {
508
+ margin: 18px 0;
509
+ }
510
+
511
+ /* Fake the :focus state to demo it */
512
+ .focused {
513
+ border-color: rgba(82,168,236,.8);
514
+ -webkit-box-shadow: inset 0 1px 3px rgba(0,0,0,.1), 0 0 8px rgba(82,168,236,.6);
515
+ -moz-box-shadow: inset 0 1px 3px rgba(0,0,0,.1), 0 0 8px rgba(82,168,236,.6);
516
+ box-shadow: inset 0 1px 3px rgba(0,0,0,.1), 0 0 8px rgba(82,168,236,.6);
517
+ outline: 0;
518
+ }
519
+
520
+ /* For input sizes, make them display block */
521
+ .docs-input-sizes select,
522
+ .docs-input-sizes input[type=text] {
523
+ display: block;
524
+ margin-bottom: 9px;
525
+ }
526
+
527
+ /* Icons
528
+ ------------------------- */
529
+ .the-icons {
530
+ margin-left: 0;
531
+ list-style: none;
532
+ }
533
+ .the-icons i:hover {
534
+ background-color: rgba(255,0,0,.25);
535
+ }
536
+
537
+ /* Eaxmples page
538
+ ------------------------- */
539
+ .bootstrap-examples .thumbnail {
540
+ margin-bottom: 9px;
541
+ background-color: #fff;
542
+ }
543
+
544
+ /* Responsive table
545
+ ------------------------- */
546
+ .responsive-utilities th small {
547
+ display: block;
548
+ font-weight: normal;
549
+ color: #999;
550
+ }
551
+ .responsive-utilities tbody th {
552
+ font-weight: normal;
553
+ }
554
+ .responsive-utilities td {
555
+ text-align: center;
556
+ }
557
+ .responsive-utilities td.is-visible {
558
+ color: #468847;
559
+ background-color: #dff0d8 !important;
560
+ }
561
+ .responsive-utilities td.is-hidden {
562
+ color: #ccc;
563
+ background-color: #f9f9f9 !important;
564
+ }
565
+
566
+ /* Responsive tests
567
+ ------------------------- */
568
+ .responsive-utilities-test {
569
+ margin-top: 5px;
570
+ margin-left: 0;
571
+ list-style: none;
572
+ overflow: hidden; /* clear floats */
573
+ }
574
+ .responsive-utilities-test li {
575
+ position: relative;
576
+ float: left;
577
+ width: 25%;
578
+ height: 43px;
579
+ font-size: 14px;
580
+ font-weight: bold;
581
+ line-height: 43px;
582
+ color: #999;
583
+ text-align: center;
584
+ border: 1px solid #ddd;
585
+ -webkit-border-radius: 4px;
586
+ -moz-border-radius: 4px;
587
+ border-radius: 4px;
588
+ }
589
+ .responsive-utilities-test li + li {
590
+ margin-left: 10px;
591
+ }
592
+ .responsive-utilities-test span {
593
+ position: absolute;
594
+ top: -1px;
595
+ left: -1px;
596
+ right: -1px;
597
+ bottom: -1px;
598
+ -webkit-border-radius: 4px;
599
+ -moz-border-radius: 4px;
600
+ border-radius: 4px;
601
+ }
602
+ .responsive-utilities-test span {
603
+ color: #468847;
604
+ background-color: #dff0d8;
605
+ border: 1px solid #d6e9c6;
606
+ }
607
+
608
+
609
+ /* Responsive Docs
610
+ -------------------------------------------------- */
611
+ @media (max-width: 480px) {
612
+
613
+ /* Reduce padding above jumbotron */
614
+ body {
615
+ padding-top: 70px;
616
+ }
617
+
618
+ /* Change up some type stuff */
619
+ h2 {
620
+ margin-top: 27px;
621
+ }
622
+ h2 small {
623
+ display: block;
624
+ line-height: 18px;
625
+ }
626
+ h3 {
627
+ margin-top: 18px;
628
+ }
629
+
630
+ /* Adjust the jumbotron */
631
+ .jumbotron h1,
632
+ .jumbotron p {
633
+ text-align: center;
634
+ margin-right: 0;
635
+ }
636
+ .jumbotron h1 {
637
+ font-size: 45px;
638
+ margin-right: 0;
639
+ }
640
+ .jumbotron p {
641
+ margin-right: 0;
642
+ margin-left: 0;
643
+ font-size: 18px;
644
+ line-height: 24px;
645
+ }
646
+ .jumbotron .btn {
647
+ display: block;
648
+ font-size: 18px;
649
+ padding: 10px 14px;
650
+ margin: 0 auto 10px;
651
+ }
652
+ /* Masthead (home page jumbotron) */
653
+ .masthead {
654
+ padding-top: 0;
655
+ }
656
+
657
+ /* Don't space out quick links so much */
658
+ .quick-links {
659
+ margin: 40px 0 0;
660
+ }
661
+ /* hide the bullets on mobile since our horizontal space is limited */
662
+ .quick-links .divider {
663
+ display: none;
664
+ }
665
+
666
+ /* center example sites */
667
+ .example-sites {
668
+ margin-left: 0;
669
+ }
670
+ .example-sites > li {
671
+ float: none;
672
+ display: block;
673
+ max-width: 280px;
674
+ margin: 0 auto 18px;
675
+ text-align: center;
676
+ }
677
+ .example-sites .thumbnail > img {
678
+ max-width: 270px;
679
+ }
680
+
681
+ table code {
682
+ white-space: normal;
683
+ word-wrap: break-word;
684
+ word-break: break-all;
685
+ }
686
+
687
+ /* Modal example */
688
+ .modal-example .modal {
689
+ position: relative;
690
+ top: auto;
691
+ right: auto;
692
+ bottom: auto;
693
+ left: auto;
694
+ }
695
+
696
+ }
697
+
698
+
699
+ @media (max-width: 768px) {
700
+
701
+ /* Remove any padding from the body */
702
+ body {
703
+ padding-top: 0;
704
+ }
705
+
706
+ /* Jumbotron buttons */
707
+ .jumbotron .btn {
708
+ margin-bottom: 10px;
709
+ }
710
+
711
+ /* Subnav */
712
+ .subnav {
713
+ position: static;
714
+ top: auto;
715
+ z-index: auto;
716
+ width: auto;
717
+ height: auto;
718
+ background: #fff; /* whole background property since we use a background-image for gradient */
719
+ -webkit-box-shadow: none;
720
+ -moz-box-shadow: none;
721
+ box-shadow: none;
722
+ }
723
+ .subnav .nav > li {
724
+ float: none;
725
+ }
726
+ .subnav .nav > li > a {
727
+ border: 0;
728
+ }
729
+ .subnav .nav > li + li > a {
730
+ border-top: 1px solid #e5e5e5;
731
+ }
732
+ .subnav .nav > li:first-child > a,
733
+ .subnav .nav > li:first-child > a:hover {
734
+ -webkit-border-radius: 4px 4px 0 0;
735
+ -moz-border-radius: 4px 4px 0 0;
736
+ border-radius: 4px 4px 0 0;
737
+ }
738
+
739
+ /* Popovers */
740
+ .large-bird {
741
+ display: none;
742
+ }
743
+ .popover-well .popover-wrapper {
744
+ margin-left: 0;
745
+ }
746
+
747
+ /* Space out the show-grid examples */
748
+ .show-grid [class*="span"] {
749
+ margin-bottom: 5px;
750
+ }
751
+
752
+ /* Unfloat the back to top link in footer */
753
+ .footer .pull-right {
754
+ float: none;
755
+ }
756
+ .footer p {
757
+ margin-bottom: 9px;
758
+ }
759
+
760
+ }
761
+
762
+
763
+ @media (min-width: 480px) and (max-width: 768px) {
764
+
765
+ /* Scale down the jumbotron content */
766
+ .jumbotron h1 {
767
+ font-size: 54px;
768
+ }
769
+ .jumbotron p {
770
+ margin-right: 0;
771
+ margin-left: 0;
772
+ }
773
+
774
+ }
775
+
776
+
777
+ @media (min-width: 768px) and (max-width: 980px) {
778
+
779
+ /* Remove any padding from the body */
780
+ body {
781
+ padding-top: 0;
782
+ }
783
+
784
+ /* Scale down the jumbotron content */
785
+ .jumbotron h1 {
786
+ font-size: 72px;
787
+ }
788
+
789
+ }
790
+
791
+
792
+ @media (max-width: 980px) {
793
+
794
+ /* Unfloat brand */
795
+ .navbar-fixed-top .brand {
796
+ float: left;
797
+ margin-left: 0;
798
+ padding-left: 10px;
799
+ padding-right: 10px;
800
+ }
801
+
802
+ /* Inline-block quick links for more spacing */
803
+ .quick-links li {
804
+ display: inline-block;
805
+ margin: 5px;
806
+ }
807
+
808
+ }
809
+
810
+
811
+ /* LARGE DESKTOP SCREENS */
812
+ @media (min-width: 1210px) {
813
+
814
+ /* Update subnav container */
815
+ .subnav-fixed .nav {
816
+ width: 1168px; /* 2px less to account for left/right borders being removed when in fixed mode */
817
+ }
818
+
819
+ }