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,63 @@
1
+ /* Place */
2
+
3
+ .place {
4
+ position: absolute;
5
+ top: 50%;
6
+ left: 50%;
7
+ transform: translate(-50%, -50%);
8
+ }
9
+
10
+ .place.t.l,
11
+ .place.top.left,
12
+ .place.t.r,
13
+ .place.top.right,
14
+ .place.b.r,
15
+ .place.bottom.right,
16
+ .place.b.l,
17
+ .place.bottom.left {
18
+ transform: none;
19
+ }
20
+
21
+ .place.t,
22
+ .place.top,
23
+ .place.b,
24
+ .place.bottom {
25
+ transform: translate(-50%, 0);
26
+ }
27
+
28
+ .place.l,
29
+ .place.left,
30
+ .place.r,
31
+ .place.right {
32
+ transform: translate(0, -50%);
33
+ }
34
+
35
+ .place.t,
36
+ .place.top,
37
+ .place.t.l,
38
+ .place.top.left,
39
+ .place.t.r,
40
+ .place.top.right {
41
+ top: 0;
42
+ }
43
+
44
+ .place.r,
45
+ .place.right {
46
+ right: 0;
47
+ left: auto;
48
+ }
49
+
50
+ .place.b,
51
+ .place.bottom,
52
+ .place.b.r,
53
+ .place.bottom.right,
54
+ .place.b.l,
55
+ .place.bottom.left {
56
+ top: auto;
57
+ bottom: 0;
58
+ }
59
+
60
+ .place.l,
61
+ .place.left {
62
+ left: 0;
63
+ }
@@ -0,0 +1,54 @@
1
+ /* Shout */
2
+
3
+ .slide .shout {
4
+ position: absolute;
5
+ top: 50%;
6
+ left: 0;
7
+ width: 100%;
8
+ text-align: center;
9
+ line-height: 1;
10
+ font-size: 150px;
11
+ transform: translateY(-50%);
12
+ }
13
+
14
+ /* Link */
15
+
16
+ .slide .shout a {
17
+ background-image:
18
+ linear-gradient(
19
+ to top,
20
+ rgba(75, 134, 194, 0.4) 0.06em,
21
+ transparent 0.06em
22
+ );
23
+ background-position: bottom 0.13em left 0;
24
+ background-repeat: repeat-x;
25
+ }
26
+
27
+ /* Full */
28
+
29
+ .shower.full .slide .shout.grow {
30
+ opacity: 0;
31
+ transform: scale(0.1) translateY(-50%);
32
+ }
33
+
34
+ .shower.full .slide .shout.shrink {
35
+ opacity: 0;
36
+ transform: scale(10) translateY(-50%);
37
+ }
38
+
39
+ /* Active */
40
+
41
+ @keyframes shout {
42
+ to {
43
+ opacity: 1;
44
+ transform: scale(1) translateY(-50%);
45
+ }
46
+ }
47
+
48
+ .shower.full .slide.active .shout.grow,
49
+ .shower.full .slide.active .shout.shrink {
50
+ animation-name: shout;
51
+ animation-duration: 0.4s;
52
+ animation-timing-function: ease-out;
53
+ animation-fill-mode: forwards;
54
+ }
@@ -0,0 +1,5 @@
1
+ /* Black */
2
+
3
+ .slide.black {
4
+ background-color: black;
5
+ }
@@ -0,0 +1,11 @@
1
+ /* Progress Off */
2
+
3
+ .slide.clear.active ~ .progress {
4
+ display: none;
5
+ }
6
+
7
+ /* Number Off */
8
+
9
+ .slide.clear::after {
10
+ visibility: hidden;
11
+ }
@@ -0,0 +1,5 @@
1
+ /* White */
2
+
3
+ .slide.white {
4
+ background-color: white;
5
+ }
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 100"><path fill="#c00" d="M0 0h50v100L25 80 0 100"/></svg>
@@ -0,0 +1,16 @@
1
+ /* Slide Full */
2
+
3
+ .shower.full .slide {
4
+ position: absolute;
5
+ top: 0;
6
+ left: 0;
7
+ clip: rect(0 0 0 0);
8
+ visibility: hidden;
9
+ }
10
+
11
+ /* Active */
12
+
13
+ .shower.full .slide.active {
14
+ clip: auto;
15
+ visibility: visible;
16
+ }
@@ -0,0 +1,68 @@
1
+ /* Slide List */
2
+
3
+ .shower.list .slide {
4
+ border-radius: 2px;
5
+ box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3);
6
+ transform-origin: 0 0;
7
+ }
8
+
9
+ .shower.list .slide * {
10
+ pointer-events: none;
11
+ }
12
+
13
+ /* Scaling */
14
+
15
+ .shower.list .slide {
16
+ --slide-scale: 0.25;
17
+ --slide-magic: calc(1 - var(--slide-scale));
18
+
19
+ margin-top: 0;
20
+ margin-right:
21
+ calc(
22
+ var(--slide-width) *
23
+ var(--slide-magic) * -1
24
+ );
25
+ margin-bottom:
26
+ calc(
27
+ var(--slide-gap) *
28
+ var(--slide-scale) -
29
+ var(--slide-height) *
30
+ var(--slide-magic)
31
+ );
32
+ margin-left:
33
+ calc(
34
+ var(--slide-gap) *
35
+ var(--slide-scale)
36
+ );
37
+
38
+ transform: scale(var(--slide-scale));
39
+ }
40
+
41
+ @media (min-width: 1174px) {
42
+ .shower.list .slide {
43
+ --slide-scale: 0.5;
44
+ }
45
+ }
46
+
47
+ @media (min-width: 2348px) {
48
+ .shower.list .slide {
49
+ --slide-scale: 1;
50
+ }
51
+ }
52
+
53
+ /* Hover */
54
+
55
+ .shower.list .slide:hover {
56
+ box-shadow:
57
+ 0 0 0 20px rgba(0, 0, 0, 0.1),
58
+ 0 20px 50px rgba(0, 0, 0, 0.3);
59
+ }
60
+
61
+ /* Active */
62
+
63
+ .shower.list .slide.active {
64
+ box-shadow:
65
+ 0 0 0 1px #376da3,
66
+ 0 0 0 20px #4b86c2,
67
+ 0 20px 50px rgba(0, 0, 0, 0.3);
68
+ }
@@ -0,0 +1,60 @@
1
+ /* Types */
2
+
3
+ @import 'slide-list.css' screen;
4
+ @import 'slide-full.css' screen;
5
+
6
+ /* Content */
7
+
8
+ @import 'content/basic.css';
9
+ @import 'content/code.css';
10
+ @import 'content/footer.css';
11
+ @import 'content/inline.css';
12
+ @import 'content/lists.css';
13
+ @import 'content/quote.css';
14
+ @import 'content/table.css';
15
+
16
+ /* Elements */
17
+
18
+ @import 'elements/columns.css';
19
+ @import 'elements/copyright.css';
20
+ @import 'elements/cover.css';
21
+ @import 'elements/next.css';
22
+ @import 'elements/place.css';
23
+ @import 'elements/shout.css';
24
+
25
+ /* Modifiers */
26
+
27
+ @import 'modifiers/clear.css';
28
+ @import 'modifiers/white.css';
29
+ @import 'modifiers/black.css';
30
+
31
+ /* Slide */
32
+
33
+ .slide {
34
+ position: relative;
35
+ z-index: 0;
36
+ overflow: hidden;
37
+ box-sizing: border-box;
38
+ padding: 81px 100px 0;
39
+ width: var(--slide-width);
40
+ height: var(--slide-height);
41
+ background: #ffffff;
42
+ }
43
+
44
+ /* Number */
45
+
46
+ .slide::after {
47
+ position: absolute;
48
+ top: 0;
49
+ left: 875px;
50
+ box-sizing: border-box;
51
+ padding-top: 15px;
52
+ width: var(--ribbon-size);
53
+ height: calc(var(--ribbon-size) * 2);
54
+ background-image: url('ribbon.svg');
55
+ background-size: cover;
56
+ color: #ffffff;
57
+ counter-increment: slide;
58
+ content: counter(slide);
59
+ text-align: center;
60
+ }
@@ -0,0 +1,9 @@
1
+ /* Styles */
2
+
3
+ @import 'fonts.css';
4
+ @import 'shower/shower.css';
5
+ @import 'blocks/badge.css';
6
+ @import 'blocks/caption.css';
7
+ @import 'blocks/progress.css';
8
+ @import 'blocks/region.css';
9
+ @import 'slide/slide.css';
@@ -32,6 +32,10 @@ module Slippery
32
32
  Processors::HrToSections.new(H[:section, class: 'slide']),
