slippery 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (212) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -0
  3. data/assets/deck.js/core/deck.core.css +60 -0
  4. data/assets/deck.js/core/deck.core.js +728 -0
  5. data/assets/deck.js/core/deck.core.scss +65 -0
  6. data/assets/deck.js/core/print.css +25 -0
  7. data/assets/deck.js/core/print.scss +14 -0
  8. data/assets/deck.js/css/common.css +216 -0
  9. data/assets/deck.js/css/common.scss +233 -0
  10. data/assets/deck.js/css/home.css +790 -0
  11. data/assets/deck.js/css/home.scss +892 -0
  12. data/assets/deck.js/extensions/goto/deck.goto.css +36 -0
  13. data/assets/deck.js/extensions/goto/deck.goto.html +7 -0
  14. data/assets/deck.js/extensions/goto/deck.goto.js +190 -0
  15. data/assets/deck.js/extensions/goto/deck.goto.scss +39 -0
  16. data/assets/deck.js/extensions/hash/deck.hash.css +13 -0
  17. data/assets/deck.js/extensions/hash/deck.hash.html +2 -0
  18. data/assets/deck.js/extensions/hash/deck.hash.js +145 -0
  19. data/assets/deck.js/extensions/hash/deck.hash.scss +13 -0
  20. data/assets/deck.js/extensions/menu/deck.menu.css +45 -0
  21. data/assets/deck.js/extensions/menu/deck.menu.js +225 -0
  22. data/assets/deck.js/extensions/menu/deck.menu.scss +55 -0
  23. data/assets/deck.js/extensions/navigation/deck.navigation.css +42 -0
  24. data/assets/deck.js/extensions/navigation/deck.navigation.html +5 -0
  25. data/assets/deck.js/extensions/navigation/deck.navigation.js +94 -0
  26. data/assets/deck.js/extensions/navigation/deck.navigation.scss +44 -0
  27. data/assets/deck.js/extensions/scale/deck.scale.css +20 -0
  28. data/assets/deck.js/extensions/scale/deck.scale.js +190 -0
  29. data/assets/deck.js/extensions/scale/deck.scale.scss +22 -0
  30. data/assets/deck.js/extensions/status/deck.status.css +18 -0
  31. data/assets/deck.js/extensions/status/deck.status.html +6 -0
  32. data/assets/deck.js/extensions/status/deck.status.js +108 -0
  33. data/assets/deck.js/extensions/status/deck.status.scss +18 -0
  34. data/assets/deck.js/modernizr.custom.js +4 -0
  35. data/assets/deck.js/themes/style/_reset.scss +300 -0
  36. data/assets/deck.js/themes/style/neon.css +421 -0
  37. data/assets/deck.js/themes/style/neon.scss +148 -0
  38. data/assets/deck.js/themes/style/swiss.css +389 -0
  39. data/assets/deck.js/themes/style/swiss.scss +109 -0
  40. data/assets/deck.js/themes/style/web-2.0.css +500 -0
  41. data/assets/deck.js/themes/style/web-2.0.scss +228 -0
  42. data/assets/deck.js/themes/transition/fade.css +35 -0
  43. data/assets/deck.js/themes/transition/fade.scss +59 -0
  44. data/assets/deck.js/themes/transition/horizontal-slide.css +53 -0
  45. data/assets/deck.js/themes/transition/horizontal-slide.scss +72 -0
  46. data/assets/deck.js/themes/transition/vertical-slide.css +67 -0
  47. data/assets/deck.js/themes/transition/vertical-slide.scss +92 -0
  48. data/assets/highlight.js/CHANGES.md +953 -0
  49. data/assets/highlight.js/LICENSE +24 -0
  50. data/assets/highlight.js/README.md +101 -0
  51. data/assets/highlight.js/README.ru.md +101 -0
  52. data/assets/highlight.js/highlight-0.8.default.min.css +1 -0
  53. data/assets/highlight.js/highlight-0.8.min.js +1 -0
  54. data/assets/highlight.js/highlight.pack.js +1 -0
  55. data/assets/highlight.js/styles/arta.css +141 -0
  56. data/assets/highlight.js/styles/ascetic.css +53 -0
  57. data/assets/highlight.js/styles/atelier-dune.dark.css +95 -0
  58. data/assets/highlight.js/styles/atelier-dune.light.css +95 -0
  59. data/assets/highlight.js/styles/atelier-forest.dark.css +95 -0
  60. data/assets/highlight.js/styles/atelier-forest.light.css +95 -0
  61. data/assets/highlight.js/styles/atelier-heath.dark.css +95 -0
  62. data/assets/highlight.js/styles/atelier-heath.light.css +95 -0
  63. data/assets/highlight.js/styles/atelier-lakeside.dark.css +95 -0
  64. data/assets/highlight.js/styles/atelier-lakeside.light.css +95 -0
  65. data/assets/highlight.js/styles/atelier-seaside.dark.css +95 -0
  66. data/assets/highlight.js/styles/atelier-seaside.light.css +95 -0
  67. data/assets/highlight.js/styles/brown_paper.css +105 -0
  68. data/assets/highlight.js/styles/brown_papersq.png +0 -0
  69. data/assets/highlight.js/styles/codepen-embed.css +108 -0
  70. data/assets/highlight.js/styles/color-brewer.css +169 -0
  71. data/assets/highlight.js/styles/dark.css +105 -0
  72. data/assets/highlight.js/styles/default.css +153 -0
  73. data/assets/highlight.js/styles/docco.css +136 -0
  74. data/assets/highlight.js/styles/far.css +112 -0
  75. data/assets/highlight.js/styles/foundation.css +136 -0
  76. data/assets/highlight.js/styles/github.css +127 -0
  77. data/assets/highlight.js/styles/googlecode.css +148 -0
  78. data/assets/highlight.js/styles/hybrid.css +171 -0
  79. data/assets/highlight.js/styles/idea.css +126 -0
  80. data/assets/highlight.js/styles/ir_black.css +110 -0
  81. data/assets/highlight.js/styles/kimbie.dark.css +96 -0
  82. data/assets/highlight.js/styles/kimbie.light.css +96 -0
  83. data/assets/highlight.js/styles/magula.css +122 -0
  84. data/assets/highlight.js/styles/mono-blue.css +70 -0
  85. data/assets/highlight.js/styles/monokai.css +127 -0
  86. data/assets/highlight.js/styles/monokai_sublime.css +148 -0
  87. data/assets/highlight.js/styles/obsidian.css +154 -0
  88. data/assets/highlight.js/styles/paraiso.dark.css +95 -0
  89. data/assets/highlight.js/styles/paraiso.light.css +95 -0
  90. data/assets/highlight.js/styles/pojoaque.css +108 -0
  91. data/assets/highlight.js/styles/pojoaque.jpg +0 -0
  92. data/assets/highlight.js/styles/railscasts.css +185 -0
  93. data/assets/highlight.js/styles/rainbow.css +109 -0
  94. data/assets/highlight.js/styles/school_book.css +113 -0
  95. data/assets/highlight.js/styles/school_book.png +0 -0
  96. data/assets/highlight.js/styles/solarized_dark.css +109 -0
  97. data/assets/highlight.js/styles/solarized_light.css +109 -0
  98. data/assets/highlight.js/styles/sunburst.css +165 -0
  99. data/assets/highlight.js/styles/tomorrow-night-blue.css +95 -0
  100. data/assets/highlight.js/styles/tomorrow-night-bright.css +94 -0
  101. data/assets/highlight.js/styles/tomorrow-night-eighties.css +94 -0
  102. data/assets/highlight.js/styles/tomorrow-night.css +95 -0
  103. data/assets/highlight.js/styles/tomorrow.css +92 -0
  104. data/assets/highlight.js/styles/vs.css +94 -0
  105. data/assets/highlight.js/styles/xcode.css +159 -0
  106. data/assets/highlight.js/styles/zenburn.css +119 -0
  107. data/assets/jquery/jquery-2.1.0.min.js +4 -0
  108. data/assets/reveal.js/css/print/paper.css +1 -1
  109. data/assets/reveal.js/css/print/pdf.css +2 -2
  110. data/assets/reveal.js/css/reveal.css +372 -108
  111. data/assets/reveal.js/css/reveal.min.css +2 -2
  112. data/assets/reveal.js/css/theme/README.md +3 -1
  113. data/assets/reveal.js/css/theme/beige.css +7 -1
  114. data/assets/reveal.js/css/theme/blood.css +175 -0
  115. data/assets/reveal.js/css/theme/default.css +7 -1
  116. data/assets/reveal.js/css/theme/moon.css +7 -1
  117. data/assets/reveal.js/css/theme/night.css +7 -1
  118. data/assets/reveal.js/css/theme/serif.css +7 -1
  119. data/assets/reveal.js/css/theme/simple.css +7 -1
  120. data/assets/reveal.js/css/theme/sky.css +7 -1
  121. data/assets/reveal.js/css/theme/solarized.css +7 -1
  122. data/assets/reveal.js/css/theme/source/blood.scss +91 -0
  123. data/assets/reveal.js/css/theme/template/settings.scss +1 -0
  124. data/assets/reveal.js/css/theme/template/theme.scss +9 -2
  125. data/assets/reveal.js/js/reveal.js +1238 -433
  126. data/assets/reveal.js/js/reveal.min.js +4 -3
  127. data/assets/reveal.js/lib/css/zenburn.css +16 -17
  128. data/assets/reveal.js/plugin/highlight/highlight.js +3 -2
  129. data/assets/reveal.js/plugin/leap/leap.js +3 -0
  130. data/assets/reveal.js/plugin/markdown/example.html +37 -5
  131. data/assets/reveal.js/plugin/markdown/example.md +2 -0
  132. data/assets/reveal.js/plugin/markdown/markdown.js +373 -171
  133. data/assets/reveal.js/plugin/math/math.js +64 -0
  134. data/assets/reveal.js/plugin/multiplex/master.js +2 -1
  135. data/assets/reveal.js/plugin/notes/notes.html +33 -19
  136. data/assets/reveal.js/plugin/notes/notes.js +25 -47
  137. data/assets/reveal.js/plugin/remotes/remotes.js +4 -4
  138. data/assets/reveal.js/plugin/zoom-js/zoom.js +3 -1
  139. data/assets/reveal.old/css/print/paper.css +176 -0
  140. data/assets/reveal.old/css/print/pdf.css +190 -0
  141. data/assets/reveal.old/css/reveal.css +1616 -0
  142. data/assets/reveal.old/css/reveal.min.css +7 -0
  143. data/assets/reveal.old/css/theme/README.md +23 -0
  144. data/assets/reveal.old/css/theme/beige.css +142 -0
  145. data/assets/reveal.old/css/theme/default.css +142 -0
  146. data/assets/reveal.old/css/theme/moon.css +142 -0
  147. data/assets/reveal.old/css/theme/night.css +130 -0
  148. data/assets/reveal.old/css/theme/serif.css +132 -0
  149. data/assets/reveal.old/css/theme/simple.css +132 -0
  150. data/assets/reveal.old/css/theme/sky.css +139 -0
  151. data/assets/reveal.old/css/theme/solarized.css +142 -0
  152. data/assets/reveal.old/css/theme/source/beige.scss +50 -0
  153. data/assets/reveal.old/css/theme/source/default.scss +42 -0
  154. data/assets/reveal.old/css/theme/source/moon.scss +68 -0
  155. data/assets/reveal.old/css/theme/source/night.scss +35 -0
  156. data/assets/reveal.old/css/theme/source/serif.scss +35 -0
  157. data/assets/reveal.old/css/theme/source/simple.scss +38 -0
  158. data/assets/reveal.old/css/theme/source/sky.scss +46 -0
  159. data/assets/reveal.old/css/theme/source/solarized.scss +74 -0
  160. data/assets/reveal.old/css/theme/template/mixins.scss +29 -0
  161. data/assets/reveal.old/css/theme/template/settings.scss +33 -0
  162. data/assets/reveal.old/css/theme/template/theme.scss +163 -0
  163. data/assets/{reveal.js → reveal.old}/js/head.min.js +0 -0
  164. data/assets/reveal.old/js/reveal.js +2577 -0
  165. data/assets/reveal.old/js/reveal.min.js +8 -0
  166. data/assets/reveal.old/lib/css/zenburn.css +115 -0
  167. data/assets/reveal.old/lib/font/league_gothic-webfont.eot +0 -0
  168. data/assets/reveal.old/lib/font/league_gothic-webfont.svg +230 -0
  169. data/assets/reveal.old/lib/font/league_gothic-webfont.ttf +0 -0
  170. data/assets/reveal.old/lib/font/league_gothic-webfont.woff +0 -0
  171. data/assets/reveal.old/lib/font/league_gothic_license +2 -0
  172. data/assets/reveal.old/lib/js/classList.js +2 -0
  173. data/assets/reveal.old/lib/js/head.min.js +8 -0
  174. data/assets/reveal.old/lib/js/html5shiv.js +7 -0
  175. data/assets/reveal.old/plugin/highlight/highlight.js +31 -0
  176. data/assets/reveal.old/plugin/leap/leap.js +154 -0
  177. data/assets/reveal.old/plugin/markdown/example.html +97 -0
  178. data/assets/reveal.old/plugin/markdown/example.md +29 -0
  179. data/assets/reveal.old/plugin/markdown/markdown.js +190 -0
  180. data/assets/reveal.old/plugin/markdown/marked.js +37 -0
  181. data/assets/reveal.old/plugin/multiplex/client.js +13 -0
  182. data/assets/reveal.old/plugin/multiplex/index.js +56 -0
  183. data/assets/reveal.old/plugin/multiplex/master.js +50 -0
  184. data/assets/reveal.old/plugin/notes-server/client.js +57 -0
  185. data/assets/reveal.old/plugin/notes-server/index.js +59 -0
  186. data/assets/reveal.old/plugin/notes-server/notes.html +142 -0
  187. data/assets/reveal.old/plugin/notes/notes.html +253 -0
  188. data/assets/reveal.old/plugin/notes/notes.js +100 -0
  189. data/assets/reveal.old/plugin/postmessage/example.html +39 -0
  190. data/assets/reveal.old/plugin/postmessage/postmessage.js +42 -0
  191. data/assets/reveal.old/plugin/print-pdf/print-pdf.js +44 -0
  192. data/assets/reveal.old/plugin/remotes/remotes.js +39 -0
  193. data/assets/reveal.old/plugin/search/search.js +196 -0
  194. data/assets/reveal.old/plugin/zoom-js/zoom.js +256 -0
  195. data/bin/slippery +1 -0
  196. data/code_of_conduct.md +32 -0
  197. data/lib/slippery.rb +5 -3
  198. data/lib/slippery/document.rb +2 -2
  199. data/lib/slippery/presentation.rb +10 -1
  200. data/lib/slippery/processor.rb +18 -0
  201. data/lib/slippery/processor_helpers.rb +16 -2
  202. data/lib/slippery/processors/add_highlight.rb +9 -2
  203. data/lib/slippery/processors/deck_js.rb +81 -0
  204. data/lib/slippery/processors/fathom_js.rb +31 -0
  205. data/lib/slippery/processors/impress_js/add_impress_js.rb +2 -2
  206. data/lib/slippery/processors/jquery.rb +12 -0
  207. data/lib/slippery/processors/reveal_js/add_reveal_js.rb +12 -9
  208. data/lib/slippery/rake_tasks.rb +59 -31
  209. data/lib/slippery/version.rb +1 -1
  210. data/slippery.gemspec +5 -4
  211. metadata +215 -33
  212. data/lib/slippery/converter.rb +0 -132
