slippery 0.4.0 → 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 +37 -20
  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,46 @@
1
+ /* Progress */
2
+
3
+ .progress {
4
+ position: absolute;
5
+ left: 0;
6
+ bottom: 0;
7
+ width: 0;
8
+ height: var(--progress-size);
9
+ overflow: hidden;
10
+ transition: all 0.2s linear;
11
+ }
12
+
13
+ .progress::before {
14
+ display: block;
15
+ width: 100%;
16
+ height: var(--progress-size);
17
+ background: var(--color-blue);
18
+ content: '';
19
+ transform-origin: 0 100%;
20
+ transform: skewX(45deg);
21
+ }
22
+
23
+ .progress[style*='100%']::before {
24
+ transform: none;
25
+ }
26
+
27
+ /* List */
28
+
29
+ .shower.list .progress {
30
+ display: none;
31
+ }
32
+
33
+ /* Full */
34
+
35
+ .shower.full .progress {
36
+ display: block;
37
+ }
38
+
39
+ /* Print */
40
+
41
+ @media print {
42
+ .shower.list .progress,
43
+ .shower.full .progress {
44
+ display: none;
45
+ }
46
+ }
@@ -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
+ /* PT Sans */
2
+
3
+ @font-face {
4
+ font-family: 'PT Sans';
5
+ font-display: swap;
6
+ src:
7
+ local('PT Sans'),
8
+ local('PTSans-Regular'),
9
+ url('../fonts/pt-sans-regular.woff2') format('woff2');
10
+ }
11
+
12
+ @font-face {
13
+ font-family: 'PT Sans';
14
+ font-weight: bold;
15
+ font-display: swap;
16
+ src:
17
+ local('PT Sans Bold'),
18
+ local('PTSans-Bold'),
19
+ url('../fonts/pt-sans-bold.woff2') format('woff2');
20
+ }
21
+
22
+ @font-face {
23
+ font-family: 'PT Sans';
24
+ font-style: italic;
25
+ font-display: swap;
26
+ src:
27
+ local('PT Sans Italic'),
28
+ local('PTSans-Italic'),
29
+ url('../fonts/pt-sans-italic.woff2') format('woff2');
30
+ }
31
+
32
+ @font-face {
33
+ font-family: 'PT Sans';
34
+ font-style: italic;
35
+ font-weight: bold;
36
+ font-display: swap;
37
+ src:
38
+ local('PT Sans Bold Italic'),
39
+ local('PTSans-BoldItalic'),
40
+ url('../fonts/pt-sans-bold-italic.woff2') format('woff2');
41
+ }
42
+
43
+ /* PT Narrow */
44
+
45
+ @font-face {
46
+ font-family: 'PT Sans Narrow';
47
+ font-weight: bold;
48
+ font-display: swap;
49
+ src:
50
+ local('PT Sans Narrow Bold'),
51
+ local('PTSans-NarrowBold'),
52
+ url('../fonts/pt-sans-narrow-bold.woff2') format('woff2');
53
+ }
54
+
55
+ /* PT Mono */
56
+
57
+ @font-face {
58
+ font-family: 'PT Mono';
59
+ font-display: swap;
60
+ src:
61
+ local('PT Mono'),
62
+ local('PTMono-Regular'),
63
+ url('../fonts/pt-mono-regular.woff2') format('woff2');
64
+ }
@@ -0,0 +1,40 @@
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="25" height="25" viewBox="0 0 25 25" patternUnits="userSpaceOnUse" id="grid">
20
+ <rect x="0" y="0" width="25" height="25" class="square"/>
21
+ </pattern>
22
+ </defs>
23
+
24
+ <rect x="0" y="0" width="1024" height="768" class="grid"/>
25
+
26
+ <line x1="100" x2="100" y1="0" y2="768" class="line"/>
27
+ <line x1="475" x2="475" y1="0" y2="768" class="line"/>
28
+ <line x1="550" x2="550" y1="0" y2="768" class="line"/>
29
+ <line x1="925" x2="925" y1="0" y2="768" class="line"/>
30
+
31
+ <line y1="125" y2="125" x1="0" x2="1024" class="line"/>
32
+ <line y1="200" y2="200" x1="0" x2="1024" class="line"/>
33
+ <line y1="275" y2="275" x1="0" x2="1024" class="line"/>
34
+ <line y1="350" y2="350" x1="0" x2="1024" class="line"/>
35
+ <line y1="425" y2="425" x1="0" x2="1024" class="line"/>
36
+ <line y1="500" y2="500" x1="0" x2="1024" class="line"/>
37
+ <line y1="575" y2="575" x1="0" x2="1024" class="line"/>
38
+ <line y1="650" y2="650" x1="0" x2="1024" class="line"/>
39
+ <line y1="725" y2="725" x1="0" x2="1024" class="line"/>
40
+ </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: 25px;
5
+ width: 100%;
6
+ display: flex;
7
+ flex-wrap: wrap;
8
+ background: var(--color-grey);
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: 1174px) {
21
+ .shower.list {
22
+ padding-top: 50px;
23
+ }
24
+ }
25
+
26
+ @media (min-width: 2348px) {
27
+ .shower.list {
28
+ padding-top: 100px;
29
+ }
30
+ }
@@ -0,0 +1,11 @@
1
+ /* Shower 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,32 @@
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: 100px;
10
+ --slide-ratio: calc(16 / 9);
11
+ --slide-width: 1024px;
12
+ --slide-height: calc(var(--slide-width) / var(--slide-ratio));
13
+
14
+ --color-blue: #4b86c2;
15
+ --color-red: #cc0000;
16
+ --color-yellow: #fafaa2;
17
+ --color-grey: #585a5e;
18
+ --color-fill: rgba(88, 90, 94, 0.1);
19
+ --color-line: rgba(88, 90, 94, 0.5);
20
+
21
+ --ribbon-size: 50px;
22
+ --progress-size: 10px;
23
+
24
+ -webkit-text-size-adjust: none;
25
+ -moz-text-size-adjust: none;
26
+ -ms-text-size-adjust: none;
27
+
28
+ margin: 0;
29
+ color: black;
30
+ counter-reset: slide;
31
+ font: 25px/2 'PT Sans', sans-serif;
32
+ }
@@ -0,0 +1,21 @@
1
+ /* Basic */
2
+
3
+ .slide h2 {
4
+ margin-top: 0;
5
+ margin-bottom: 34px;
6
+ color: var(--color-grey);
7
+ font: bold 50px/1 'PT Sans Narrow', sans-serif;
8
+ }
9
+
10
+ .slide p {
11
+ margin-top: 0;
12
+ margin-bottom: 1em;
13
+ }
14
+
15
+ .slide p.note {
16
+ color: var(--color-grey);
17
+ }
18
+
19
+ .slide figure {
20
+ margin: 0;
21
+ }
@@ -0,0 +1,82 @@
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: -100px;
15
+ padding: 0 0 0 100px;
16
+ width: calc(100% + 100px + 100px);
17
+ border-radius: 0;
18
+ background: none;
19
+ line-height: 2;
20
+ white-space: pre;
21
+ tab-size: 4;
22
+ }
23
+
24
+ /* Line Numbers */
25
+
26
+ .slide pre code:not(:only-child)::before {
27
+ position: absolute;
28
+ margin-left: -2em;
29
+ color: var(--color-grey);
30
+ opacity: 0.75;
31
+ counter-increment: code;
32
+ content: counter(code, decimal-leading-zero) '.';
33
+ }
34
+
35
+ /* Marked */
36
+
37
+ .slide pre mark {
38
+ position: relative;
39
+ z-index: -1;
40
+ margin: 0 -0.3em;
41
+ }
42
+
43
+ /* Important */
44
+
45
+ .slide pre mark.important {
46
+ background: var(--color-red);
47
+ color: #ffffff;
48
+ }
49
+
50
+ /* Comment */
51
+
52
+ .slide pre .comment {
53
+ color: #999999;
54
+ }
55
+
56
+ /* Marked Line */
57
+
58
+ .slide pre code.mark:not(:only-child) {
59
+ background: var(--color-fill);
60
+ }
61
+
62
+ /* Next Line */
63
+
64
+ .slide pre code.mark.next:not(:only-child) {
65
+ visibility: visible;
66
+ background: none;
67
+ }
68
+
69
+ .slide pre code.mark.next.active:not(:only-child) {
70
+ background: var(--color-fill);
71
+ }
72
+
73
+ /* Full */
74
+
75
+ .shower.full .slide pre code:not(:only-child).mark.next {
76
+ visibility: visible;
77
+ background: none;
78
+ }
79
+
80
+ .shower.full .slide pre code:not(:only-child).mark.next.active {
81
+ background: var(--color-fill);
82
+ }
@@ -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: 50px 100px 25px;
10
+ background: var(--color-yellow);
11
+ transition: transform 0.3s linear;
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,50 @@
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-blue);
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
+ border-radius: 0.2em;
22
+ }
23
+
24
+ .slide code,
25
+ .slide kbd,
26
+ .slide samp {
27
+ background: var(--color-fill);
28
+ line-height: 1;
29
+ font-family: 'PT Mono', monospace;
30
+ }
31
+
32
+ .slide mark {
33
+ background: var(--color-yellow);
34
+ }
35
+
36
+ .slide sub,
37
+ .slide sup {
38
+ position: relative;
39
+ vertical-align: baseline;
40
+ line-height: 0;
41
+ font-size: 75%;
42
+ }
43
+
44
+ .slide sub {
45
+ bottom: -0.25em;
46
+ }
47
+
48
+ .slide sup {
49
+ top: -0.5em;
50
+ }
@@ -0,0 +1,55 @@
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-grey);
18
+ text-align: right;
19
+ opacity: 0.75;
20
+ transform:
21
+ translateX(
22
+ calc(-100% - 0.5em)
23
+ );
24
+ }
25
+
26
+ .slide li ol,
27
+ .slide li ul {
28
+ margin-bottom: 0;
29
+ margin-left: 2em;
30
+ }
31
+
32
+ /* Markers */
33
+
34
+ .slide ol > li::before {
35
+ counter-increment: list;
36
+ content: counter(list) '.';
37
+ }
38
+
39
+ .slide ul > li::before {
40
+ content: '•';
41
+ }
42
+
43
+ .slide ul > li:lang(ru)::before {
44
+ content: '—';
45
+ }
46
+
47
+ /* Custom */
48
+
49
+ .slide ol > li[value]::before {
50
+ content: attr(value) '.';
51
+ }
52
+
53
+ .slide ul > li[value]::before {
54
+ content: attr(value);
55
+ }
@@ -0,0 +1,23 @@
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.15em 0 0 -0.43em;
11
+ color: #cccccc;
12
+ line-height: 1;
13
+ font-size: 8em;
14
+ content: '\201C';
15
+ }
16
+
17
+ /* Author */
18
+
19
+ .slide blockquote + figcaption {
20
+ margin: -1em 0 1em;
21
+ font-style: italic;
22
+ font-weight: bold;
23
+ }
@@ -0,0 +1,53 @@
1
+ /* Table */
2
+
3
+ .slide table {
4
+ margin-left: -100px;
5
+ margin-bottom: 1em;
6
+ width: calc(100% + 100px + 100px);
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-line) 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-fill);
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
+ }
@@ -0,0 +1,9 @@
1
+ /* Next */
2
+
3
+ .shower.full .next {
4
+ visibility: hidden;
5
+ }
6
+
7
+ .shower.full .next.active {
8
+ visibility: visible;
9
+ }