33
33
  Processors::JQuery.new(js_options),
34
34
  Processors::DeckJs.new(js_options),
35
+ ],
36
+ shower: [
37
+ Processors::HrToSections.new(H[:section, class: 'slide']),
38
+ Processors::Shower.new(js_options),
35
39
  ]
36
40
  }[@options[:type]]
37
41
  end
@@ -3,20 +3,15 @@ module Slippery
3
3
  class AddHighlight
4
4
  include ProcessorHelpers
5
5
 
6
- DEFAULT_STYLE = :default
7
- DEFAULT_VERSION = '8.0'
6
+ DEFAULT_STYLE = :default
8
7
 
9
- def initialize(style = DEFAULT_STYLE, version = DEFAULT_VERSION)
8
+ def initialize(style = DEFAULT_STYLE)
10
9
  @style = style
11
- @version = version
12
10
  end
13
11
 
14
12
  def call(doc)
15
- # css = "http://yandex.st/highlightjs/#{@version}/styles/#{@style}.min.css"
16
- # js = "http://yandex.st/highlightjs/#{@version}/highlight.min.js"
17
-
18
13
  js = asset_uri('highlight.js/highlight.pack.js')
19
- css = asset_uri('highlight.js/highlight-0.8.default.min.css')
14
+ css = asset_uri("highlight.js/styles/#{@style}.css")
20
15
 