@@ -0,0 +1,81 @@
1
+ module Slippery
2
+ module Processors
3
+ # http://imakewebthings.com/deck.js/
4
+ class DeckJs < Processor
5
+ #ROOT = 'http://imakewebthings.com/deck.js/'
6
+ ROOT = ProcessorHelpers.asset_uri('deck.js/')
7
+ CORE_JS = URI.join(ROOT, 'core/deck.core.js')
8
+ CORE_CSS = URI.join(ROOT, 'core/deck.core.css')
9
+
10
+ DEFAULT_OPTIONS = {
11
+ extensions: %w[menu goto status navigation scale],
12
+ theme: 'web-2.0',
13
+ transition_theme: 'horizontal-slide'
14
+ }
15
+
16
+ # HEAD
17
+
18
+ processor :add_core_css, 'head' do |head|
19
+ head.add(stylesheet_link_tag(CORE_CSS))
20
+ end
21
+
22
+ processor :add_extension_css, 'head' do |head|
23
+ options.fetch(:extensions, []).inject(head) do |head, name|
24
+ head.add(stylesheet_link_tag(
25
+ URI.join(ROOT, "extensions/#{name}/deck.#{name}.css")
26
+ ))
27
+ end
28
+ end
29
+
30
+ processor :add_theme, 'head' do |head|
31
+ if theme
32
+ head.add(stylesheet_link_tag(URI.join(ROOT, "themes/style/#{theme}.css")).attr('id', 'style-theme-link'))
33
+ else
34
+ head
35
+ end
36
+ end
37
+
38
+ processor :add_transition_theme, 'head' do |head|
39
+ if transition_theme
40
+ head.add(stylesheet_link_tag(URI.join(ROOT, "themes/transition/#{transition_theme}.css")).attr('id', 'transition-theme-link'))
41
+ else
42
+ head
43
+ end
44
+ end
45
+
46
+ processor :add_modernizer, 'head' do |head|
47
+ head.add(javascript_include_tag(URI.join(ROOT, 'modernizr.custom.js')))
48
+ end
49
+
50
+ # BODY
51
+
52
+ processor :add_core_js, 'body' do |body|
53
+ body.add(javascript_include_tag(CORE_JS))
54
+ end
55
+
56
+ processor :add_extension_js, 'body' do |body|
57
+ options.fetch(:extensions, []).inject(body) do |body, name|
58
+ body.add(javascript_include_tag(
59
+ URI.join(ROOT, "extensions/#{name}/deck.#{name}.js")
60
+ ))
61
+ end
62
+ end
63
+
64
+ processor :init_deck_js, 'body' do |body|
65
+ body.add(H[:script, "$(function() { $.deck('.slide'); });"])
66
+ end
67
+
68
+ processor :wrap_deck_container, 'body' do |body|
69
+ H[:body, H[:div, {class: "deck-container"}, body.children]]
70
+ end
71
+
72
+ def theme
73
+ options[:theme]
74
+ end
75
+
76
+ def transition_theme
77
+ options[:transition_theme]
78
+ end
79
+ end
80
+ end
81
+ end
@@ -0,0 +1,31 @@
1
+ module Slippery
2
+ module Processors
3
+ # http://markdalgleish.com/projects/fathom/
4
+ class FathomJs
5
+ include ProcessorHelpers
6
+
7
+ FATHOM = 'https://raw.githubusercontent.com/markdalgleish/fathom/master/fathom.min.js'
8
+ def initialize(options)
9
+ @options = options
10
+ end
11
+
12
+ processor :add_fathom, 'head' do |head|
13
+ head.add(javascript_include_tag(JQUERY))
14
+ end
15
+
16
+ processor :wrap_presentation, 'body' do |body|
17
+ body.set_children(H[:div, {id: 'presentation'}, body.children])
18
+ end
19
+
20
+ processor :init_fathom, 'head' do |head|
21
+ head.add(H[:script, {type: 'text/javascript'}, <<"JS"])
22
+ $(document).ready(function(){
23
+ $('#presentation').fathom({
24
+ #{hash_to_js(@options)}
25
+ });
26
+ });
27
+ JS
28
+ end
29
+ end
30
+ end
31
+ end
@@ -15,12 +15,12 @@ module Slippery
15
15
  }.freeze
