slippery 0.4.1 → 0.4.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (293) hide show
  1. checksums.yaml +5 -5
  2. data/README.md +2 -2
  3. data/assets/LICENSE.md +21 -0
  4. data/assets/README.md +48 -0
  5. data/assets/highlight.js/CHANGES.md +693 -0
  6. data/assets/highlight.js/README.md +86 -37
  7. data/assets/highlight.js/README.ru.md +65 -24
  8. data/assets/highlight.js/highlight.pack.js +2 -1
  9. data/assets/highlight.js/styles/agate.css +108 -0
  10. data/assets/highlight.js/styles/androidstudio.css +66 -0
  11. data/assets/highlight.js/styles/arduino-light.css +88 -0
  12. data/assets/highlight.js/styles/arta.css +25 -93
  13. data/assets/highlight.js/styles/ascetic.css +20 -28
  14. data/assets/highlight.js/styles/atelier-cave-dark.css +83 -0
  15. data/assets/highlight.js/styles/atelier-cave-light.css +85 -0
  16. data/assets/highlight.js/styles/atelier-dune-dark.css +69 -0
  17. data/assets/highlight.js/styles/atelier-dune-light.css +69 -0
  18. data/assets/highlight.js/styles/atelier-estuary-dark.css +84 -0
  19. data/assets/highlight.js/styles/atelier-estuary-light.css +84 -0
  20. data/assets/highlight.js/styles/atelier-forest-dark.css +69 -0
  21. data/assets/highlight.js/styles/atelier-forest-light.css +69 -0
  22. data/assets/highlight.js/styles/atelier-heath-dark.css +69 -0
  23. data/assets/highlight.js/styles/atelier-heath-light.css +69 -0
  24. data/assets/highlight.js/styles/atelier-lakeside-dark.css +69 -0
  25. data/assets/highlight.js/styles/atelier-lakeside-light.css +69 -0
  26. data/assets/highlight.js/styles/atelier-plateau-dark.css +84 -0
  27. data/assets/highlight.js/styles/atelier-plateau-light.css +84 -0
  28. data/assets/highlight.js/styles/atelier-savanna-dark.css +84 -0
  29. data/assets/highlight.js/styles/atelier-savanna-light.css +84 -0
  30. data/assets/highlight.js/styles/atelier-seaside-dark.css +69 -0
  31. data/assets/highlight.js/styles/atelier-seaside-light.css +69 -0
  32. data/assets/highlight.js/styles/atelier-sulphurpool-dark.css +69 -0
  33. data/assets/highlight.js/styles/atelier-sulphurpool-light.css +69 -0
  34. data/assets/highlight.js/styles/atom-one-dark.css +96 -0
  35. data/assets/highlight.js/styles/atom-one-light.css +96 -0
  36. data/assets/highlight.js/styles/brown-paper.css +64 -0
  37. data/assets/highlight.js/styles/codepen-embed.css +22 -70
  38. data/assets/highlight.js/styles/color-brewer.css +20 -118
  39. data/assets/highlight.js/styles/darcula.css +77 -0
  40. data/assets/highlight.js/styles/dark.css +20 -62
  41. data/assets/highlight.js/styles/darkula.css +6 -0
  42. data/assets/highlight.js/styles/default.css +67 -121
  43. data/assets/highlight.js/styles/docco.css +22 -61
  44. data/assets/highlight.js/styles/dracula.css +76 -0
  45. data/assets/highlight.js/styles/far.css +26 -67
  46. data/assets/highlight.js/styles/foundation.css +22 -70
  47. data/assets/highlight.js/styles/github-gist.css +71 -0
  48. data/assets/highlight.js/styles/github.css +23 -51
  49. data/assets/highlight.js/styles/googlecode.css +29 -88
  50. data/assets/highlight.js/styles/grayscale.css +101 -0
  51. data/assets/highlight.js/styles/gruvbox-dark.css +108 -0
  52. data/assets/highlight.js/styles/gruvbox-light.css +108 -0
  53. data/assets/highlight.js/styles/hopscotch.css +83 -0
  54. data/assets/highlight.js/styles/hybrid.css +22 -91
  55. data/assets/highlight.js/styles/idea.css +24 -53
  56. data/assets/highlight.js/styles/ir-black.css +73 -0
  57. data/assets/highlight.js/styles/kimbie.dark.css +24 -46
  58. data/assets/highlight.js/styles/kimbie.light.css +24 -46
  59. data/assets/highlight.js/styles/magula.css +19 -71
  60. data/assets/highlight.js/styles/mono-blue.css +22 -33
  61. data/assets/highlight.js/styles/monokai-sublime.css +83 -0
  62. data/assets/highlight.js/styles/monokai.css +23 -80
  63. data/assets/highlight.js/styles/obsidian.css +26 -92
  64. data/assets/highlight.js/styles/ocean.css +74 -0
  65. data/assets/highlight.js/styles/paraiso-dark.css +72 -0
  66. data/assets/highlight.js/styles/paraiso-light.css +72 -0
  67. data/assets/highlight.js/styles/pojoaque.css +29 -54
  68. data/assets/highlight.js/styles/purebasic.css +96 -0
  69. data/assets/highlight.js/styles/qtcreator_dark.css +83 -0
  70. data/assets/highlight.js/styles/qtcreator_light.css +83 -0
  71. data/assets/highlight.js/styles/railscasts.css +32 -111
  72. data/assets/highlight.js/styles/rainbow.css +34 -58
  73. data/assets/highlight.js/styles/routeros.css +108 -0
  74. data/assets/highlight.js/styles/school-book.css +72 -0
  75. data/assets/highlight.js/styles/solarized-dark.css +84 -0
  76. data/assets/highlight.js/styles/solarized-light.css +84 -0
  77. data/assets/highlight.js/styles/sunburst.css +28 -91
  78. data/assets/highlight.js/styles/tomorrow-night-blue.css +23 -43
  79. data/assets/highlight.js/styles/tomorrow-night-bright.css +23 -43
  80. data/assets/highlight.js/styles/tomorrow-night-eighties.css +23 -43
  81. data/assets/highlight.js/styles/tomorrow-night.css +23 -43
  82. data/assets/highlight.js/styles/tomorrow.css +23 -43
  83. data/assets/highlight.js/styles/vs.css +33 -59
  84. data/assets/highlight.js/styles/vs2015.css +115 -0
  85. data/assets/highlight.js/styles/xcode.css +28 -94
  86. data/assets/highlight.js/styles/xt256.css +92 -0
  87. data/assets/highlight.js/styles/zenburn.css +26 -65
  88. data/assets/index.html +186 -0
  89. data/assets/pictures/cover.jpg +0 -0
  90. data/assets/pictures/logo.svg +3 -0
  91. data/assets/pictures/picture.jpg +0 -0
  92. data/assets/reveal.js/css/print/paper.css +193 -167
  93. data/assets/reveal.js/css/print/pdf.css +20 -53
  94. data/assets/reveal.js/css/reveal.css +953 -1663
  95. data/assets/reveal.js/css/reveal.min.css +3 -3
  96. data/assets/reveal.js/css/reveal.scss +1319 -0
  97. data/assets/reveal.js/css/theme/README.md +2 -4
  98. data/assets/reveal.js/css/theme/beige.css +183 -60
  99. data/assets/reveal.js/css/theme/black.css +267 -0
  100. data/assets/reveal.js/css/theme/blood.css +190 -80
  101. data/assets/reveal.js/css/theme/league.css +273 -0
  102. data/assets/reveal.js/css/theme/moon.css +174 -51
  103. data/assets/reveal.js/css/theme/night.css +171 -42
  104. data/assets/reveal.js/css/theme/serif.css +187 -58
  105. data/assets/reveal.js/css/theme/simple.css +179 -50
  106. data/assets/reveal.js/css/theme/sky.css +176 -47
  107. data/assets/reveal.js/css/theme/solarized.css +174 -51
  108. data/assets/reveal.js/css/theme/source/beige.scss +1 -12
  109. data/assets/reveal.js/css/theme/source/black.scss +49 -0
  110. data/assets/reveal.js/css/theme/source/blood.scss +3 -15
  111. data/assets/reveal.js/css/theme/source/{default.scss → league.scss} +5 -13
  112. data/assets/reveal.js/css/theme/source/moon.scss +1 -12
  113. data/assets/reveal.js/css/theme/source/serif.scss +1 -1
  114. data/assets/reveal.js/css/theme/source/sky.scss +1 -1
  115. data/assets/reveal.js/css/theme/source/solarized.scss +1 -12
  116. data/assets/reveal.js/css/theme/source/white.scss +49 -0
  117. data/assets/reveal.js/css/theme/template/settings.scss +13 -4
  118. data/assets/reveal.js/css/theme/template/theme.scss +193 -14
  119. data/assets/reveal.js/css/theme/white.css +267 -0
  120. data/assets/reveal.js/js/reveal.js +1572 -446
  121. data/assets/reveal.js/js/reveal.min.js +4 -4
  122. data/assets/reveal.js/lib/css/zenburn.css +74 -71
  123. data/assets/reveal.js/lib/font/league-gothic/league-gothic.css +10 -0
  124. data/assets/reveal.js/lib/font/league-gothic/league-gothic.eot +0 -0
  125. data/assets/reveal.js/lib/font/league-gothic/league-gothic.ttf +0 -0
  126. data/assets/reveal.js/lib/font/league-gothic/league-gothic.woff +0 -0
  127. data/assets/reveal.js/lib/font/source-sans-pro/LICENSE +45 -0
  128. data/assets/reveal.js/lib/font/source-sans-pro/source-sans-pro-italic.eot +0 -0
  129. data/assets/reveal.js/lib/font/source-sans-pro/source-sans-pro-italic.ttf +0 -0
  130. data/assets/reveal.js/lib/font/source-sans-pro/source-sans-pro-italic.woff +0 -0
  131. data/assets/reveal.js/lib/font/source-sans-pro/source-sans-pro-regular.eot +0 -0
  132. data/assets/reveal.js/lib/font/source-sans-pro/source-sans-pro-regular.ttf +0 -0
  133. data/assets/reveal.js/lib/font/source-sans-pro/source-sans-pro-regular.woff +0 -0
  134. data/assets/reveal.js/lib/font/source-sans-pro/source-sans-pro-semibold.eot +0 -0
  135. data/assets/reveal.js/lib/font/source-sans-pro/source-sans-pro-semibold.ttf +0 -0
  136. data/assets/reveal.js/lib/font/source-sans-pro/source-sans-pro-semibold.woff +0 -0
  137. data/assets/reveal.js/lib/font/source-sans-pro/source-sans-pro-semibolditalic.eot +0 -0
  138. data/assets/reveal.js/lib/font/source-sans-pro/source-sans-pro-semibolditalic.ttf +0 -0
  139. data/assets/reveal.js/lib/font/source-sans-pro/source-sans-pro-semibolditalic.woff +0 -0
  140. data/assets/reveal.js/lib/font/source-sans-pro/source-sans-pro.css +39 -0
  141. data/assets/reveal.js/plugin/highlight/highlight.js +2 -4
  142. data/assets/reveal.js/plugin/leap/leap.js +4 -2
  143. data/assets/reveal.js/plugin/markdown/example.html +3 -3
  144. data/assets/reveal.js/plugin/markdown/markdown.js +10 -9
  145. data/assets/reveal.js/plugin/markdown/marked.js +2 -33
  146. data/assets/reveal.js/plugin/math/math.js +1 -1
  147. data/assets/reveal.js/plugin/notes/notes.html +321 -182
  148. data/assets/reveal.js/plugin/notes/notes.js +89 -45
  149. data/assets/reveal.js/plugin/notes-server/client.js +49 -46
  150. data/assets/reveal.js/plugin/notes-server/index.js +28 -21
  151. data/assets/reveal.js/plugin/notes-server/notes.html +351 -97
  152. data/assets/reveal.js/plugin/print-pdf/print-pdf.js +24 -20
  153. data/assets/reveal.js/plugin/zoom-js/zoom.js +78 -58
  154. data/assets/shower/shower.min.js +8 -0
  155. data/assets/shower/themes/material/LICENSE.md +21 -0
  156. data/assets/shower/themes/material/README.md +45 -0
  157. data/assets/shower/themes/material/fonts/COPYRIGHT.txt +1 -0
  158. data/assets/shower/themes/material/fonts/LICENSE.txt +202 -0
  159. data/assets/shower/themes/material/fonts/roboto-bold-italic.woff2 +0 -0
  160. data/assets/shower/themes/material/fonts/roboto-bold.woff2 +0 -0
  161. data/assets/shower/themes/material/fonts/roboto-italic.woff2 +0 -0
  162. data/assets/shower/themes/material/fonts/roboto-light.woff2 +0 -0
  163. data/assets/shower/themes/material/fonts/roboto-mono-regular.woff2 +0 -0
  164. data/assets/shower/themes/material/fonts/roboto-regular.woff2 +0 -0
  165. data/assets/shower/themes/material/index.html +488 -0
  166. data/assets/shower/themes/material/pictures/canvas.png +0 -0
  167. data/assets/shower/themes/material/pictures/exact.svg +3 -0
  168. data/assets/shower/themes/material/pictures/picture-1.svg +3 -0
  169. data/assets/shower/themes/material/pictures/picture-2.svg +3 -0
  170. data/assets/shower/themes/material/pictures/picture-3.svg +3 -0
  171. data/assets/shower/themes/material/pictures/square.svg +3 -0
  172. data/assets/shower/themes/material/pictures/tall.svg +3 -0
  173. data/assets/shower/themes/material/pictures/wide.svg +3 -0
  174. data/assets/shower/themes/material/styles/blocks/badge.css +65 -0
  175. data/assets/shower/themes/material/styles/blocks/caption.css +67 -0
  176. data/assets/shower/themes/material/styles/blocks/progress.css +37 -0
  177. data/assets/shower/themes/material/styles/blocks/region.css +29 -0
  178. data/assets/shower/themes/material/styles/fonts.css +64 -0
  179. data/assets/shower/themes/material/styles/shower/grid.svg +50 -0
  180. data/assets/shower/themes/material/styles/shower/shower-full.css +13 -0
  181. data/assets/shower/themes/material/styles/shower/shower-grid.css +13 -0
  182. data/assets/shower/themes/material/styles/shower/shower-list.css +30 -0
  183. data/assets/shower/themes/material/styles/shower/shower-print.css +11 -0
  184. data/assets/shower/themes/material/styles/shower/shower.css +39 -0
  185. data/assets/shower/themes/material/styles/slide/content/basic.css +23 -0
  186. data/assets/shower/themes/material/styles/slide/content/code.css +80 -0
  187. data/assets/shower/themes/material/styles/slide/content/footer.css +29 -0
  188. data/assets/shower/themes/material/styles/slide/content/inline.css +49 -0
  189. data/assets/shower/themes/material/styles/slide/content/lists.css +54 -0
  190. data/assets/shower/themes/material/styles/slide/content/quote.css +24 -0
  191. data/assets/shower/themes/material/styles/slide/content/table.css +53 -0
  192. data/assets/shower/themes/material/styles/slide/elements/columns.css +19 -0
  193. data/assets/shower/themes/material/styles/slide/elements/copyright.css +38 -0
  194. data/assets/shower/themes/material/styles/slide/elements/cover.css +25 -0
  195. data/assets/shower/themes/material/styles/slide/elements/next.css +9 -0
  196. data/assets/shower/themes/material/styles/slide/elements/place.css +63 -0
  197. data/assets/shower/themes/material/styles/slide/elements/shout.css +53 -0
  198. data/assets/shower/themes/material/styles/slide/modifiers/black.css +5 -0
  199. data/assets/shower/themes/material/styles/slide/modifiers/clear.css +11 -0
  200. data/assets/shower/themes/material/styles/slide/modifiers/white.css +5 -0
  201. data/assets/shower/themes/material/styles/slide/slide-full.css +16 -0
  202. data/assets/shower/themes/material/styles/slide/slide-list.css +68 -0
  203. data/assets/shower/themes/material/styles/slide/slide.css +56 -0
  204. data/assets/shower/themes/material/styles/styles.css +9 -0
  205. data/assets/shower/themes/ribbon/LICENSE.md +21 -0
  206. data/assets/shower/themes/ribbon/README.md +41 -0
  207. data/assets/shower/themes/ribbon/fonts/LICENSE.txt +44 -0
  208. data/assets/shower/themes/ribbon/fonts/pt-mono-regular.woff2 +0 -0
  209. data/assets/shower/themes/ribbon/fonts/pt-sans-bold-italic.woff2 +0 -0
  210. data/assets/shower/themes/ribbon/fonts/pt-sans-bold.woff2 +0 -0
  211. data/assets/shower/themes/ribbon/fonts/pt-sans-italic.woff2 +0 -0
  212. data/assets/shower/themes/ribbon/fonts/pt-sans-narrow-bold.woff2 +0 -0
  213. data/assets/shower/themes/ribbon/fonts/pt-sans-regular.woff2 +0 -0
  214. data/assets/shower/themes/ribbon/index.html +490 -0
  215. data/assets/shower/themes/ribbon/pictures/canvas.png +0 -0
  216. data/assets/shower/themes/ribbon/pictures/exact.svg +3 -0
  217. data/assets/shower/themes/ribbon/pictures/picture-1.svg +3 -0
  218. data/assets/shower/themes/ribbon/pictures/picture-2.svg +3 -0
  219. data/assets/shower/themes/ribbon/pictures/picture-3.svg +3 -0
  220. data/assets/shower/themes/ribbon/pictures/square.svg +3 -0
  221. data/assets/shower/themes/ribbon/pictures/tall.svg +3 -0
  222. data/assets/shower/themes/ribbon/pictures/wide.svg +3 -0
  223. data/assets/shower/themes/ribbon/styles/blocks/badge.css +63 -0
  224. data/assets/shower/themes/ribbon/styles/blocks/caption.css +63 -0
  225. data/assets/shower/themes/ribbon/styles/blocks/progress.css +46 -0
  226. data/assets/shower/themes/ribbon/styles/blocks/region.css +29 -0
  227. data/assets/shower/themes/ribbon/styles/fonts.css +64 -0
  228. data/assets/shower/themes/ribbon/styles/shower/grid.svg +40 -0
  229. data/assets/shower/themes/ribbon/styles/shower/shower-full.css +13 -0
  230. data/assets/shower/themes/ribbon/styles/shower/shower-grid.css +13 -0
  231. data/assets/shower/themes/ribbon/styles/shower/shower-list.css +30 -0
  232. data/assets/shower/themes/ribbon/styles/shower/shower-print.css +11 -0
  233. data/assets/shower/themes/ribbon/styles/shower/shower.css +32 -0
  234. data/assets/shower/themes/ribbon/styles/slide/content/basic.css +21 -0
  235. data/assets/shower/themes/ribbon/styles/slide/content/code.css +82 -0
  236. data/assets/shower/themes/ribbon/styles/slide/content/footer.css +29 -0
  237. data/assets/shower/themes/ribbon/styles/slide/content/inline.css +50 -0
  238. data/assets/shower/themes/ribbon/styles/slide/content/lists.css +55 -0
  239. data/assets/shower/themes/ribbon/styles/slide/content/quote.css +23 -0
  240. data/assets/shower/themes/ribbon/styles/slide/content/table.css +53 -0
  241. data/assets/shower/themes/ribbon/styles/slide/elements/columns.css +19 -0
  242. data/assets/shower/themes/ribbon/styles/slide/elements/copyright.css +38 -0
  243. data/assets/shower/themes/ribbon/styles/slide/elements/cover.css +25 -0
  244. data/assets/shower/themes/ribbon/styles/slide/elements/next.css +9 -0
  245. data/assets/shower/themes/ribbon/styles/slide/elements/place.css +63 -0
  246. data/assets/shower/themes/ribbon/styles/slide/elements/shout.css +54 -0
  247. data/assets/shower/themes/ribbon/styles/slide/modifiers/black.css +5 -0
  248. data/assets/shower/themes/ribbon/styles/slide/modifiers/clear.css +11 -0
  249. data/assets/shower/themes/ribbon/styles/slide/modifiers/white.css +5 -0
  250. data/assets/shower/themes/ribbon/styles/slide/ribbon.svg +1 -0
  251. data/assets/shower/themes/ribbon/styles/slide/slide-full.css +16 -0
  252. data/assets/shower/themes/ribbon/styles/slide/slide-list.css +68 -0
  253. data/assets/shower/themes/ribbon/styles/slide/slide.css +60 -0
  254. data/assets/shower/themes/ribbon/styles/styles.css +9 -0
  255. data/lib/slippery/presentation.rb +4 -0
  256. data/lib/slippery/processors/add_highlight.rb +3 -8
  257. data/lib/slippery/processors/reveal_js/add_reveal_js.rb +1 -1
  258. data/lib/slippery/processors/shower.rb +76 -0
  259. data/lib/slippery/rake_tasks.rb +8 -3
  260. data/lib/slippery/version.rb +1 -1
  261. data/lib/slippery.rb +1 -0
  262. data/slippery.gemspec +3 -3
  263. metadata +194 -56
  264. data/assets/highlight.js/highlight-0.8.default.min.css +0 -1
  265. data/assets/highlight.js/highlight-0.8.min.js +0 -1
  266. data/assets/highlight.js/styles/atelier-dune.dark.css +0 -95
  267. data/assets/highlight.js/styles/atelier-dune.light.css +0 -95
  268. data/assets/highlight.js/styles/atelier-forest.dark.css +0 -95
  269. data/assets/highlight.js/styles/atelier-forest.light.css +0 -95
  270. data/assets/highlight.js/styles/atelier-heath.dark.css +0 -95
  271. data/assets/highlight.js/styles/atelier-heath.light.css +0 -95
  272. data/assets/highlight.js/styles/atelier-lakeside.dark.css +0 -95
  273. data/assets/highlight.js/styles/atelier-lakeside.light.css +0 -95
  274. data/assets/highlight.js/styles/atelier-seaside.dark.css +0 -95
  275. data/assets/highlight.js/styles/atelier-seaside.light.css +0 -95
  276. data/assets/highlight.js/styles/brown_paper.css +0 -105
  277. data/assets/highlight.js/styles/ir_black.css +0 -110
  278. data/assets/highlight.js/styles/monokai_sublime.css +0 -148
  279. data/assets/highlight.js/styles/paraiso.dark.css +0 -95
  280. data/assets/highlight.js/styles/paraiso.light.css +0 -95
  281. data/assets/highlight.js/styles/school_book.css +0 -113
  282. data/assets/highlight.js/styles/solarized_dark.css +0 -109
  283. data/assets/highlight.js/styles/solarized_light.css +0 -109
  284. data/assets/reveal.js/css/theme/default.css +0 -148
  285. data/assets/reveal.js/lib/font/league_gothic-webfont.eot +0 -0
  286. data/assets/reveal.js/lib/font/league_gothic-webfont.svg +0 -230
  287. data/assets/reveal.js/lib/font/league_gothic-webfont.ttf +0 -0
  288. data/assets/reveal.js/lib/font/league_gothic-webfont.woff +0 -0
  289. data/assets/reveal.js/plugin/postmessage/example.html +0 -39
  290. data/assets/reveal.js/plugin/postmessage/postmessage.js +0 -42
  291. /data/assets/highlight.js/styles/{brown_papersq.png → brown-papersq.png} +0 -0
  292. /data/assets/highlight.js/styles/{school_book.png → school-book.png} +0 -0
  293. /data/assets/reveal.js/lib/font/{league_gothic_license → league-gothic/LICENSE} +0 -0