21
16
  doc.rewrite 'head' do |head|
22
17
  head <<= H[:link, rel: "stylesheet", href: css]
@@ -10,7 +10,7 @@ module Slippery
10
10
 
11
11
  attr_reader :attributes
12
12
 
13
- DEFAULT_OPTIONS = {theme: 'default'}.freeze
13
+ DEFAULT_OPTIONS = {theme: 'black'}.freeze
14
14
 
15
15
  def initialize(options = {})
16
16
  @options = DEFAULT_OPTIONS.merge(options).freeze
@@ -0,0 +1,76 @@
1
+ module Slippery
2
+ module Processors
3
+ class Shower
4
+ include ProcessorHelpers
5
+
6
+ def self.call(doc)
7
+ self.new.call(doc)
8
+ end
9
+
10
+ attr_reader :attributes
11
+
12
+ DEFAULT_OPTIONS = {theme: :material,
13
+ ratio: '4x3',
14
+ color_key: '#4caf50'
15
+ }.freeze
16
+
17
+ def initialize(options = {})
18
+ @options = DEFAULT_OPTIONS.merge(options).freeze
19
+ end
20
+
21
+ def theme
22
+ @options[:theme]
23
+ end
24
+
25
+ def ratio
26
+ @options[:ratio].sub('x', ' / ')
27
+ end
28
+
29
+ def color_key
30
+ @options[:color_key]
31
+ end
32
+
33
+ def call(doc)
34
+ doc.process(
35
+ add_shower_js,
36
+ add_shower_css,
37
+ set_body_classes,
38
+ meta_tags,
39
+ progress_bar,
40
+ header
41
+ )
42
+ end
43
+
44
+ processor :add_shower_js, 'body' do |body|
45
+ include_local_javascript(body, 'shower/shower.min.js')
46
+ end
47
+
48
+ processor :add_shower_css, 'head' do |head|
49
+ include_local_css(head, "shower/themes/#{theme}/styles/styles.css")
50
+ .add_child(H[:style, ".shower {--slide-ratio: calc(#{ratio}); --color-key: #{color_key};} "])
51
+ end
52
+
53
+ processor :meta_tags, 'head' do |head|
54
+ head
55
+ .add_child(H[:meta, {"charset" => "utf-8"}])
56
+ .add_child(H[:meta, {"http-equiv" => "x-ua-compatible",
57
+ "content" => "ie=edge"}])
58
+ .add_child(H[:meta, {"name" => "viewport",
59
+ "content" => "width=device-width, initial-scale=1"}])
60
+ end
61
+
62
+ processor :set_body_classes, 'body' do |body|
63
+ body.attr('class', 'shower list')
64
+ end
65
+
66
+ processor :progress_bar, 'body' do |body|
67
+ body.add_child(H[:div, {class: "progress"}])
68
+ end
69
+
70
+ processor :header, 'section:first-child' do |section|
71
+ section.set_tag(:header).attr('class', 'caption')
72
+ end
73
+
74
+ end
75
+ end
76
+ end
@@ -51,6 +51,7 @@ module Slippery
51
51
  end