16
16
 
17
17
  def initialize(attributes = {})
18
- @attributes = DEFAULT_ATTRS.merge(attributes).freeze
18
+ @attributes = DEFAULT_ATTRS.merge(attributes).freeze
19
19
  end
20
20
 
21
21
  def call(doc)
22
22
  doc.replace('body') do |body|
23
- include_local_javascript(body, asset_uri('impress.js/js/impress.js'))
23
+ include_local_javascript(body, 'impress.js/js/impress.js')
24
24
  .set_attrs({id: 'impress'}.merge(data_attributes(attributes)))
25
25
  .add H[:script, 'impress().init();']
26
26
  end
@@ -0,0 +1,12 @@
1
+ module Slippery
2
+ module Processors
3
+ class JQuery < Processor
4
+ JQUERY = ProcessorHelpers.asset_uri('jquery/jquery-2.1.0.min.js')
5
+ #JQUERY = 'https://code.jquery.com/jquery-2.1.0.min.js'
6
+
7
+ processor :add_jquery, 'head' do |head|
8
+ head.add(javascript_include_tag(JQUERY))
9
+ end
10
+ end
11
+ end
12
+ end
@@ -27,20 +27,20 @@ module Slippery
27
27
  end
28
28
 
29
29
  processor :add_reveal_js, 'body' do |body|
