showoff 0.11.2 → 0.12.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (155) hide show
  1. checksums.yaml +4 -4
  2. data/bin/showoff +9 -0
  3. data/lib/showoff.rb +28 -19
  4. data/lib/showoff/version.rb +1 -1
  5. data/public/css/highlight/agate.css +22 -51
  6. data/public/css/highlight/androidstudio.css +25 -12
  7. data/public/css/highlight/arduino-light.css +88 -0
  8. data/public/css/highlight/arta.css +24 -89
  9. data/public/css/highlight/ascetic.css +19 -26
  10. data/public/css/highlight/atelier-cave-dark.css +83 -0
  11. data/public/css/highlight/atelier-cave-light.css +85 -0
  12. data/public/css/highlight/atelier-cave.dark.css +26 -56
  13. data/public/css/highlight/atelier-cave.light.css +27 -55
  14. data/public/css/highlight/atelier-dune-dark.css +69 -0
  15. data/public/css/highlight/atelier-dune-light.css +69 -0
  16. data/public/css/highlight/atelier-dune.dark.css +22 -47
  17. data/public/css/highlight/atelier-dune.light.css +22 -47
  18. data/public/css/highlight/atelier-estuary-dark.css +84 -0
  19. data/public/css/highlight/atelier-estuary-light.css +84 -0
  20. data/public/css/highlight/atelier-estuary.dark.css +26 -55
  21. data/public/css/highlight/atelier-estuary.light.css +26 -55
  22. data/public/css/highlight/atelier-forest-dark.css +69 -0
  23. data/public/css/highlight/atelier-forest-light.css +69 -0
  24. data/public/css/highlight/atelier-forest.dark.css +22 -47
  25. data/public/css/highlight/atelier-forest.light.css +22 -47
  26. data/public/css/highlight/atelier-heath-dark.css +69 -0
  27. data/public/css/highlight/atelier-heath-light.css +69 -0
  28. data/public/css/highlight/atelier-heath.dark.css +22 -47
  29. data/public/css/highlight/atelier-heath.light.css +22 -47
  30. data/public/css/highlight/atelier-lakeside-dark.css +69 -0
  31. data/public/css/highlight/atelier-lakeside-light.css +69 -0
  32. data/public/css/highlight/atelier-lakeside.dark.css +22 -47
  33. data/public/css/highlight/atelier-lakeside.light.css +22 -47
  34. data/public/css/highlight/atelier-plateau-dark.css +84 -0
  35. data/public/css/highlight/atelier-plateau-light.css +84 -0
  36. data/public/css/highlight/atelier-plateau.dark.css +26 -55
  37. data/public/css/highlight/atelier-plateau.light.css +26 -55
  38. data/public/css/highlight/atelier-savanna-dark.css +84 -0
  39. data/public/css/highlight/atelier-savanna-light.css +84 -0
  40. data/public/css/highlight/atelier-savanna.dark.css +26 -55
  41. data/public/css/highlight/atelier-savanna.light.css +26 -55
  42. data/public/css/highlight/atelier-seaside-dark.css +69 -0
  43. data/public/css/highlight/atelier-seaside-light.css +69 -0
  44. data/public/css/highlight/atelier-seaside.dark.css +22 -47
  45. data/public/css/highlight/atelier-seaside.light.css +22 -47
  46. data/public/css/highlight/atelier-sulphurpool-dark.css +69 -0
  47. data/public/css/highlight/atelier-sulphurpool-light.css +69 -0
  48. data/public/css/highlight/atelier-sulphurpool.dark.css +22 -47
  49. data/public/css/highlight/atelier-sulphurpool.light.css +22 -47
  50. data/public/css/highlight/brown-paper.css +64 -0
  51. data/public/css/highlight/brown-papersq.png +0 -0
  52. data/public/css/highlight/brown_paper.css +21 -60
  53. data/public/css/highlight/codepen-embed.css +22 -59
  54. data/public/css/highlight/color-brewer.css +19 -113
  55. data/public/css/highlight/dark.css +18 -58
  56. data/public/css/highlight/darkula.css +20 -98
  57. data/public/css/highlight/default.css +67 -123
  58. data/public/css/highlight/docco.css +22 -59
  59. data/public/css/highlight/dracula.css +76 -0
  60. data/public/css/highlight/far.css +25 -64
  61. data/public/css/highlight/foundation.css +21 -68
  62. data/public/css/highlight/github-gist.css +25 -165
  63. data/public/css/highlight/github.css +23 -47
  64. data/public/css/highlight/googlecode.css +29 -84
  65. data/public/css/highlight/grayscale.css +101 -0
  66. data/public/css/highlight/gruvbox-dark.css +108 -0
  67. data/public/css/highlight/gruvbox-light.css +108 -0
  68. data/public/css/highlight/hopscotch.css +83 -0
  69. data/public/css/highlight/hybrid.css +16 -78
  70. data/public/css/highlight/idea.css +23 -48
  71. data/public/css/highlight/ir-black.css +73 -0
  72. data/public/css/highlight/ir_black.css +24 -57
  73. data/public/css/highlight/kimbie.dark.css +24 -47
  74. data/public/css/highlight/kimbie.light.css +24 -47
  75. data/public/css/highlight/magula.css +17 -67
  76. data/public/css/highlight/mono-blue.css +22 -31
  77. data/public/css/highlight/monokai-sublime.css +83 -0
  78. data/public/css/highlight/monokai.css +19 -75
  79. data/public/css/highlight/monokai_sublime.css +20 -91
  80. data/public/css/highlight/obsidian.css +25 -89
  81. data/public/css/highlight/paraiso-dark.css +72 -0
  82. data/public/css/highlight/paraiso-light.css +72 -0
  83. data/public/css/highlight/paraiso.dark.css +23 -47
  84. data/public/css/highlight/paraiso.light.css +23 -47
  85. data/public/css/highlight/pojoaque.css +28 -51
  86. data/public/css/highlight/qtcreator_dark.css +83 -0
  87. data/public/css/highlight/qtcreator_light.css +83 -0
  88. data/public/css/highlight/railscasts.css +32 -110
  89. data/public/css/highlight/rainbow.css +33 -55
  90. data/public/css/highlight/school-book.css +72 -0
  91. data/public/css/highlight/school-book.png +0 -0
  92. data/public/css/highlight/school_book.css +24 -63
  93. data/public/css/highlight/solarized-dark.css +84 -0
  94. data/public/css/highlight/solarized-light.css +84 -0
  95. data/public/css/highlight/solarized_dark.css +29 -52
  96. data/public/css/highlight/solarized_light.css +29 -52
  97. data/public/css/highlight/sunburst.css +28 -87
  98. data/public/css/highlight/tomorrow-night-blue.css +24 -45
  99. data/public/css/highlight/tomorrow-night-bright.css +24 -45
  100. data/public/css/highlight/tomorrow-night-eighties.css +24 -45
  101. data/public/css/highlight/tomorrow-night.css +24 -45
  102. data/public/css/highlight/tomorrow.css +24 -45
  103. data/public/css/highlight/vs.css +32 -56
  104. data/public/css/highlight/xcode.css +28 -89
  105. data/public/css/highlight/zenburn.css +26 -64
  106. data/public/css/presenter.css +78 -157
  107. data/public/css/showoff.css +368 -398
  108. data/public/js/highlight.pack.js +6423 -1791
  109. data/public/js/jquery.cycle.all.js +0 -29
  110. data/public/js/presenter.js +26 -67
  111. data/public/js/showoff.js +175 -152
  112. data/views/header.erb +0 -4
  113. data/views/header_mini.erb +0 -2
  114. data/views/index.erb +58 -48
  115. data/views/onepage.erb +4 -4
  116. data/views/presenter.erb +17 -15
  117. metadata +59 -45
  118. data/public/css/fast.png +0 -0
  119. data/public/css/fg.menu.css +0 -114
  120. data/public/css/grippy-close.png +0 -0
  121. data/public/css/grippy.png +0 -0
  122. data/public/css/new_window-a.png +0 -0
  123. data/public/css/new_window-b.png +0 -0
  124. data/public/css/new_window-c.png +0 -0
  125. data/public/css/popdown.png +0 -0
  126. data/public/css/popout.png +0 -0
  127. data/public/css/slow.png +0 -0
  128. data/public/css/spinner.gif +0 -0
  129. data/public/css/theme/images/ui-bg_diagonals-small_100_f0efea_40x40.png +0 -0
  130. data/public/css/theme/images/ui-bg_flat_35_f0f0f0_40x100.png +0 -0
  131. data/public/css/theme/images/ui-bg_glass_55_fcf0ba_1x400.png +0 -0
  132. data/public/css/theme/images/ui-bg_glow-ball_25_2e2e28_600x600.png +0 -0
  133. data/public/css/theme/images/ui-bg_highlight-soft_100_f0efea_1x100.png +0 -0
  134. data/public/css/theme/images/ui-bg_highlight-soft_25_327E04_1x100.png +0 -0
  135. data/public/css/theme/images/ui-bg_highlight-soft_25_5A9D1A_1x100.png +0 -0
  136. data/public/css/theme/images/ui-bg_highlight-soft_95_ffedad_1x100.png +0 -0
  137. data/public/css/theme/images/ui-bg_inset-soft_22_3b3b35_1x100.png +0 -0
  138. data/public/css/theme/images/ui-icons_808080_256x240.png +0 -0
  139. data/public/css/theme/images/ui-icons_8DC262_256x240.png +0 -0
  140. data/public/css/theme/images/ui-icons_cd0a0a_256x240.png +0 -0
  141. data/public/css/theme/images/ui-icons_e7e6e4_256x240.png +0 -0
  142. data/public/css/theme/images/ui-icons_eeeeee_256x240.png +0 -0
  143. data/public/css/theme/images/ui-icons_ffffff_256x240.png +0 -0
  144. data/public/css/theme/ui.accordion.css +0 -9
  145. data/public/css/theme/ui.all.css +0 -2
  146. data/public/css/theme/ui.base.css +0 -9
  147. data/public/css/theme/ui.core.css +0 -37
  148. data/public/css/theme/ui.datepicker.css +0 -62
  149. data/public/css/theme/ui.dialog.css +0 -13
  150. data/public/css/theme/ui.progressbar.css +0 -4
  151. data/public/css/theme/ui.resizable.css +0 -13
  152. data/public/css/theme/ui.slider.css +0 -17
  153. data/public/css/theme/ui.tabs.css +0 -9
  154. data/public/css/theme/ui.theme.css +0 -245
  155. data/public/js/fg.menu.js +0 -645