52
52
  end
53
53
  alias replace processor
54
+ alias transform processor
54
55
 
55
56
  def pack_assets
56
57
  @options[:include_assets] = true
@@ -80,8 +81,8 @@ module Slippery
80
81
  end
81
82
  end
82
83
 
83
- def add_highlighting(style = Slippery::Processors::AddHighlight::DEFAULT_STYLE, version = Slippery::Processors::AddHighlight::DEFAULT_VERSION)
84
- processors << Slippery::Processors::AddHighlight.new(style, version)
84
+ def add_highlighting(style = Slippery::Processors::AddHighlight::DEFAULT_STYLE, version = :unused)
85
+ processors << Slippery::Processors::AddHighlight.new(style)
85
86
  end
86
87
 
87
88
  def define
@@ -121,7 +122,11 @@ module Slippery
121
122
  tmpfile = Tempfile.new("#{name}.html")
122
123
  tmpfile << before
123
124
  tmpfile.close
124
- print `diff -u #{tmpfile.path} #{name}.html | cut -c1-150`
125
+ if `which pup` =~ /pup/
126
+ print `bash -c 'diff -u <(cat #{tmpfile.path} | pup) <(cat #{name}.html | pup) | cut -c1-180'`
127
+ else
128
+ print `diff -u #{tmpfile.path} #{name}.html | cut -c1-180`
129
+ end
125
130
  end
126
131
  end
127
132
  end
@@ -1,3 +1,3 @@
1
1
  module Slippery
2
- VERSION = '0.4.0'
2
+ VERSION = '0.4.2'
3
3
  end
data/lib/slippery.rb CHANGED
@@ -33,6 +33,7 @@ require 'slippery/processors/impress_js/auto_offsets'
33
33
  require 'slippery/processors/jquery'
34
34
  require 'slippery/processors/fathom_js'
35
35
  require 'slippery/processors/deck_js'
36
+ require 'slippery/processors/shower'
36
37
 
37
38
  require 'slippery/processors/reveal_js/add_reveal_js'
38
39
 
data/slippery.gemspec CHANGED
@@ -21,10 +21,10 @@ Gem::Specification.new do |gem|
21
21
  gem.add_runtime_dependency 'kramdown' , '~> 1.1'
22
22
  gem.add_runtime_dependency 'hexp-kramdown', '> 0'
23
23
  gem.add_runtime_dependency 'rake' , '~> 10.1'
24
- gem.add_runtime_dependency 'listen' , '~> 2.7'
24
+ gem.add_runtime_dependency 'listen' , '~> 3.0'
25
25
  gem.add_runtime_dependency 'concord' , '~> 0.1.4'
26
- gem.add_runtime_dependency 'asset_packer' , '~> 0.2.0'
26
+ gem.add_runtime_dependency 'asset_packer' , '~> 0.3.2'
27
27
 
28
28
  gem.add_development_dependency 'rspec'
29
- gem.add_development_dependency 'mutant-rspec'
29
+ # gem.add_development_dependency 'mutant-rspec'
30
30
  end