30
- body = include_local_javascript(body, asset_uri('reveal.js/lib/js/head.min.js'))
31
- include_local_javascript(body, asset_uri('reveal.js/js/reveal.js'))
30
+ body = include_local_javascript(body, 'reveal.js/lib/js/head.min.js')
31
+ include_local_javascript(body, 'reveal.js/js/reveal.js')
32
32
  end
33
33
 
34
34
  processor :add_reveal_css, 'head' do |head|
35
- include_local_css(head, asset_uri('reveal.js/css/reveal.min.css'))
35
+ include_local_css(head, 'reveal.js/css/reveal.min.css')
36
36
  end
37
37
 
38
38
  processor :add_theme, 'head' do |head|
39
- include_local_css(head, asset_uri("reveal.js/css/theme/#{@options[:theme]}.css"))
39
+ include_local_css(head, "reveal.js/css/theme/#{@options[:theme]}.css")
40
40
  end
41
41
 
42
42
  processor :add_settings, 'body' do |body|
43
- body.add(H[:script, "Reveal.initialize({ #{plugin_settings}, #{settings.map { |k, v| "#{k}:#{v.inspect}" }.join(',')} });"])
43
+ body.add(H[:script, "Reveal.initialize(#{JSON.dump(settings)});"])
44
44
  end
45
45
 
46
46
  processor :reveal_wrap, 'body' do |body|
@@ -53,14 +53,17 @@ module Slippery
53
53
  end
54
54
 
55
55
  def settings
56
- @options.reject { |key, _| [:theme, :plugins].include? key }
56
+ {
57
+ dependencies: plugin_settings + @options.fetch(:dependencies, [])
58
+ }.merge(
59
+ @options.reject { |key, _| [:theme, :plugins, :dependencies].include? key }
60
+ )
57
61
  end
58
62
 
59
63
  def plugin_settings
60
- 'dependencies: [' +
61
64
  Array(@options.fetch(:plugins, [])).map do |name|
62
- plugin_config name
63
- end.join(',') + ']'
65
+ plugin_config(name)
66
+ end
64
67
  end
65
68
 
66
69
  def plugins(name)
@@ -19,9 +19,19 @@ module Slippery
19
19
  yield self
20
20
  end
21
21
  end
22
+
22
23
  define
23
24
  end
24
25
 
26
+ def type(type)
27
+ @options[:type] = type
28
+ end
29
+ alias type= type
30
+
31
+ def js_options(options)
32
+ @options.merge!(options)
33
+ end
34
+
25
35
  def presentation_names
26
36
  presentations.map {|path| [ path.basename(path.extname), path ] }
27
37
  end
@@ -30,7 +40,6 @@ module Slippery
30
40
  @infile = infile
31
41
  doc = Slippery::Document.new(infile.read)
32
42
  doc = Slippery::Presentation.new(doc, @options.merge(options))
33
-
34
43
  doc.process(*processors)
35
44
  end
36
45
 
@@ -41,18 +50,28 @@ module Slippery
41
50
  end
42
51
  end
43
52
  end
53
+ alias replace processor
44
54
 
45
- def include_assets
46
- processors << method(:call_asset_packer)
55
+ def pack_assets
56
+ @options[:include_assets] = true
47
57
  end
48
- alias self_contained include_assets
49
-
50
- def call_asset_packer(doc)
51
- AssetPacker::Processor::Local.new(
52
- @infile.to_s,
53
- @infile.dirname.join('assets'),
54
- @infile
55
- ).(doc)
58
+ alias self_contained pack_assets
59
+
60
+ def pack_assets?
61
+ !!@options[:include_assets]
62
+ end
63
+
64
+ def asset_packer(infile)
65
+ infile = Pathname(infile)
66
+ if pack_assets?
67
+ AssetPacker::Processor::Local.new(
68
+ infile.to_s,
69
+ infile.dirname.join('assets'),
70
+ infile
71
+ )
72
+ else
73
+ ->(i) { i }
74
+ end
56
75
  end
57
76
 
58
77
  def title(title)
@@ -74,42 +93,51 @@ module Slippery
74
93
  presentation_names.each do |name, path|
75
94
  desc "build #{name}"
76
95
  task name do
77
- File.write("#{name}.html", markdown_to_hexp(path).to_html)
96
+ File.write("#{name}.html", asset_packer(path).((markdown_to_hexp(path))).to_html(html5: true))
78
97
  end
79
98
  end
80
99
  end
81
100
 
82
101
  namespace :watch do
83
102
  presentation_names.each do |name, path|
84
- files = markdown_to_hexp(path, skip_self_contained: true).select('link,script').map {|link| link.attr('href') || link.attr('src')}.compact
85
- files = files.select {|f| File.exist?(f)}
86
103
 
87
104
  desc "watch #{name} for changes"
88
- WatchTask.new(name, [path.to_s, *files]) do
89
- dest = Tempfile.new("#{name}.html")
90
- File.open("#{name}.html", 'w+') { |src| FileUtils.copy_stream(src, dest) }
91
- dest.close
92
- Rake::Task["#{@name}:build:#{name}"].execute
93
- puts "="*60
94
- print `diff -u #{dest.path} #{name}.html | cut -c1-150` if File.exist? "#{name}.html"
105
+ task name do
106
+ asset_files = markdown_to_hexp(path)
107
+ .select('link,script')
108
+ .map {|link| link.attr('href') || link.attr('src')}
109
+ .compact
110
+ .select {|uri| URI(uri).scheme == 'file' || URI(uri).scheme == '' || URI(uri).scheme.nil? }
111
+ .map {|uri| Pathname(URI(uri).path) }
112
+ .select(&:exist?)
113
+ .map(&:to_s)
114
+
115
+ watch(name, [path.to_s, *asset_files]) do
116
+ target = Pathname("#{name}.html")
117
+ before = target.exist? ? target.read : ''
118
+ Rake::Task["#{@name}:build:#{name}"].execute
119
+ puts "="*60
120
+
121
+ tmpfile = Tempfile.new("#{name}.html")
122
+ tmpfile << before
123
+ tmpfile.close
124
+ print `diff -u #{tmpfile.path} #{name}.html | cut -c1-150`
125
+ end
95
126
  end
96
127
  end
97
128
  end
98
129
  end
99
130
  end
100
- end
101
131
 
132
+ def watch(name, files, &block)
133
+ listener = Listen.to('.', :only => /#{files.join('|')}/, &block)
102
134
 
103
- class WatchTask
104
- def initialize(name, files, &block)
105
- Rake::Task.define_task name do
106
- listener = Listen.to('.', :only => /#{files.join('|')}/, &block)
107
-
108
- at_exit do
109
- listener.start # not blocking
110
- sleep
111
- end
135
+ at_exit do
136
+ block.call
137
+ listener.start # not blocking
138
+ sleep
112
139
  end
113
140
  end
114
141
  end
142
+
115
143
  end
@@ -1,3 +1,3 @@
1
1
  module Slippery
2
- VERSION = '0.3.0'
2
+ VERSION = '0.4.0'
3
3
  end
@@ -17,13 +17,14 @@ Gem::Specification.new do |gem|
17
17
  gem.test_files = `git ls-files -- spec`.split($/)
18
18
  gem.extra_rdoc_files = %w[README.md LICENSE]
19
19
 
20
- gem.add_runtime_dependency 'hexp' , '~> 0.3.3'
20
+ gem.add_runtime_dependency 'hexp' , '~> 0.4.6'
21
21
  gem.add_runtime_dependency 'kramdown' , '~> 1.1'
22
+ gem.add_runtime_dependency 'hexp-kramdown', '> 0'
22
23
  gem.add_runtime_dependency 'rake' , '~> 10.1'
23
24
  gem.add_runtime_dependency 'listen' , '~> 2.7'
24
25
  gem.add_runtime_dependency 'concord' , '~> 0.1.4'
25
- gem.add_runtime_dependency 'asset_packer' , '~> 0.1.0'
26
+ gem.add_runtime_dependency 'asset_packer' , '~> 0.2.0'
26
27
 
27
- gem.add_development_dependency 'rspec' , '~> 2.14'
28
- gem.add_development_dependency 'mutant-rspec' , '~> 0.5.3'
28
+ gem.add_development_dependency 'rspec'
29
+ gem.add_development_dependency 'mutant-rspec'
29
30
  end
metadata CHANGED
@@ -1,127 +1,141 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: slippery
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Arne Brasseur
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-04-22 00:00:00.000000000 Z
11
+ date: 2015-03-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: hexp
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.3.3
19
+ version: 0.4.6
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 0.3.3
26
+ version: 0.4.6
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: kramdown
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ~>
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
33
  version: '1.1'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ~>
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '1.1'
41
+ - !ruby/object:Gem::Dependency
42
+ name: hexp-kramdown
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">"
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">"
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: rake
43
57
  requirement: !ruby/object:Gem::Requirement
44
58
  requirements:
45
- - - ~>
59
+ - - "~>"
46
60
  - !ruby/object:Gem::Version
47
61
  version: '10.1'
48
62
  type: :runtime
49
63
  prerelease: false
50
64
  version_requirements: !ruby/object:Gem::Requirement
51
65
  requirements:
52
- - - ~>
66
+ - - "~>"
53
67
  - !ruby/object:Gem::Version
54
68
  version: '10.1'
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: listen
57
71
  requirement: !ruby/object:Gem::Requirement
58
72
  requirements:
59
- - - ~>
73
+ - - "~>"
60
74
  - !ruby/object:Gem::Version
61
75
  version: '2.7'
62
76
  type: :runtime
63
77
  prerelease: false
64
78
  version_requirements: !ruby/object:Gem::Requirement
65
79
  requirements:
66
- - - ~>
80
+ - - "~>"
67
81
  - !ruby/object:Gem::Version
68
82
  version: '2.7'
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: concord
71
85
  requirement: !ruby/object:Gem::Requirement
72
86
  requirements:
73
- - - ~>
87
+ - - "~>"
74
88
  - !ruby/object:Gem::Version
75
89
  version: 0.1.4
76
90
  type: :runtime
77
91
  prerelease: false
78
92
  version_requirements: !ruby/object:Gem::Requirement
79
93
  requirements:
80
- - - ~>
94
+ - - "~>"
81
95
  - !ruby/object:Gem::Version
82
96
  version: 0.1.4
83
97
  - !ruby/object:Gem::Dependency
84
98
  name: asset_packer
85
99
  requirement: !ruby/object:Gem::Requirement
86
100
  requirements:
87
- - - ~>
101
+ - - "~>"
88
102
  - !ruby/object:Gem::Version
89
- version: 0.1.0
103
+ version: 0.2.0
90
104
  type: :runtime
91
105
  prerelease: false
92
106
  version_requirements: !ruby/object:Gem::Requirement
93
107
  requirements:
94
- - - ~>
108
+ - - "~>"
95
109
  - !ruby/object:Gem::Version
96
- version: 0.1.0
110
+ version: 0.2.0
97
111
  - !ruby/object:Gem::Dependency
98
112
  name: rspec
99
113
  requirement: !ruby/object:Gem::Requirement
100
114
  requirements:
101
- - - ~>
115
+ - - ">="
102
116
  - !ruby/object:Gem::Version
103
- version: '2.14'
117
+ version: '0'
104
118
  type: :development
105
119
  prerelease: false
106
120
  version_requirements: !ruby/object:Gem::Requirement
107
121
  requirements:
108
- - - ~>
122
+ - - ">="
109
123
  - !ruby/object:Gem::Version
110
- version: '2.14'
124
+ version: '0'
111
125
  - !ruby/object:Gem::Dependency
112
126
  name: mutant-rspec
113
127
  requirement: !ruby/object:Gem::Requirement
114
128
  requirements:
115
- - - ~>
129
+ - - ">="
116
130
  - !ruby/object:Gem::Version
117
- version: 0.5.3
131
+ version: '0'
118
132
  type: :development
119
133
  prerelease: false
120
134
  version_requirements: !ruby/object:Gem::Requirement
121
135
  requirements:
122
- - - ~>
136
+ - - ">="
123
137
  - !ruby/object:Gem::Version
124
- version: 0.5.3
138
+ version: '0'
125
139
  description: Make presentations with Markdown
126
140
  email:
127
141
  - arne@arnebrasseur.net
@@ -131,21 +145,127 @@ extra_rdoc_files:
131
145
  - README.md
132
146
  - LICENSE
133
147
  files:
134
- - .gitignore
135
- - .travis.yml
148
+ - ".gitignore"
149
+ - ".travis.yml"
136
150
  - Changelog.md
137
151
  - Gemfile
138
152
  - LICENSE
139
153
  - README.md
140
154
  - Rakefile
155
+ - assets/deck.js/core/deck.core.css
156
+ - assets/deck.js/core/deck.core.js
157
+ - assets/deck.js/core/deck.core.scss
158
+ - assets/deck.js/core/print.css
159
+ - assets/deck.js/core/print.scss
160
+ - assets/deck.js/css/common.css
161
+ - assets/deck.js/css/common.scss
162
+ - assets/deck.js/css/home.css
163
+ - assets/deck.js/css/home.scss
164
+ - assets/deck.js/extensions/goto/deck.goto.css
165
+ - assets/deck.js/extensions/goto/deck.goto.html
166
+ - assets/deck.js/extensions/goto/deck.goto.js
167
+ - assets/deck.js/extensions/goto/deck.goto.scss
168
+ - assets/deck.js/extensions/hash/deck.hash.css
169
+ - assets/deck.js/extensions/hash/deck.hash.html
170
+ - assets/deck.js/extensions/hash/deck.hash.js
171
+ - assets/deck.js/extensions/hash/deck.hash.scss
172
+ - assets/deck.js/extensions/menu/deck.menu.css
173
+ - assets/deck.js/extensions/menu/deck.menu.js
174
+ - assets/deck.js/extensions/menu/deck.menu.scss
175
+ - assets/deck.js/extensions/navigation/deck.navigation.css
176
+ - assets/deck.js/extensions/navigation/deck.navigation.html
177
+ - assets/deck.js/extensions/navigation/deck.navigation.js
178
+ - assets/deck.js/extensions/navigation/deck.navigation.scss
179
+ - assets/deck.js/extensions/scale/deck.scale.css
180
+ - assets/deck.js/extensions/scale/deck.scale.js
181
+ - assets/deck.js/extensions/scale/deck.scale.scss
182
+ - assets/deck.js/extensions/status/deck.status.css
183
+ - assets/deck.js/extensions/status/deck.status.html
184
+ - assets/deck.js/extensions/status/deck.status.js
185
+ - assets/deck.js/extensions/status/deck.status.scss
186
+ - assets/deck.js/modernizr.custom.js
187
+ - assets/deck.js/themes/style/_reset.scss
188
+ - assets/deck.js/themes/style/neon.css
189
+ - assets/deck.js/themes/style/neon.scss
190
+ - assets/deck.js/themes/style/swiss.css
191
+ - assets/deck.js/themes/style/swiss.scss
192
+ - assets/deck.js/themes/style/web-2.0.css
193
+ - assets/deck.js/themes/style/web-2.0.scss
194
+ - assets/deck.js/themes/transition/fade.css
195
+ - assets/deck.js/themes/transition/fade.scss
196
+ - assets/deck.js/themes/transition/horizontal-slide.css
197
+ - assets/deck.js/themes/transition/horizontal-slide.scss
198
+ - assets/deck.js/themes/transition/vertical-slide.css
199
+ - assets/deck.js/themes/transition/vertical-slide.scss
200
+ - assets/highlight.js/CHANGES.md
201
+ - assets/highlight.js/LICENSE
202
+ - assets/highlight.js/README.md
203
+ - assets/highlight.js/README.ru.md
204
+ - assets/highlight.js/highlight-0.8.default.min.css
205
+ - assets/highlight.js/highlight-0.8.min.js
206
+ - assets/highlight.js/highlight.pack.js
207
+ - assets/highlight.js/styles/arta.css
208
+ - assets/highlight.js/styles/ascetic.css
209
+ - assets/highlight.js/styles/atelier-dune.dark.css
210
+ - assets/highlight.js/styles/atelier-dune.light.css
211
+ - assets/highlight.js/styles/atelier-forest.dark.css
212
+ - assets/highlight.js/styles/atelier-forest.light.css
213
+ - assets/highlight.js/styles/atelier-heath.dark.css
214
+ - assets/highlight.js/styles/atelier-heath.light.css
215
+ - assets/highlight.js/styles/atelier-lakeside.dark.css
216
+ - assets/highlight.js/styles/atelier-lakeside.light.css
217
+ - assets/highlight.js/styles/atelier-seaside.dark.css
218
+ - assets/highlight.js/styles/atelier-seaside.light.css
219
+ - assets/highlight.js/styles/brown_paper.css
220
+ - assets/highlight.js/styles/brown_papersq.png
221
+ - assets/highlight.js/styles/codepen-embed.css
222
+ - assets/highlight.js/styles/color-brewer.css
223
+ - assets/highlight.js/styles/dark.css
224
+ - assets/highlight.js/styles/default.css
225
+ - assets/highlight.js/styles/docco.css
226
+ - assets/highlight.js/styles/far.css
227
+ - assets/highlight.js/styles/foundation.css
228
+ - assets/highlight.js/styles/github.css
229
+ - assets/highlight.js/styles/googlecode.css
230
+ - assets/highlight.js/styles/hybrid.css
231
+ - assets/highlight.js/styles/idea.css
232
+ - assets/highlight.js/styles/ir_black.css
233
+ - assets/highlight.js/styles/kimbie.dark.css
234
+ - assets/highlight.js/styles/kimbie.light.css
235
+ - assets/highlight.js/styles/magula.css
236
+ - assets/highlight.js/styles/mono-blue.css
237
+ - assets/highlight.js/styles/monokai.css
238
+ - assets/highlight.js/styles/monokai_sublime.css
239
+ - assets/highlight.js/styles/obsidian.css
240
+ - assets/highlight.js/styles/paraiso.dark.css
241
+ - assets/highlight.js/styles/paraiso.light.css
242
+ - assets/highlight.js/styles/pojoaque.css
243
+ - assets/highlight.js/styles/pojoaque.jpg
244
+ - assets/highlight.js/styles/railscasts.css
245
+ - assets/highlight.js/styles/rainbow.css
246
+ - assets/highlight.js/styles/school_book.css
247
+ - assets/highlight.js/styles/school_book.png
248
+ - assets/highlight.js/styles/solarized_dark.css
249
+ - assets/highlight.js/styles/solarized_light.css
250
+ - assets/highlight.js/styles/sunburst.css
251
+ - assets/highlight.js/styles/tomorrow-night-blue.css
252
+ - assets/highlight.js/styles/tomorrow-night-bright.css
253
+ - assets/highlight.js/styles/tomorrow-night-eighties.css
254
+ - assets/highlight.js/styles/tomorrow-night.css
255
+ - assets/highlight.js/styles/tomorrow.css
256
+ - assets/highlight.js/styles/vs.css
257
+ - assets/highlight.js/styles/xcode.css
258
+ - assets/highlight.js/styles/zenburn.css
141
259
  - assets/impress.js/css/impress-demo.css
142
260
  - assets/impress.js/js/impress.js
261
+ - assets/jquery/jquery-2.1.0.min.js
143
262
  - assets/reveal.js/css/print/paper.css
144
263
  - assets/reveal.js/css/print/pdf.css
145
264
  - assets/reveal.js/css/reveal.css
146
265
  - assets/reveal.js/css/reveal.min.css
147
266
  - assets/reveal.js/css/theme/README.md
148
267
  - assets/reveal.js/css/theme/beige.css
268
+ - assets/reveal.js/css/theme/blood.css
149
269
  - assets/reveal.js/css/theme/default.css
150
270
  - assets/reveal.js/css/theme/moon.css
151
271
  - assets/reveal.js/css/theme/night.css
@@ -154,6 +274,7 @@ files:
154
274
  - assets/reveal.js/css/theme/sky.css
155
275
  - assets/reveal.js/css/theme/solarized.css
156
276
  - assets/reveal.js/css/theme/source/beige.scss
277
+ - assets/reveal.js/css/theme/source/blood.scss
157
278
  - assets/reveal.js/css/theme/source/default.scss
158
279
  - assets/reveal.js/css/theme/source/moon.scss
159
280
  - assets/reveal.js/css/theme/source/night.scss
@@ -164,7 +285,6 @@ files:
164
285
  - assets/reveal.js/css/theme/template/mixins.scss
165
286
  - assets/reveal.js/css/theme/template/settings.scss
166
287
  - assets/reveal.js/css/theme/template/theme.scss
167
- - assets/reveal.js/js/head.min.js
168
288
  - assets/reveal.js/js/reveal.js
169
289
  - assets/reveal.js/js/reveal.min.js
170
290
  - assets/reveal.js/lib/css/zenburn.css
@@ -182,6 +302,7 @@ files:
182
302
  - assets/reveal.js/plugin/markdown/example.md
183
303
  - assets/reveal.js/plugin/markdown/markdown.js
184
304
  - assets/reveal.js/plugin/markdown/marked.js
305
+ - assets/reveal.js/plugin/math/math.js
185
306
  - assets/reveal.js/plugin/multiplex/client.js
186
307
  - assets/reveal.js/plugin/multiplex/index.js
187
308
  - assets/reveal.js/plugin/multiplex/master.js
@@ -196,6 +317,64 @@ files:
196
317
  - assets/reveal.js/plugin/remotes/remotes.js
197
318
  - assets/reveal.js/plugin/search/search.js
198
319
  - assets/reveal.js/plugin/zoom-js/zoom.js
320
+ - assets/reveal.old/css/print/paper.css
321
+ - assets/reveal.old/css/print/pdf.css
322
+ - assets/reveal.old/css/reveal.css
323
+ - assets/reveal.old/css/reveal.min.css
324
+ - assets/reveal.old/css/theme/README.md
325
+ - assets/reveal.old/css/theme/beige.css
326
+ - assets/reveal.old/css/theme/default.css
327
+ - assets/reveal.old/css/theme/moon.css
328
+ - assets/reveal.old/css/theme/night.css
329
+ - assets/reveal.old/css/theme/serif.css
330
+ - assets/reveal.old/css/theme/simple.css
331
+ - assets/reveal.old/css/theme/sky.css
332
+ - assets/reveal.old/css/theme/solarized.css
333
+ - assets/reveal.old/css/theme/source/beige.scss
334
+ - assets/reveal.old/css/theme/source/default.scss
335
+ - assets/reveal.old/css/theme/source/moon.scss
336
+ - assets/reveal.old/css/theme/source/night.scss
337
+ - assets/reveal.old/css/theme/source/serif.scss
338
+ - assets/reveal.old/css/theme/source/simple.scss
339
+ - assets/reveal.old/css/theme/source/sky.scss
340
+ - assets/reveal.old/css/theme/source/solarized.scss
341
+ - assets/reveal.old/css/theme/template/mixins.scss
342
+ - assets/reveal.old/css/theme/template/settings.scss
343
+ - assets/reveal.old/css/theme/template/theme.scss
344
+ - assets/reveal.old/js/head.min.js
345
+ - assets/reveal.old/js/reveal.js
346
+ - assets/reveal.old/js/reveal.min.js
347
+ - assets/reveal.old/lib/css/zenburn.css
348
+ - assets/reveal.old/lib/font/league_gothic-webfont.eot
349
+ - assets/reveal.old/lib/font/league_gothic-webfont.svg
350
+ - assets/reveal.old/lib/font/league_gothic-webfont.ttf
351
+ - assets/reveal.old/lib/font/league_gothic-webfont.woff
352
+ - assets/reveal.old/lib/font/league_gothic_license
353
+ - assets/reveal.old/lib/js/classList.js
354
+ - assets/reveal.old/lib/js/head.min.js
355
+ - assets/reveal.old/lib/js/html5shiv.js
356
+ - assets/reveal.old/plugin/highlight/highlight.js
357
+ - assets/reveal.old/plugin/leap/leap.js
358
+ - assets/reveal.old/plugin/markdown/example.html
359
+ - assets/reveal.old/plugin/markdown/example.md
360
+ - assets/reveal.old/plugin/markdown/markdown.js
361
+ - assets/reveal.old/plugin/markdown/marked.js
362
+ - assets/reveal.old/plugin/multiplex/client.js
363
+ - assets/reveal.old/plugin/multiplex/index.js
364
+ - assets/reveal.old/plugin/multiplex/master.js
365
+ - assets/reveal.old/plugin/notes-server/client.js
366
+ - assets/reveal.old/plugin/notes-server/index.js
367
+ - assets/reveal.old/plugin/notes-server/notes.html
368
+ - assets/reveal.old/plugin/notes/notes.html
369
+ - assets/reveal.old/plugin/notes/notes.js
370
+ - assets/reveal.old/plugin/postmessage/example.html
371
+ - assets/reveal.old/plugin/postmessage/postmessage.js
372
+ - assets/reveal.old/plugin/print-pdf/print-pdf.js
373
+ - assets/reveal.old/plugin/remotes/remotes.js
374
+ - assets/reveal.old/plugin/search/search.js
375
+ - assets/reveal.old/plugin/zoom-js/zoom.js
376
+ - bin/slippery
377
+ - code_of_conduct.md
199
378
  - config/flay.yml
200
379
  - config/flog.yml
201
380
  - config/mutant.yml
@@ -203,16 +382,19 @@ files:
203
382
  - config/rubocop.yml
204
383
  - config/yardstick.yml
205
384
  - lib/slippery.rb
206
- - lib/slippery/converter.rb
207
385
  - lib/slippery/document.rb
208
386
  - lib/slippery/presentation.rb
387
+ - lib/slippery/processor.rb
209
388
  - lib/slippery/processor_helpers.rb
210
389
  - lib/slippery/processors/add_google_font.rb
211
390
  - lib/slippery/processors/add_highlight.rb
391
+ - lib/slippery/processors/deck_js.rb
392
+ - lib/slippery/processors/fathom_js.rb
212
393
  - lib/slippery/processors/graphviz_dot.rb
213
394
  - lib/slippery/processors/hr_to_sections.rb
214
395
  - lib/slippery/processors/impress_js/add_impress_js.rb
215
396
  - lib/slippery/processors/impress_js/auto_offsets.rb
397
+ - lib/slippery/processors/jquery.rb
216
398
  - lib/slippery/processors/reveal_js/add_reveal_js.rb
217
399
  - lib/slippery/rake_tasks.rb
218
400
  - lib/slippery/version.rb
@@ -236,17 +418,17 @@ require_paths:
236
418
  - lib
237
419
  required_ruby_version: !ruby/object:Gem::Requirement
238
420
  requirements:
239
- - - '>='
421
+ - - ">="
240
422
  - !ruby/object:Gem::Version
241
423
  version: '0'
242
424
  required_rubygems_version: !ruby/object:Gem::Requirement
243
425
  requirements:
244
- - - '>='
426
+ - - ">="
245
427
  - !ruby/object:Gem::Version
246
428
  version: '0'
247
429
  requirements: []
248
430
  rubyforge_project:
249
- rubygems_version: 2.0.14
431
+ rubygems_version: 2.4.5
250
432
  signing_key:
251
433
  specification_version: 4
252
434
  summary: Make presentations with Markdown