@@ -1,3 +1,40 @@
1
+ body {
2
+ font-family: "Lucida Sans Unicode", "Lucida Grande", sans-serif;
3
+ color: #222;
4
+ }
5
+
6
+ h1,
7
+ h2,
8
+ h3 {
9
+ margin: 8px 0;
10
+ padding: 0 8px;
11
+ font-weight: normal;
12
+ }
13
+
14
+ h1:first-child {
15
+ border-bottom: 3px solid #222;
16
+ }
17
+
18
+ pre {
19
+ margin: 1em 40px;
20
+ padding: .25em;
21
+ }
22
+
23
+ /* applies to inline code only */
24
+ code {
25
+ padding: 2px 4px;
26
+ font-size: 1.1em;
27
+ background-color: #ededed;
28
+ border-radius: 4px;
29
+ }
30
+
31
+ pre code {
32
+ display: block;
33
+ padding: unset;
34
+ border-radius: unset;
35
+ overflow: hidden;
36
+ }
37
+
1
38
  @media screen {
2
39
  /* explicitly size parent elements so the screen blanker works */
3
40
  html, body{
@@ -5,37 +42,25 @@
5
42
  }
6
43
 
7
44
  body {
8
- font-size: 100%;
9
- font-family: "Gill Sans", Helvetica, Arial, sans-serif;
10
- background:#333;
11
- overflow:hidden;
12
- margin:0;
13
- padding:0;
45
+ margin:0;
46
+ padding:0;
14
47
  }
15
48
 
16
- /* UI elements */
17
- #topbar,
18
- #sidebar,
19
- #statusbar,
20
- #bottom,
21
- #feedbackSidebar {
22
- font-family: 'Open Sans', 'Lucida Grande', helvetica, arial, sans-serif;
23
- font-size: 0.55em;
49
+ #preso,
50
+ .slide {
51
+ background: #fff;
52
+ width: 1024px;
53
+ height: 768px;
54
+ margin-left:auto;
55
+ margin-right:auto;
56
+ overflow:hidden;
57
+ background-repeat: no-repeat;
58
+ background-position: center;
59
+ background-size: cover;
24
60
  }
25
61
 
26
- #preso, .slide {
27
- background: #fff;
28
- width: 1024px;
29
- height: 768px;
30
- margin-left:auto;
31
- margin-right:auto;
32
- overflow:hidden;
33
- -webkit-box-shadow:0 0 25px rgba(0,0,0,0.35);
34
- -moz-box-shadow:0 0 25px rgba(0,0,0,0.35);
35
- box-shadow:0 0 25px rgba(0,0,0,0.35);
36
- background-repeat: no-repeat;
37
- background-position: center;
38
- background-size: cover;
62
+ .slide {
63
+ font-size: 1.5em;
39
64
  }
40
65
 
41
66
  #preso, .slide.background-fit {
@@ -43,24 +68,16 @@
43
68
  }
