showoff 0.11.2 → 0.12.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 (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
  }