@@ -0,0 +1,37 @@
1
+ /* Progress */
2
+
3
+ .progress {
4
+ position: absolute;
5
+ bottom: 0;
6
+ left: 0;
7
+ width: 0;
8
+ height: var(--progress-size);
9
+ background-color: var(--color-key);
10
+ transition: width 0.2s linear;
11
+ box-shadow:
12
+ calc(var(--slide-width) / 2) 0 0
13
+ calc(var(--slide-width) / 2)
14
+ var(--color-light);
15
+ clip: rect(0 var(--slide-width) var(--progress-size) 0);
16
+ }
17
+
18
+ /* List */
19
+
20
+ .shower.list .progress {
21
+ display: none;
22
+ }
23
+
24
+ /* Full */
25
+
26
+ .shower.full .progress {
27
+ display: block;
28
+ }
29
+
30
+ /* Print */
31
+
32
+ @media print {
33
+ .shower.list .progress,
34
+ .shower.full .progress {
35
+ display: none;
36
+ }
37
+ }
@@ -0,0 +1,29 @@
1
+ /* Region */
2
+
3
+ .region {
4
+ position: absolute;
5
+ top: 0;
6
+ left: 0;
7
+ clip: rect(0 0 0 0);
8
+ }
9
+
10
+ /* List */
11
+
12
+ .shower.list .region {
13
+ display: none;
14
+ }
15
+
16
+ /* Full */
17
+
18
+ .shower.full .region {
19
+ display: block;
20
+ }
21
+
22
+ /* Print */
23
+
24
+ @media print {
25
+ .shower.list .region,
26
+ .shower.full .region {
27
+ display: none;
28
+ }
29
+ }
@@ -0,0 +1,64 @@
1
+ /* Roboto */
2
+
3
+ @font-face {
4
+ font-family: 'Roboto';
5
+ font-weight: 100;
6
+ font-display: swap;
7
+ src:
8
+ local('Roboto Light'),
9
+ local('Roboto-Light'),
10
+ url('../fonts/roboto-light.woff2') format('woff2');
11
+ }
12
+
13
+ @font-face {
14
+ font-family: 'Roboto';
15
+ font-weight: 400;
16
+ font-display: swap;
17
+ src:
18
+ local('Roboto'),
19
+ local('Roboto-Regular'),
20
+ url('../fonts/roboto-regular.woff2') format('woff2');
21
+ }
22
+
23
+ @font-face {
24
+ font-family: 'Roboto';
25
+ font-weight: 400;
26
+ font-style: italic;
27
+ font-display: swap;
28
+ src:
29
+ local('Roboto Italic'),
30
+ local('Roboto-Italic'),
31
+ url('../fonts/roboto-italic.woff2') format('woff2');
32
+ }
33
+
34
+ @font-face {
35
+ font-family: 'Roboto';
36
+ font-weight: 700;
37
+ font-display: swap;
38
+ src:
39
+ local('Roboto Bold'),
40
+ local('Roboto-Bold'),
41
+ url('../fonts/roboto-bold.woff2') format('woff2');
42
+ }
43
+
44
+ @font-face {
45
+ font-family: 'Roboto';
46
+ font-weight: 700;
47
+ font-style: italic;
48
+ font-display: swap;
49
+ src:
50
+ local('Roboto Bold Italic'),
51
+ local('Roboto-BoldItalic'),
52
+ url('../fonts/roboto-bold-italic.woff2') format('woff2');
53
+ }
54
+
55
+ /* Roboto Mono */
56
+
57
+ @font-face {
58
+ font-family: 'Roboto Mono';
59
+ font-display: swap;
60
+ src:
61
+ local('Roboto Mono'),
62
+ local('RobotoMono-Regular'),
63
+ url('../fonts/roboto-mono-regular.woff2') format('woff2');
64
+ }
@@ -0,0 +1,50 @@
1
+ <svg width="1024" height="768" xmlns="http://www.w3.org/2000/svg">
2
+ <defs>
3
+ <style>
4
+ .square {
5
+ stroke: red;
6
+ stroke-opacity: 0.1;
7
+ stroke-width: 1;
8
+ fill: transparent;
9
+ }
10
+
11
+ .grid {
12
+ fill: url(#grid);
13
+ }
14
+
15
+ .line {
16
+ stroke: #8af8f9;
17
+ }
18
+ </style>
19
+ <pattern x="0" y="0" width="24" height="24" viewBox="0 0 24 24" patternUnits="userSpaceOnUse" id="grid">
20
+ <rect x="0" y="0" width="24" height="24" class="square"/>
21
+ </pattern>
22
+ </defs>
23
+
24
+ <rect x="0" y="0" width="1024" height="768" class="grid"/>
25
+
26
+ <line x1="96" y1="0" x2="96" y2="768" class="line"/>
27
+ <line x1="192" x2="192" y1="0" y2="768" class="line"/>
28
+ <line x1="288" x2="288" y1="0" y2="768" class="line"/>
29
+ <line x1="384" x2="384" y1="0" y2="768" class="line"/>
30
+ <line x1="480" x2="480" y1="0" y2="768" class="line"/>
31
+ <line x1="528" x2="528" y1="0" y2="768" class="line"/>
32
+ <line x1="624" x2="624" y1="0" y2="768" class="line"/>
33
+ <line x1="720" x2="720" y1="0" y2="768" class="line"/>
34
+ <line x1="816" x2="816" y1="0" y2="768" class="line"/>
35
+ <line x1="912" x2="912" y1="0" y2="768" class="line"/>
36
+
37
+ <line y1="120" y2="120" x1="0" x2="1024" class="line"/>
38
+ <line y1="192" y2="192" x1="0" x2="1024" class="line"/>
39
+ <line y1="240" y2="240" x1="0" x2="1024" class="line"/>
40
+ <line y1="288" y2="288" x1="0" x2="1024" class="line"/>
41
+ <line y1="336" y2="336" x1="0" x2="1024" class="line"/>
42
+ <line y1="384" y2="384" x1="0" x2="1024" class="line"/>
43
+ <line y1="432" y2="432" x1="0" x2="1024" class="line"/>
44
+ <line y1="480" y2="480" x1="0" x2="1024" class="line"/>
45
+ <line y1="528" y2="528" x1="0" x2="1024" class="line"/>
46
+ <line y1="576" y2="576" x1="0" x2="1024" class="line"/>
47
+ <line y1="624" y2="624" x1="0" x2="1024" class="line"/>
48
+ <line y1="672" y2="672" x1="0" x2="1024" class="line"/>
49
+ <line y1="720" y2="720" x1="0" x2="1024" class="line"/>
50
+ </svg>
@@ -0,0 +1,13 @@
1
+ /* Shower Full */
2
+
3
+ .shower.full {
4
+ position: absolute;
5
+ top: 50%;
6
+ left: 50%;
7
+ overflow: hidden;
8
+ margin-top: calc(var(--slide-height) / 2 * -1);
9
+ margin-left: calc(var(--slide-width) / 2 * -1);
10
+ width: var(--slide-width);
11
+ height: var(--slide-height);
12
+ background: black;
13
+ }
@@ -0,0 +1,13 @@
1
+ /* Shower Grid */
2
+
3
+ .shower.full.grid::before {
4
+ position: absolute;
5
+ top: 0;
6
+ right: 0;
7
+ bottom: 0;
8
+ left: 0;
9
+ z-index: 1;
10
+ content: '';
11
+ pointer-events: none;
12
+ background-image: url('grid.svg');
13
+ }
@@ -0,0 +1,30 @@
1
+ /* Shower List */
2
+
3
+ .shower.list {
4
+ padding-top: 24px;
5
+ width: 100%;
6
+ display: flex;
7
+ flex-wrap: wrap;
8
+ background: var(--color-back);
9
+ }
10
+
11
+ /* IE & Edge Fix */
12
+
13
+ .shower.list {
14
+ position: absolute;
15
+ clip: rect(0, auto, auto, 0);
16
+ }
17
+
18
+ /* Responsive */
19
+
20
+ @media (min-width: 1168px) {
21
+ .shower.list {
22
+ padding-top: 48px;
23
+ }
24
+ }
25
+
26
+ @media (min-width: 2336px) {
27
+ .shower.list {
28
+ padding-top: 96px;
29
+ }
30
+ }
@@ -0,0 +1,11 @@
1
+ /* Print */
2
+
3
+ @page {
4
+ margin: 0;
5
+ size: 1024px 576px;
6
+ }
7
+
8
+ .shower {
9
+ -webkit-print-color-adjust: exact;
10
+ text-rendering: geometricPrecision;
11
+ }
@@ -0,0 +1,39 @@
1
+ /* Shower */
2
+
3
+ @import 'shower-list.css' screen;
4
+ @import 'shower-full.css' screen;
5
+ @import 'shower-grid.css' screen;
6
+ @import 'shower-print.css' print;
7
+
8
+ .shower {
9
+ --slide-gap: 96px;
10
+ --slide-ratio: calc(16 / 9);
11
+ --slide-width: 1024px;
12
+ --slide-height: calc(var(--slide-width) / var(--slide-ratio));
13
+
14
+ --progress-size: 8px;
15
+
16
+ --color-key: #4caf50;
17
+ --color-black: #212121;
18
+ --color-dark: #757575;
19
+ --color-medium: #9e9e9e;
20
+ --color-light: #bdbdbd;
21
+ --color-back: #eeeeee;
22
+ --color-yellow: #fff59d;
23
+ --color-yellow-light: #ffffcf;
24
+
25
+ --diagonal:
26
+ linear-gradient(
27
+ 135deg, var(--color-key) 50%,
28
+ rgba(0, 0, 0, 0.1) 50%
29
+ );
30
+
31
+ -webkit-text-size-adjust: none;
32
+ -moz-text-size-adjust: none;
33
+ -ms-text-size-adjust: none;
34
+
35
+ margin: 0;
36
+ color: black;
37
+ counter-reset: slide;
38
+ font: 24px/2 'Roboto', sans-serif;
39
+ }
@@ -0,0 +1,23 @@
1
+ /* Basic */
2
+
3
+ .slide h2 {
4
+ margin-top: 0;
5
+ margin-bottom: 32px;
6
+ color: var(--color-black);
7
+ line-height: 1;
8
+ font-weight: 100;
9
+ font-size: 48px;
10
+ }
11
+
12
+ .slide p {
13
+ margin-top: 0;
14
+ margin-bottom: 1em;
15
+ }
16
+
17
+ .slide p.note {
18
+ color: var(--color-medium);
19
+ }
20
+
21
+ .slide figure {
22
+ margin: 0;
23
+ }
@@ -0,0 +1,80 @@
1
+ /* Code */
2
+
3
+ .slide pre {
4
+ margin-top: 0;
5
+ margin-bottom: 1em;
6
+ counter-reset: code;
7
+ white-space: normal;
8
+ }
9
+
10
+ /* Inner */
11
+
12
+ .slide pre code {
13
+ display: block;
14
+ margin-left: -96px;
15
+ padding: 0 0 0 96px;
16
+ width: calc(100% + 96px + 112px);
17
+ background: none;
18
+ line-height: 2;
19
+ white-space: pre;
20
+ tab-size: 4;
21
+ }
22
+
23
+ /* Line Numbers */
24
+
25
+ .slide pre code:not(:only-child)::before {
26
+ position: absolute;
27
+ margin-left: -2em;
28
+ color: var(--color-light);
29
+ counter-increment: code;
30
+ content: counter(code, decimal-leading-zero) '.';
31
+ }
32
+
33
+ /* Marked */
34
+
35
+ .slide pre mark {
36
+ position: relative;
37
+ z-index: -1;
38
+ margin: 0 -0.3em;
39
+ }
40
+
41
+ /* Important */
42
+
43
+ .slide pre mark.important {
44
+ background: var(--color-key);
45
+ color: white;
46
+ }
47
+
48
+ /* Comment */
49
+
50
+ .slide pre .comment {
51
+ color: var(--color-medium);
52
+ }
53
+
54
+ /* Marked Line */
55
+
56
+ .slide pre code.mark:not(:only-child) {
57
+ background: var(--color-back);
58
+ }
59
+
60
+ /* Next Line */
61
+
62
+ .slide pre code.mark.next:not(:only-child) {
63
+ visibility: visible;
64
+ background: none;
65
+ }
66
+
67
+ .slide pre code.mark.next.active:not(:only-child) {
68
+ background: var(--color-back);
69
+ }
70
+
71
+ /* Full */
72
+
73
+ .shower.full .slide pre code:not(:only-child).mark.next {
74
+ visibility: visible;
75
+ background: none;
76
+ }
77
+
78
+ .shower.full .slide pre code:not(:only-child).mark.next.active {
79
+ background: var(--color-back);
80
+ }
@@ -0,0 +1,29 @@
1
+ /* Footer */
2
+
3
+ .slide > footer {
4
+ position: absolute;
5
+ right: 0;
6
+ bottom: 0;
7
+ left: 0;
8
+ z-index: 1;
9
+ padding: 48px 112px 24px 96px;
10
+ background: var(--color-yellow-light);
11
+ transition: transform 0.3s;
12
+ }
13
+
14
+ /* List */
15
+
16
+ .shower.list .slide > footer {
17
+ transform: translateY(100%);
18
+ }
19
+
20
+ .shower.list .slide.active > footer,
21
+ .shower.list .slide:hover > footer {
22
+ transform: translateY(0);
23
+ }
24
+
25
+ /* Full */
26
+
27
+ .shower.full .slide > footer {
28
+ display: none;
29
+ }
@@ -0,0 +1,49 @@
1
+ /* Inline */
2
+
3
+ .slide a {
4
+ background-image:
5
+ linear-gradient(
6
+ to top,
7
+ currentColor 0.09em,
8
+ transparent 0.09em
9
+ );
10
+ background-repeat: repeat-x;
11
+ color: var(--color-key);
12
+ text-decoration: none;
13
+ }
14
+
15
+ .slide code,
16
+ .slide kbd,
17
+ .slide mark,
18
+ .slide samp {
19
+ margin: 0 -0.3em;
20
+ padding: 0.1em 0.3em;
21
+ }
22
+
23
+ .slide code,
24
+ .slide kbd,
25
+ .slide samp {
26
+ background: var(--color-back);
27
+ line-height: 1;
28
+ font-family: 'Roboto Mono', monospace;
29
+ }
30
+
31
+ .slide mark {
32
+ background: var(--color-yellow);
33
+ }
34
+
35
+ .slide sub,
36
+ .slide sup {
37
+ position: relative;
38
+ vertical-align: baseline;
39
+ line-height: 0;
40
+ font-size: 75%;
41
+ }
42
+
43
+ .slide sub {
44
+ bottom: -0.25em;
45
+ }
46
+
47
+ .slide sup {
48
+ top: -0.5em;
49
+ }
@@ -0,0 +1,54 @@
1
+ /* Lists */
2
+
3
+ .slide ol,
4
+ .slide ul {
5
+ padding-left: 0;
6
+ margin-top: 0;
7
+ margin-bottom: 1em;
8
+ list-style: none;
9
+ counter-reset: list;
10
+ }
11
+
12
+ /* Marker */
13
+
14
+ .slide li::before {
15
+ position: absolute;
16
+ width: 3em;
17
+ color: var(--color-medium);
18
+ text-align: right;
19
+ transform:
20
+ translateX(
21
+ calc(-100% - 0.5em)
22
+ );
23
+ }
24
+
25
+ .slide li ol,
26
+ .slide li ul {
27
+ margin-bottom: 0;
28
+ margin-left: 2em;
29
+ }
30
+
31
+ /* Markers */
32
+
33
+ .slide ol > li::before {
34
+ counter-increment: list;
35
+ content: counter(list) '.';
36
+ }
37
+
38
+ .slide ul > li::before {
39
+ content: '•';
40
+ }
41
+
42
+ .slide ul > li:lang(ru)::before {
43
+ content: '—';
44
+ }
45
+
46
+ /* Custom */
47
+
48
+ .slide ol > li[value]::before {
49
+ content: attr(value) '.';
50
+ }
51
+
52
+ .slide ul > li[value]::before {
53
+ content: attr(value);
54
+ }
@@ -0,0 +1,24 @@
1
+ /* Quote */
2
+
3
+ .slide blockquote {
4
+ margin: 0;
5
+ font-style: italic;
6
+ }
7
+
8
+ .slide blockquote::before {
9
+ position: absolute;
10
+ margin: 0 0 0 -0.45em;
11
+ color: var(--color-light);
12
+ line-height: 1;
13
+ font-style: normal;
14
+ font-size: 7em;
15
+ content: '\201D';
16
+ }
17
+
18
+ /* Author */
19
+
20
+ .slide blockquote + figcaption {
21
+ margin: -1em 0 1em;
22
+ font-style: italic;
23
+ font-weight: bold;
24
+ }
@@ -0,0 +1,53 @@
1
+ /* Table */
2
+
3
+ .slide table {
4
+ margin-left: -96px;
5
+ margin-bottom: 1em;
6
+ width: calc(96px + 100% + 112px);
7
+ border-collapse: collapse;
8
+ border-spacing: 0;
9
+ }
10
+
11
+ /* Cells */
12
+
13
+ .slide th,
14
+ .slide td {
15
+ padding-top: 0;
16
+ padding-bottom: 0;
17
+ }
18
+
19
+ .slide th {
20
+ text-align: left;
21
+ font-weight: bold;
22
+ }
23
+
24
+ .slide th:first-child,
25
+ .slide td:first-child {
26
+ padding-left: 96px;
27
+ }
28
+
29
+ .slide th:last-child,
30
+ .slide td:last-child {
31
+ padding-right: 96px;
32
+ }
33
+
34
+ /* Lines */
35
+
36
+ .slide tr:not(:last-of-type) > * {
37
+ background:
38
+ linear-gradient(
39
+ to top,
40
+ var(--color-light) 0.06em,
41
+ transparent 0.06em
42
+ ) repeat-x;
43
+ }
44
+
45
+ /* Stripes */
46
+
47
+ .slide table.striped tr:nth-child(even) {
48
+ background: var(--color-back);
49
+ }
50
+
51
+ .slide table.striped tr > * {
52
+ background-image: none;
53
+ }
@@ -0,0 +1,19 @@
1
+ /* Columns */
2
+
3
+ .columns {
4
+ display: grid;
5
+ width: 100%;
6
+ grid-column-gap: 75px;
7
+ }
8
+
9
+ .columns.two {
10
+ grid-template-columns: 1fr 1fr;
11
+ }
12
+
13
+ .columns.three {
14
+ grid-template-columns: 1fr 1fr 1fr;
15
+ }
16
+
17
+ .columns.four {
18
+ grid-template-columns: 1fr 1fr 1fr 1fr;
19
+ }
@@ -0,0 +1,38 @@
1
+ /* Copyright */
2
+
3
+ .copyright {
4
+ position: absolute;
5
+ font-size: 12px;
6
+ opacity: 0.7;
7
+ }
8
+
9
+ /* Sides */
10
+
11
+ .copyright.top {
12
+ top: 10px;
13
+ left: 20px;
14
+ }
15
+
16
+ .copyright.right {
17
+ bottom: 20px;
18
+ right: 10px;
19
+ transform-origin: 0 100%;
20
+ transform: translateX(100%) rotate(-90deg);
21
+ }
22
+
23
+ .copyright.bottom {
24
+ bottom: 20px;
25
+ left: 20px;
26
+ }
27
+
28
+ /* White */
29
+
30
+ .copyright.white {
31
+ color: white;
32
+ }
33
+
34
+ /* Links */
35
+
36
+ .copyright a {
37
+ color: currentColor;
38
+ }
@@ -0,0 +1,25 @@
1
+ /* Cover */
2
+
3
+ .cover {
4
+ position: absolute;
5
+ top: 50%;
6
+ left: 50%;
7
+ z-index: -1;
8
+ transform: translate(-50%, -50%);
9
+ max-width: 100%;
10
+ max-height: 100%;
11
+ }
12
+
13
+ /* Fitting */
14
+
15
+ .cover.w,
16
+ .cover.width {
17
+ width: 100%;
18
+ max-height: none;
19
+ }
20
+
21
+ .cover.h,
22
+ .cover.height {
23
+ height: 100%;
24
+ max-width: none;
25
+ }