44
69
 
45
70
  #footer {
46
- background: rgba(221,221,221,0.75);
47
- color:#333;
48
- padding: 2px 5px;
49
- width: 1005px;
50
- height: 20px;
51
- line-height:20px;
52
- font-size:14px;
53
- position:relative;
54
- top:-24px;
55
- margin:0 auto;
56
- -webkit-border-top-left-radius: 3px;
57
- -webkit-border-top-right-radius: 3px;
58
- -moz-border-radius-topleft: 3px;
59
- -moz-border-radius-topright: 3px;
60
- border-top-left-radius: 3px;
61
- border-top-right-radius: 3px;
62
- z-index: 2147483647; /* max, see http://www.puidokas.com/max-z-index/ */
63
- display: none;
71
+ background-color: #f2f2f2;
72
+ -webkit-box-shadow:0 0 25px rgba(0,0,0,0.35);
73
+ -moz-box-shadow:0 0 25px rgba(0,0,0,0.35);
74
+ box-shadow:0 0 25px rgba(0,0,0,0.35);
75
+ padding: 4px 8px;
76
+ width: 100%;
77
+ position:fixed;
78
+ bottom: 0;
79
+ z-index: 2147483647; /* max, see http://www.puidokas.com/max-z-index/ */
80
+ display: none;
64
81
  }
65
82
  #followMode {
66
83
  display: none;
@@ -75,19 +92,10 @@
75
92
  display: none;
76
93
  margin: auto;
77
94
  color: white;
78
- font-size: 2em;
79
95
  padding: 1em;
80
96
  z-index: 2147483647; /* max, see http://www.puidokas.com/max-z-index/ */
81
97
  text-align: center;
82
98
  }
83
- .content {
84
- position: relative;
85
- /* for some reason, setting top to 50% is pushing the content too far down, no idea why */
86
- top: 42%;
87
- -webkit-transform: translateY(-50%);
88
- -ms-transform: translateY(-50%);
89
- transform: translateY(-50%);
90
- }
91
99
 
92
100
  /* prevent large images from getting too out of hand */
93
101
  .content img {
@@ -96,98 +104,99 @@
96
104
  }
97
105
  }
98
106
 
99
- .slide .center {
100
- text-align: center;
101
- }
102
-
103
107
  /* plain (non-bullet) text */
104
108
  .content > p,
105
109
  .content > form > p {
106
- font-size: 2em;
107
- margin: 1em;
108
- text-align: center;
110
+ margin: 1em;
109
111
  }
110
112
 
111
- .content > pre,
112
- .content > form > pre {
113
- font-size: 300%;
114
- }
115
113
  .content > blockquote,
116
114
  .content > form > blockquote {
117
- font-size: 250%;
118
- margin: 2em;
115
+ margin: 2em;
119
116
  }
120
117
 
121
- .center img {
122
- display:block;
123
- margin-left:auto;
124
- margin-right:auto;
118
+ .content img {
119
+ display:block;
120
+ margin-left:auto;
121
+ margin-right:auto;
125
122
  }
126
123
 
127
- /* numbered lists are numbered */
128
- .content ol {
129
- margin-left: 40px;
130
- font-size: 3em;
131
- text-align: left;
132
- padding-left: 40px;
124
+ .cover h1 {
125
+ border: none;
133
126
  }
134
- .content ol > li {
135
- list-style: decimal;
136
- display: list-item;
127
+
128
+ .slide .center,
129
+ #slides.supplemental .slide .center {
130
+ position: relative;
131
+ /* for some reason, setting top to 50% is pushing the content too far down, no idea why */
132
+ top: 42%;
133
+ -webkit-transform: translateY(-50%);
134
+ -ms-transform: translateY(-50%);
135
+ transform: translateY(-50%);
136
+ }
137
+
138
+ .center h1,
139
+ .center h2,
140
+ .center h3,
141
+ .center h4,
142
+ .center h5,
143
+ .center h6,
144
+ #slides.supplemental .slide .center h1,
145
+ #slides.supplemental .slide .center h2,
146
+ #slides.supplemental .slide .center h3,
147
+ #slides.supplemental .slide .center h4,
148
+ #slides.supplemental .slide .center h5,
149
+ #slides.supplemental .slide .center h6
150
+ {
151
+ text-align: center;
137
152
  }
138
153
 
154
+ .small {
155
+ font-size: 80%;
156
+ }
139
157
 
140
- /* ironically, normal lists have bullets and 'bullets' lists don't */
141
- .content > ul,
142
- .content > form > ul {
143
- list-style: disc;
144
- font-size: 3em;
145
- text-align: left;
146
- padding-left: 40px;
158
+ .smaller {
159
+ font-size: 70%;
147
160
  }
148
- .content > ul > li,
149
- .content > form > ul > li {
150
- padding: .5em;
151
- margin-left: 40px;
161
+
162
+ /**********************************
163
+ *** List styling ***
164
+ **********************************/
165
+
166
+ .content > ol,
167
+ .content > ul {
168
+ margin-left: 2em;
169
+ }
170
+
171
+ .content ol > li,
172
+ .content > ul li,
173
+ .content > form > ul li {
174
+ margin: .5em;
152
175
  }
153
176
 
154
177
  /* ironically, normal lists have bullets and 'bullets' lists don't */
155
178
  .bullets > ul {
156
- list-style: none;
157
- font-size: 3em;
158
- padding-left: 0px;
179
+ list-style: none;
180
+ padding-left: 0px;
159
181
  }
160
182
  .bullets > ul > li {
161
- text-align: center;
162
- padding: 25px;
163
- }
164
- .smbullets > ul {
165
- font-size: 2.5em;
183
+ text-align: center;
184
+ padding: 25px;
166
185
  }
186
+
167
187
  .smbullets > ul > li {
168
- text-align: center;
169
- padding: 10px;
188
+ text-align: center;
189
+ padding: 10px;
170
190
  }
171
191
 
172
- /* nested lists get their bullets back */
173
- .content ul ul,
174
- .content ol ul {
175
- list-style: disc;
176
- margin: 10px 10px;
177
- padding-left: 40px;
178
- text-align: left;
192
+ .bullets ul ul > li {
193
+ font-size: 80%;
179
194
  }
180
195
 
181
- .bullets ul ul > li { font-size: 80%; }
182
-
183
- .content ul li.incremental.hidden {
196
+ .content .incremental.hidden {
184
197
  visibility: hidden;
185
198
  }
186
199
 
187
- .commandline pre {
188
- font-size: 2em;
189
- }
190
-
191
200
  .commandline code.command {
192
201
  color: #000;
193
202
  }
@@ -198,64 +207,26 @@
198
207
 
199
208
  .command h1 {
200
209
  white-space: pre;
201
- font-family: monospace;
202
- font-size: 3em;
203
210
  }
204
211
 
205
212
  .code {
206
213
  white-space: pre;
207
- font-family: monospace;
208
- }
209
-
210
- .subsection h1 {
211
- background: #008;
212
- color: #fff;
213
- padding: .25em;
214
- }
215
-
216
- .small {
217
- font-size: 80%;
218
214
  }
219
215
 
220
- .smaller {
221
- font-size: 70%;
222
- }
216
+ .notes, .handouts, .instructor, .solguide { display: none }
223
217
 
224
- h1,h2,h3 { font-weight: normal; text-align: center; margin: 0.5em 0; }
225
- h1 { font-size: 5em; }
226
- h2 { font-size: 3em; }
227
- h3 { font-size: 2em; }
218
+ .offscreen { position:absolute; top:0; left:-9999px; overflow:hidden; }
228
219
 
229
- /* make this invisible as possible, while still rendering so that wkhtmltopdf doesn't ignore it */
230
- .content h1.section_title {
231
- color: transparent !important;
232
- opacity: 0 !important;
233
- font-size: 0 !important;
234
- margin: 0 !important;
235
- padding: 0 !important;
220
+ #debugInfo,
221
+ #slideFilename {
222
+ margin-left: 30px;
236
223
  }
237
224
 
238
- pre { margin: 1em 40px; padding: .25em; }
239
-
240
- #navigation.hidden,
241
- #stylepicker.hidden {
242
- position:absolute; top:0; left:-9999px; width:1px; height:1px; overflow:hidden;
225
+ #notesInfo {
226
+ margin-left: 30px;
227
+ display: none;
243
228
  }
244
229
 
245
- .notes, .handouts, .instructor, .solguide { display: none }
246
- .buttonNav { display: none }
247
- .offscreen { position:absolute; top:0; left:-9999px; overflow:hidden; }
248
- #debugInfo { margin-left: 30px; }
249
- #notesInfo { margin-left: 30px; display: none }
250
- #slideFilename {
251
- position: absolute;
252
- right: 5px;
253
- bottom: 0px;
254
- height: 23px;
255
- padding-left: 10px;
256
- background: #ccc;
257
- z-index: 2147483647;
258
- }
259
230
  img#disconnected {
260
231
  float: right;
261
232
  display: none;
@@ -272,6 +243,7 @@ img#disconnected {
272
243
  #help {
273
244
  display: none;
274
245
  position:absolute;
246
+ overflow: auto;
275
247
  top: 5%;
276
248
  left: 25%;
277
249
  width: 50%;
@@ -283,6 +255,7 @@ img#disconnected {
283
255
  -moz-box-shadow:0 0 25px rgba(0,0,0,0.35);
284
256
  box-shadow:0 0 25px rgba(0,0,0,0.35);
285
257
  background-color: #fff;
258
+ font-size: 0.75em;
286
259
  }
287
260
 
288
261
  #help div {
@@ -290,7 +263,6 @@ img#disconnected {
290
263
  }
291
264
 
292
265
  #help h1 {
293
- font-size: 1.25em;
294
266
  border-bottom: 2px solid #ccc;
295
267
  }
296
268
 
@@ -311,7 +283,6 @@ img#disconnected {
311
283
 
312
284
  #help .action {
313
285
  width: 15%;
314
- font-size: 0.75em;
315
286
  color: gray;
316
287
  }
317
288
 
@@ -337,14 +308,12 @@ img#disconnected {
337
308
  width: 50%;
338
309
  border-radius: 0 0 .5em .5em;
339
310
  border-bottom: 8px solid #222222;
340
- font-size: .65em;
341
311
  background-color: #222222;
342
312
  overflow: auto;
343
313
  }
344
314
 
345
315
  #presenterPopup h1,
346
316
  #presenterPopup h3 {
347
- font-size: 2em;
348
317
  color: #ffffff;
349
318
  }
350
319
 
@@ -356,7 +325,6 @@ img#disconnected {
356
325
  #presenterPopup ul#downloads {
357
326
  margin-left: 0;
358
327
  list-style-type: none;
359
- font-size: 1.25em;
360
328
  }
361
329
 
362
330
  /**********************************
@@ -364,148 +332,175 @@ img#disconnected {
364
332
  **********************************/
365
333
 
366
334
  .content table {
367
- margin-left: auto;
368
- margin-right: auto;
369
- border-collapse:collapse;
370
- width: 80%;
371
- font-size: 1.7em;
335
+ margin-left: auto;
336
+ margin-right: auto;
337
+ border-collapse:collapse;
338
+ width: 90%;
339
+ font-size: .9em;
372
340
  }
373
341
 
374
- .content.small table {
375
- font-size: 1.6em;
376
- width: 90%;
377
- }
378
- .content.smaller table {
379
- font-size: 1.5em;
380
- width: 95%;
342
+ .content thead {
343
+ border-bottom: 2px solid #ccc;
381
344
  }
382
345
 
383
- .content table th {
384
- border-bottom: 2px solid #ccc;
385
- padding: 0.5em;
386
- font-weight: bold;
346
+ .content tr:not(:last-child) {
347
+ border-bottom: 1px solid #ccc;
387
348
  }
388
349
 
389
- .content table tr td {
390
- border-right: 1px solid #eee;
391
- border-bottom: 1px solid #efefef;
392
- text-align: center;
393
- padding: 0.5em;
350
+ .content tbody tr:nth-child(2n+1) {
351
+ background-color: #f9f9f9;
394
352
  }
395
353
 
396
- .content table tr td:last-child {
397
- border-right: none;
354
+ .content td {
355
+ padding: .25em .5em;
398
356
  }
399
357
 
400
- .content table li {
401
- list-style-type: disc;
358
+ .content td:first-child {
359
+ border-right: 2px solid #ccc;
402
360
  }
403
361
 
404
-
405
362
  /**********************************
406
363
  *** Sidebar styling ***
407
364
  **********************************/
408
-
409
- #feedbackWrapper {
410
- float: left;
411
- height: 100%;
365
+ #hamburger {
412
366
  position: fixed;
413
- background-color: #dfdfdf;
414
- opacity: 0.98;
415
- z-index: 2147483647; /* max, see http://www.puidokas.com/max-z-index/ */
367
+ padding: 4px 8px;
368
+ opacity: .05;
369
+ border-radius: .1em;
370
+ transition: all .2s;
371
+ z-index: 2147483647;
372
+ float: left;
416
373
  }
417
374
 
418
- #feedbackSidebar {
419
- height: 100%;
420
- width: 200px;
421
- background: transparent url(grippy-close.png) no-repeat right center;
422
- display: none;
375
+ #hamburger:hover {
376
+ opacity: 1;
377
+ background-color: #337ab7;
378
+ color: #ffffff;
423
379
  }
424
380
 
425
- #feedbackSidebar img#feedbackActivity {
381
+ #sidebarExit {
426
382
  position: absolute;
427
- right: 3px;
428
- top: 3px;
383
+ height: 100%;
384
+ width: 100%;
385
+ left: 240px;
386
+ z-index: 2147483647;
387
+ }
388
+
389
+ #feedbackSidebar,
390
+ #sidebarExit,
391
+ .submenu {
429
392
  display: none;
430
393
  }
431
394
 
432
- #feedbackHandle {
395
+ .sideMenu {
396
+ position: absolute;
433
397
  height: 100%;
434
- width: 9px;
435
- background: transparent url(grippy.png) no-repeat center;
398
+ width: 240px;
399
+ background-color: #ffffff;
400
+ box-shadow:0 0 25px rgba(0,0,0,0.35);
401
+ overflow: auto;
402
+ z-index: 2147483647;
436
403
  }
437
404
 
438
- #feedbackSidebar div.row {
439
- text-align: center;
440
- margin: 5px 0;
441
- padding: 5px 0;
405
+ .sideMenu textarea {
406
+ min-height: 80px;
407
+ width: 90%;
408
+ margin: 8px;
409
+ border-color: #dddddd;
410
+ border-radius: .3em;
442
411
  }
443
412
 
444
- #feedbackWrapper h4 {
445
- text-align: left;
446
- margin-left: 3px;
413
+ .sideMenu p {
414
+ text-align: center;
415
+ margin: 0;
447
416
  }
448
- #feedbackSidebar span.buttonWrapper {
449
- height: 60px;
450
- width: 85px;
451
- padding: 5px;
452
- display: inline-block;
417
+
418
+ .sideMenu i {
419
+ margin-right: 8px;
453
420
  }
454
- #feedbackSidebar span.buttonWrapper button {
455
- margin: 44px auto 0 auto;
421
+
422
+ .buttonWrapper {
423
+ line-height: 48px;
424
+ padding: 0 16px;
425
+ font-weight: bold;
456
426
  }
457
427
 
458
- #feedbackSidebar span.buttonWrapper.slower {
459
- background: transparent url(slow.png) no-repeat center top;
428
+ .buttonWrapper:hover,
429
+ .submenu a:hover,
430
+ .submenu .highlighted a {
431
+ background-color:#337ab7;
432
+ color: #ffffff;
433
+ cursor: pointer;
460
434
  }
461
435
 
462
- #feedbackSidebar span.buttonWrapper.faster {
463
- background: transparent url(fast.png) no-repeat center top;
436
+ .buttonWrapper.split {
437
+ float: left;
438
+ width: 50%;
439
+ line-height: 30px;
440
+ margin: 12px 0;
441
+ padding: 0;
442
+ text-align: center;
464
443
  }
465
444
 
466
- #feedbackSidebar textarea {
467
- height: 85px;
468
- width: 85%;
445
+ .buttonWrapper.split i {
446
+ margin-right: 0;
469
447
  }
470
448
 
471
- #feedbackSidebar div.row > button {
449
+ .submenu .buttonWrapper{
450
+ display: inline-block;
472
451
  width: 90%;
473
- margin: auto 5%;
452
+ margin: 0 5%;
453
+ padding: 0;
454
+ background-color: #337ab7;
455
+ border: 1px solid #2e6da4;
456
+ color: #ffffff;
457
+ border-radius: 4px;
458
+ text-align: center;
459
+ line-height: 36px;
474
460
  }
475
461
 
476
- .fg-menu-container {
477
- z-index: 2147483647; /* max, see http://www.puidokas.com/max-z-index/ */
478
- font-size: 0.8em;
462
+ .submenu .buttonWrapper:hover {
463
+ background-color: #286090;
464
+ border-color: #204d74;
465
+ }
466
+
467
+ .submenu ul {
468
+ font-size: .9em;
469
+ list-style: none;
470
+ margin: 0;
471
+ padding: 0;
479
472
  }
480
473
 
481
- .fg-button { clear:left; margin:0 4px 40px 20px; padding: .4em 1em; text-decoration:none !important; cursor:pointer; position: relative; text-align: center; zoom: 1; }
482
- .fg-button .ui-icon { position: absolute; top: 50%; margin-top: -8px; left: 50%; margin-left: -8px; }
483
- a.fg-button { float:left; }
484
- .fg-button-icon-right { padding-right: 2.1em; }
485
- .fg-button-icon-right .ui-icon { left: auto; right: .2em; margin-left: 0; }
474
+ .submenu a {
475
+ display: block;
476
+ color: #000;
477
+ text-decoration: none;
478
+ }
486
479
 
487
- .fg-button.ui-state-loading .ui-icon { background: url(spinner_bar.gif) no-repeat 0 0; }
480
+ .submenu a i {
481
+ float: right;
482
+ }
488
483
 
489
- #navmenu {
490
- position: absolute;
491
- top: 10px;
492
- left: 10px;
493
- width: 50px;
494
- font-size: 0.8em;
495
- z-index: 2147483647; /* max, see http://www.puidokas.com/max-z-index/ */
484
+ .navSection {
485
+ border-top: 1px solid #ccc;
486
+ padding: .8em;
496
487
  }
497
488
 
489
+ .navItem {
490
+ padding: .5em 1.5em;
491
+ }
492
+
493
+ /* End Sidebar styling */
494
+
498
495
  .results {
499
496
  background-color:#002200;
500
497
  color:#00AA00;
501
- font-size:2em;
502
498
  border:2px solid black;
503
499
  position: fixed;
504
500
  top:0px;
505
501
  width:100%;
506
502
  padding:15px;
507
503
  margin:0px;
508
- font-family: monospace;
509
504
  z-index: 2147483647; /* max, see http://www.puidokas.com/max-z-index/ */
510
505
  }
511
506
 
@@ -517,8 +512,8 @@ a.fg-button { float:left; }
517
512
  /* Add a Shell "code highlighting" style to resemble the look of a terminal window. */
518
513
  .content pre.highlight code.language-shell {
519
514
  display: block;
520
- background-color: black;
521
- color: green;
515
+ background-color: #111;
516
+ color: #00ff40;
522
517
  border: 2px solid #ddd;
523
518
  padding: 0.5em;
524
519
  overflow: hidden;
@@ -547,7 +542,6 @@ code.executing:hover {
547
542
  display:inline;
548
543
  background-color:#000;
549
544
  color:#fff;
550
- font-size:3em;
551
545
  border:2px solid black;
552
546
  position: fixed;
553
547
  padding:25px;
@@ -578,94 +572,86 @@ code.executing:hover {
578
572
  /**********************************
579
573
  *** form widgets ***
580
574
  **********************************/
581
- .content div.form.element {
582
- text-align: left;
583
- padding-left: 40px;
584
- }
585
- .content div.form.element label {
586
- margin-right: 0.5em;
575
+ form .element {
576
+ font-size: .8em;
577
+ width: 90%;
578
+ margin: 0 auto;
587
579
  }
588
- .content div.form.element select {
589
- font-size: 2em;
580
+
581
+ .element input + label,
582
+ .element label + input,
583
+ .element select {
584
+ margin-left: 0.5em;
590
585
  }
591
- .content div.form.element textarea {
586
+
587
+ .element textarea {
592
588
  display: block;
593
589
  width: 85%;
594
590
  }
595
- .content div.form.element ul {
596
- list-style: disc;
597
- }
598
- .content div.form.element ul > li {
599
- margin-left: 40px;
591
+
592
+ .element ul {
593
+ list-style: none;
594
+ margin-top: 0;
600
595
  }
601
- /* TODO: not sure why the preview window honks things up */
602
- #preview .content div.form.element select {
603
- font-size: 0.8em;
596
+
597
+ .element input[type=checkbox],
598
+ .element input[type=radio] {
599
+ font-size: 1em;
600
+ width: 1em;
601
+ height: 1em;
604
602
  }
605
- .content div.form.element.warning {
603
+
604
+ .warning {
606
605
  background-color: #ff7373;
607
606
  }
608
- .content form div.tools {
607
+ .tools {
609
608
  position: absolute;
610
609
  bottom: 40px;
611
610
  right: 20px;
612
611
  }
613
- .content form div.tools * {
614
- float: right;
615
- }
616
- .content form div.tools input[type=submit],
617
- .content form div.tools input[type=button] {
618
- margin: 1em;
619
- font-size: 2em;
612
+
613
+ .tools input[type=submit],
614
+ .tools input[type=button] {
615
+ height: 24px;
616
+ font-size: .6em;
617
+ border: none;
620
618
  }
621
- .content form div.tools input[type=submit].dirty {
622
- color: red;
619
+ .tools input[type=submit].dirty {
620
+ color: #fff;
621
+ background-color: #2e6da4;
623
622
  }
624
- .content form div.tools input[type=button].display {
623
+ .tools input[type=button].display {
625
624
  display: none;
626
625
  }
627
626
 
628
- div.rendered.form {
627
+ .rendered {
629
628
  border: 1px solid #ccc;
630
629
  border-radius: 0.5em;
631
630
  margin: 1em;
632
- padding: 0.25em;
631
+ padding: 0.25em 0.25em 0.25em .5em;
633
632
  min-height: 3em;
634
633
  }
635
- div.rendered.form.element {
636
- position: relative; /* for absolutely positioning children */
637
- padding-left: 0.5em;
638
- }
639
- div.rendered.form label {
640
- display: block;
641
- font-weight: bold;
634
+
635
+ .rendered label {
642
636
  border-bottom: 1px solid #999;
643
637
  }
644
- div.rendered.form .item {
645
- display: block;
646
- width: 0;
647
- /* overflow: hidden; */
638
+ .rendered .item {
648
639
  height: 1.25em;
649
640
  white-space: nowrap;
650
- opacity: 0.5;
651
- border-radius: 0 0.5em 0.5em 0;
652
- margin: 2px 0;
641
+ background-color: #f2dede;
642
+ border: 1px solid #f45f5f;
643
+ border-left: none;
644
+ border-radius: 0 0.4em 0.4em 0;
653
645
  }
654
- div.rendered.form .item.correct {
655
- font-weight: 900;
656
- border-left: 4px solid black;
657
- opacity: 1.0;
646
+ .rendered .item.correct {
647
+ background-color: #dff0d8;
648
+ border: 1px solid #00AA00;
649
+ border-left: none;
658
650
  }
659
- div.rendered.form span.count {
651
+ .count {
660
652
  display: none;
661
653
  }
662
654
 
663
- div.rendered.form .item.barstyle0 { background-color: #bb73bb; }
664
- div.rendered.form .item.barstyle1 { background-color: #59b859; }
665
- div.rendered.form .item.barstyle2 { background-color: #e3742f; }
666
- div.rendered.form .item.barstyle3 { background-color: #48a2ee; }
667
- div.rendered.form .item.barstyle4 { background-color: #f75d5d; }
668
-
669
655
  #notes .form.wrapper {
670
656
  display: none;
671
657
  }
@@ -680,42 +666,20 @@ div.rendered.form .item.barstyle4 { background-color: #f75d5d; }
680
666
  width: 8.1in;
681
667
  }
682
668
 
683
- .supplemental h1 { font-family: 'Arvo'; text-align: left; }
669
+ .supplemental h1,
684
670
  .supplemental h2,
685
671
  .supplemental h3,
686
672
  .supplemental h4,
687
673
  .supplemental h5,
688
- .supplemental h6 { font-family: 'PT Sans'; text-align: left; }
689
-
690
- .supplemental h1 { font-size: 2em; }
691
- .supplemental h2 { font-size: 1.5em; }
692
- .supplemental h3,
693
- .supplemental h4,
694
- .supplemental h5,
695
- .supplemental h6 { font-size: 1.3em; text-align: left; }
696
-
697
- .supplemental .content > p,
698
- .supplemental .content > ol,
699
- .supplemental .content > ul { font-size: 1em; }
674
+ .supplemental h6 { text-align: left; }
700
675
 
701
676
  .supplemental img { max-width: 7in; }
702
- .supplemental .content > pre,
703
- .supplemental .content > pre > code { font-size: 10pt; font-family: 'Courier New', Courier, monospace; }
677
+
704
678
  .supplemental ul { list-style: disc; margin-left: 1.25em !important; padding-left: inherit !important; }
705
- .supplemental .content table { font-size: 0.65em; } /* Ugly hack for tables, which never seem to scale properly. Ick */
706
679
 
707
680
  /* downloads page */
708
- /* we want scrolls! */
709
- body#download {
710
- overflow:auto;
711
- height: auto;
712
- }
713
- body#download h1 {
714
- font-size: 3em;
715
- }
716
681
  body#download ul#downloads {
717
682
  margin-left: 20%;
718
- font-size: large;
719
683
  list-style-type: disc;
720
684
  }
721
685
  body#download ul#downloads li {
@@ -725,11 +689,6 @@ body#download ul#downloads li {
725
689
  /**********************
726
690
  *** stats page ***
727
691
  **********************/
728
- /* we want scrolls! */
729
- body#stats {
730
- overflow:auto;
731
- height: auto;
732
- }
733
692
 
734
693
  /* apply some nifty rounding styles to the row */
735
694
  #stats div.row {
@@ -814,6 +773,39 @@ body#stats {
814
773
  *** end stats page ***
815
774
  **********************/
816
775
 
776
+ /**********************
777
+ *** Callouts ***
778
+ **********************/
779
+
780
+ .callout {
781
+ padding: 12px 0;
782
+ min-height: 2em;
783
+ border: 1px solid #222;
784
+ border-radius: 4px;
785
+ background-color: transparent; /* because there's a warning class with a red background */
786
+ }
787
+
788
+ .callout:before {
789
+ font-family: FontAwesome;
790
+ font-style: normal;
791
+ font-weight: normal;
792
+ font-size: 2em;
793
+ text-decoration: inherit;
794
+ padding: 0 8px;
795
+ float: left;
796
+ }
797
+
798
+ .callout.info:before { content: "\f05a"; } /* fa-info-circle */
799
+ .callout.warning:before { content: "\f071"; } /* fa-exclamation-triangle */
800
+ .callout.question:before { content: "\f059"; } /* fa-question-circle */
801
+ .callout.exercise:before { content: "\f41b"; } /* fa-pencil-square */
802
+ .callout.stop:before { content: "\f05e"; } /* fa-ban */
803
+
804
+ /**********************
805
+ *** end callouts ***
806
+ **********************/
807
+
808
+
817
809
  /* iPhone */
818
810
  /* Portrait */
819
811
  @media screen and (max-width: 320px)
@@ -837,61 +829,26 @@ body#stats {
837
829
 
838
830
  }
839
831
 
840
- /* Landscape */
841
- /*
842
- @media screen and (max-width: 480px)
843
- {
844
- #preso {
845
- margin: 0;
846
- padding: 0;
847
- width: 480px;
848
- margin-left:auto;
849
- margin-right:auto;
850
- }
851
- #footer {
852
- background: #eee;
853
- margin: 0;
854
- padding: 2px;
855
- width: 480px;
856
- height: 20px;
857
- margin-left:auto;
858
- margin-right:auto;
859
- }
860
- }
861
- */
862
-
863
832
  /** Print **/
864
833
  @media print {
865
- body {
866
- font-size: 70%;
834
+ #preso,
835
+ .slide:not(.center) {
836
+ max-height: inherit !important;
837
+ height: 100% !important; /* because otherwise handout notes are cutoff by the inline height set on the slide */
867
838
  }
868
839
 
869
- #sidebarWrapper,
870
- #sidebar,
871
- #sidebarHandle {
872
- display:none,
873
-
874
- }
875
-
876
- #preso, .slide {
877
- border: 1px solid #999;
840
+ /* make this invisible as possible, while still rendering so that wkhtmltopdf doesn't ignore it */
841
+ h1.section_title {
842
+ color: transparent !important;
843
+ opacity: 0 !important;
844
+ font-size: 0 !important;
845
+ margin: 0 !important;
846
+ padding: 0 !important;
878
847
  }
879
848
 
880
- .slide .center {
881
- width: 800px;
882
- height: 600px;
883
- display: table-cell;
884
- text-align: center;
885
- vertical-align: middle;
886
- }
887
-
888
- #preso, .slide {
889
- background: #fff;
890
- width: 800px;
891
- height: 600px;
892
- margin-left:auto;
893
- margin-right:auto;
894
- overflow:hidden;
849
+ /* because the above section headers are h1 elements rendered only in print */
850
+ .content:not(.cover) h1:not(.section_title) {
851
+ border-bottom: 2px solid #222;
895
852
  }
896
853
 
897
854
  /* prevent large images from running off the page */
@@ -901,24 +858,37 @@ body#stats {
901
858
  }
902
859
 
903
860
  #footer {
904
- background: #eee;
905
- padding: 2px;
906
- width: 590px;
907
- height: 20 px;
908
- margin-left:auto;
909
- margin-right:auto;
861
+ background: #eee;
862
+ padding: 2px;
863
+ width: 590px;
864
+ height: 20 px;
865
+ margin-left:auto;
866
+ margin-right:auto;
910
867
  }
911
868
 
912
- pre, code {
913
- font-family: Monaco, monospace;
869
+ /* Styling to make the handout notes appear in the printed output. */
870
+ .handouts {
871
+ display: block;
872
+ clear: both;
873
+ padding-top: 1em;
874
+ }
875
+
876
+ /* prepend the first element of the .handouts div with Notes: */
877
+ .handouts > :first-child:before {
878
+ display: block;
879
+ font-weight: bold;
880
+ content: "Notes:";
881
+ border-top: 2px dashed #999;
882
+ padding: 0.25em 0 0.5em 0;
914
883
  }
915
884
 
916
885
  /* page break styling */
917
- div.break {
886
+ .pagebreak {
918
887
  page-break-after: always;
919
888
  font-size: small;
920
889
  font-style: italic;
921
890
  padding-top: 0.25em;
922
891
  padding-bottom: 0.25em;
923
892
  }
893
+
924
894
  }