reveal-ck 3.3.1 → 3.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: aca8e4f58ee283bcbb087b5e1c2571581dc18ec8
4
- data.tar.gz: d22da14cd95eb95b499456e4b2666426fb57d3d5
3
+ metadata.gz: 5abc61d7b21417c0840e9f633b5d4331f112667f
4
+ data.tar.gz: 9091ea11615acc60b96eb4ca7dde87186056b7de
5
5
  SHA512:
6
- metadata.gz: 0ad11d5536cc9f1edbe489ac2f7c27208d836379e75d76686497ca9e92f94ec700b81daf7c078464ffc175031feb1c758619c2bf5f227c70dcc2cd1d17ff4643
7
- data.tar.gz: 98a08d2e1b0a5ac2acde9552459dff3cdaddb7052a4cb1224c751427ecabcb33a48a7fcbdb4010fc6ba34c91ab5f3d199407a900407f04a29a780eb636ddf044
6
+ metadata.gz: 8be33144aab193ddd52aacf0db6f923b318e0f21b1f9f9cf348bbaf86ac26bc4a1224811f3daa9715ab69d982dc57da2c34f6a7cc2ed6c40fdc5e6a5022352ca
7
+ data.tar.gz: 0056e09318624ac5c94efd88d1cf9decf9a6d1df063c0956b2aca1c72e4e51dd76014bff3af526e732148bf2a6a45335c24f29f21360f1d1d87ad63413709986
data/README.md CHANGED
@@ -66,4 +66,6 @@ like to [ask a question or log a bug please do so][new-issue]!
66
66
  [![Test Coverage](https://codeclimate.com/github/jedcn/reveal-ck/badges/coverage.svg)](https://codeclimate.com/github/jedcn/reveal-ck)
67
67
 
68
68
  If you're a ruby developer and you want to get going with local
69
- development, please see [CONTRIBUTING.md](CONTRIBUTING.md).
69
+ development, please see [.github/CONTRIBUTING.md][CONTRIBUTING.md].
70
+
71
+ [CONTRIBUTING.md]: .github/CONTRIBUTING.md
@@ -51,7 +51,7 @@ module RevealCK
51
51
 
52
52
  def get_classes_from_array(array_of_names)
53
53
  array_of_names.map do |name|
54
- name.split('::').reduce(Object) { |a, e| a.const_get(e) }
54
+ name.split('::').reduce(Object) { |acc, elem| acc.const_get(elem) }
55
55
  end
56
56
  end
57
57
  end
@@ -16,6 +16,7 @@ module RevealCK
16
16
  Rack::Server.new(app: build_rack_app(doc_root),
17
17
  Port: port,
18
18
  Logger: server_log,
19
+ DoNotReverseLookup: true,
19
20
  AccessLog: access_log).start
20
21
  end
21
22
 
@@ -17,7 +17,7 @@ module RevealCK
17
17
  def defaults
18
18
  [core_defaults,
19
19
  revealjs_config_defaults,
20
- filter_defaults].reduce({}) { |a, e| a.merge(e) }
20
+ filter_defaults].reduce({}) { |acc, elem| acc.merge(elem) }
21
21
  end
22
22
 
23
23
  def core_defaults
@@ -1,15 +1,19 @@
1
1
  module RevealCK
2
- # This module defines how reveal-ck works with redcarpet to produce
2
+ # This module defines how reveal-ck works with kramdown to produce
3
3
  # slides from markdown.
4
4
  module Markdown
5
5
  REVEALCK_SYMBOL_FOR_DIVIDER = '<div>DIVIDER</div>'.freeze
6
+ REVEALCK_SYMBOL_FOR_NOTES_OPEN = '<div>NOTES_OPEN</div>'.freeze
7
+ REVEALCK_SYMBOL_FOR_NOTES_CLOSE = '<div>NOTES_CLOSE</div>'.freeze
6
8
  REVEALCK_SYMBOL_FOR_VERTICAL_START = '<div>VERTICAL_START</div>'.freeze
7
9
  REVEALCK_SYMBOL_FOR_VERTICAL_END = '<div>VERTICAL_END</div>'.freeze
8
10
  REVEALCK_SYMBOL_FOR_EMOJI_UNDERSCORE = 'EU'.freeze
9
11
  end
10
12
  end
11
13
 
12
- require_relative 'markdown/slide_markdown'
14
+ require_relative 'markdown/pre_processor_for_emoji'
15
+ require_relative 'markdown/pre_processor_for_dividers'
16
+ require_relative 'markdown/pre_processor_transforms'
13
17
  require_relative 'markdown/pre_processor'
14
18
  require_relative 'markdown/post_processor'
15
19
  require_relative 'markdown/slide_markdown_template'
@@ -15,6 +15,7 @@ module RevealCK
15
15
  handle_start
16
16
  handle_end
17
17
  transform_symbols_to_sections
18
+ transform_notes_symbols_to_asides
18
19
  end
19
20
 
20
21
  private
@@ -59,6 +60,12 @@ module RevealCK
59
60
  replace(vertical_end_symbol, vertical_end)
60
61
  end
61
62
 
63
+ def transform_notes_symbols_to_asides
64
+ replace(RevealCK::Markdown::REVEALCK_SYMBOL_FOR_NOTES_OPEN,
65
+ '<aside class="notes">')
66
+ replace(RevealCK::Markdown::REVEALCK_SYMBOL_FOR_NOTES_CLOSE, '</aside>')
67
+ end
68
+
62
69
  def replace(old, new)
63
70
  @doc = doc.gsub(old, new)
64
71
  end
@@ -11,108 +11,16 @@ module RevealCK
11
11
 
12
12
  def process
13
13
  strip_whitespace
14
- protect_emojis
15
- add_first_slide_divider_if_needed
16
- add_last_slide_vertical_if_needed
17
- add_last_slide_divider_if_needed
18
- transform_slide_dividers_to_divider_symbols
19
- transform_slide_verticals_to_vertical_symbols
20
- @doc.lstrip
14
+ PreProcessorForEmoji.new(doc).process
15
+ PreProcessorForDividers.new(doc).process
16
+ PreProcessorTransforms.new(doc).process
17
+ doc.lstrip
21
18
  end
22
19
 
23
20
  private
24
21
 
25
22
  def strip_whitespace
26
- @doc = doc.strip
27
- end
28
-
29
- def protect_emojis
30
- @doc = doc.gsub(emoji_regex) do |emoji|
31
- emoji.gsub(/_/, emoji_underscore_symbol)
32
- end
33
- end
34
-
35
- def add_first_slide_divider_if_needed
36
- return if doc.start_with?(slide_divider)
37
- return if doc.start_with?(slide_vertical)
38
- prepend(slide_divider)
39
- end
40
-
41
- def add_last_slide_divider_if_needed
42
- return if doc.end_with?(slide_divider)
43
- return if doc.end_with?(slide_vertical)
44
- append(slide_divider)
45
- end
46
-
47
- def transform_slide_dividers_to_divider_symbols
48
- @doc =
49
- doc.gsub(slide_divider_regex,
50
- newline_wrapped(divider_symbol))
51
- end
52
-
53
- def transform_slide_verticals_to_vertical_symbols
54
- count = 0
55
- @doc = doc.gsub(slide_vertical_regex) do
56
- count += 1
57
- if count.odd?
58
- newline_wrapped(vertical_start_symbol)
59
- else
60
- newline_wrapped(vertical_end_symbol)
61
- end
62
- end
63
- end
64
-
65
- def add_last_slide_vertical_if_needed
66
- return unless doc.scan(slide_vertical_regex).size.odd?
67
- append(slide_vertical)
68
- end
69
-
70
- def emoji_regex
71
- /:[a-z\d_\-\+]*:/
72
- end
73
-
74
- def slide_divider
75
- '---'
76
- end
77
-
78
- def slide_divider_regex
79
- /^---$/
80
- end
81
-
82
- def slide_vertical
83
- '***'
84
- end
85
-
86
- def slide_vertical_regex
87
- /^\*\*\*$/
88
- end
89
-
90
- def prepend(s)
91
- @doc = "#{s}\n#{doc}"
92
- end
93
-
94
- def append(s)
95
- @doc = "#{doc}\n#{s}"
96
- end
97
-
98
- def newline_wrapped(s)
99
- "\n#{s}\n"
100
- end
101
-
102
- def emoji_underscore_symbol
103
- RevealCK::Markdown::REVEALCK_SYMBOL_FOR_EMOJI_UNDERSCORE
104
- end
105
-
106
- def divider_symbol
107
- RevealCK::Markdown::REVEALCK_SYMBOL_FOR_DIVIDER
108
- end
109
-
110
- def vertical_start_symbol
111
- RevealCK::Markdown::REVEALCK_SYMBOL_FOR_VERTICAL_START
112
- end
113
-
114
- def vertical_end_symbol
115
- RevealCK::Markdown::REVEALCK_SYMBOL_FOR_VERTICAL_END
23
+ doc.strip!
116
24
  end
117
25
  end
118
26
  end
@@ -0,0 +1,58 @@
1
+ module RevealCK
2
+ module Markdown
3
+ # This class embodies the preprocessing that starts with a
4
+ # traditional Markdown document and turns it into something that
5
+ # can later "become" reveal.js slides.
6
+ class PreProcessorForDividers
7
+ attr_reader :doc
8
+ def initialize(doc)
9
+ @doc = doc
10
+ end
11
+
12
+ def process
13
+ add_first_slide_divider_if_needed
14
+ add_last_slide_vertical_if_needed
15
+ add_last_slide_divider_if_needed
16
+ end
17
+
18
+ private
19
+
20
+ def add_first_slide_divider_if_needed
21
+ return if doc.start_with?(slide_divider)
22
+ return if doc.start_with?(slide_vertical)
23
+ prepend(slide_divider)
24
+ end
25
+
26
+ def add_last_slide_divider_if_needed
27
+ return if doc.end_with?(slide_divider)
28
+ return if doc.end_with?(slide_vertical)
29
+ append(slide_divider)
30
+ end
31
+
32
+ def add_last_slide_vertical_if_needed
33
+ return unless doc.scan(slide_vertical_regex).size.odd?
34
+ append(slide_vertical)
35
+ end
36
+
37
+ def slide_divider
38
+ '---'
39
+ end
40
+
41
+ def slide_vertical
42
+ '***'
43
+ end
44
+
45
+ def slide_vertical_regex
46
+ /^\*\*\*$/
47
+ end
48
+
49
+ def prepend(s)
50
+ doc.insert(0, "#{s}\n")
51
+ end
52
+
53
+ def append(s)
54
+ doc.insert(doc.size, "\n#{s}")
55
+ end
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,32 @@
1
+ module RevealCK
2
+ module Markdown
3
+ # This class knows how to modify emoji so that underscores within
4
+ # emoji are not considered as indicators of markdown emphasis.
5
+ class PreProcessorForEmoji
6
+ attr_reader :doc
7
+ def initialize(doc)
8
+ @doc = doc
9
+ end
10
+
11
+ def process
12
+ protect_emojis
13
+ end
14
+
15
+ private
16
+
17
+ def protect_emojis
18
+ doc.gsub!(emoji_regex) do |emoji|
19
+ emoji.gsub(/_/, emoji_underscore_symbol)
20
+ end
21
+ end
22
+
23
+ def emoji_regex
24
+ /:[a-z\d_\-\+]*:/
25
+ end
26
+
27
+ def emoji_underscore_symbol
28
+ RevealCK::Markdown::REVEALCK_SYMBOL_FOR_EMOJI_UNDERSCORE
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,110 @@
1
+ module RevealCK
2
+ module Markdown
3
+ # This class gives special meaning to legitimate markdown within
4
+ # slides. This "slides markdown" is transformed into symbols that
5
+ # are not markdown. Later on these will be transformed into HTML
6
+ # meanings.
7
+ #
8
+ # For example,
9
+ #
10
+ # * --- becomes <div>DIVIDER</div>
11
+ # * ```notes becomes <div>NOTES_OPEN</div>
12
+ #
13
+ class PreProcessorTransforms
14
+ attr_reader :doc
15
+ def initialize(doc)
16
+ @doc = doc
17
+ end
18
+
19
+ def process
20
+ transform_slide_notes_to_notes_symbols
21
+ transform_slide_dividers_to_divider_symbols
22
+ transform_slide_verticals_to_vertical_symbols
23
+ end
24
+
25
+ private
26
+
27
+ def transform_slide_notes_to_notes_symbols
28
+ match = find_next_notes_match(0)
29
+ while match
30
+ match_start = match.offset(0)[0]
31
+ match_end = match.offset(0)[1]
32
+ replace_notes_open_with_symbol(match_start, match_end - match_start)
33
+ close_start = find_next_notes_close(match_start)
34
+ replace_notes_close_with_symbol(close_start) if close_start
35
+ match = find_next_notes_match(match_start)
36
+ end
37
+ end
38
+
39
+ def find_next_notes_match(current)
40
+ doc.match(slide_notes_regex, current)
41
+ end
42
+
43
+ def find_next_notes_close(current)
44
+ doc.index('```', current)
45
+ end
46
+
47
+ def replace_notes_open_with_symbol(start, length)
48
+ doc.slice!(start, length)
49
+ doc.insert(start, notes_open_symbol)
50
+ end
51
+
52
+ def replace_notes_close_with_symbol(start)
53
+ doc.slice!(start, 3)
54
+ doc.insert(start, notes_close_symbol)
55
+ end
56
+
57
+ def transform_slide_dividers_to_divider_symbols
58
+ doc.gsub!(slide_divider_regex, divider_symbol)
59
+ end
60
+
61
+ def transform_slide_verticals_to_vertical_symbols
62
+ count = 0
63
+ doc.gsub!(slide_vertical_regex) do
64
+ count += 1
65
+ if count.odd?
66
+ vertical_start_symbol
67
+ else
68
+ vertical_end_symbol
69
+ end
70
+ end
71
+ end
72
+
73
+ def slide_notes_regex
74
+ /^```notes?$/
75
+ end
76
+
77
+ def slide_divider_regex
78
+ /^---$/
79
+ end
80
+
81
+ def slide_vertical_regex
82
+ /^\*\*\*$/
83
+ end
84
+
85
+ def newline_wrapped(s)
86
+ "\n#{s}\n"
87
+ end
88
+
89
+ def notes_open_symbol
90
+ newline_wrapped(RevealCK::Markdown::REVEALCK_SYMBOL_FOR_NOTES_OPEN)
91
+ end
92
+
93
+ def notes_close_symbol
94
+ newline_wrapped(RevealCK::Markdown::REVEALCK_SYMBOL_FOR_NOTES_CLOSE)
95
+ end
96
+
97
+ def divider_symbol
98
+ newline_wrapped(RevealCK::Markdown::REVEALCK_SYMBOL_FOR_DIVIDER)
99
+ end
100
+
101
+ def vertical_start_symbol
102
+ newline_wrapped(RevealCK::Markdown::REVEALCK_SYMBOL_FOR_VERTICAL_START)
103
+ end
104
+
105
+ def vertical_end_symbol
106
+ newline_wrapped(RevealCK::Markdown::REVEALCK_SYMBOL_FOR_VERTICAL_END)
107
+ end
108
+ end
109
+ end
110
+ end
@@ -1,25 +1,37 @@
1
1
  require 'tilt/template'
2
+ require 'kramdown'
2
3
 
3
4
  module RevealCK
4
5
  module Markdown
5
6
  #
6
- # Public: This class allows SlideMarkdown to hook into Tilt 2.0. See
7
+ # Public: This class allows Kramdown to hook into Tilt 2.0. See
7
8
  # https://github.com/rtomayko/tilt.
8
9
  #
9
10
  class SlideMarkdownTemplate < ::Tilt::Template
10
11
  # Must be implemented by all subclasses of Tilt::Template
11
- def prepare
12
+ def prepare; end
13
+
14
+ def pre_process(input)
15
+ PreProcessor.new(input).process
16
+ end
17
+
18
+ def post_process(input)
19
+ PostProcessor.new(input).process
20
+ end
21
+
22
+ def kramdown_options
23
+ {
24
+ auto_ids: false,
25
+ input: 'GFM',
26
+ syntax_highlighter: nil
27
+ }
12
28
  end
13
29
 
14
30
  def evaluate(*)
15
- markdown = Redcarpet::Markdown.new(
16
- SlideMarkdown,
17
- fenced_code_blocks: true,
18
- tables: true,
19
- strikethrough: true,
20
- highlight: true
21
- )
22
- @output = markdown.render(data)
31
+ pre_process_result = pre_process(data)
32
+ kramdown_result =
33
+ Kramdown::Document.new(pre_process_result, kramdown_options).to_html
34
+ post_process(kramdown_result)
23
35
  end
24
36
  end
25
37
  end
@@ -1,4 +1,4 @@
1
1
  # RevealCK::VERSION is the current version of reveal-ck
2
2
  module RevealCK
3
- VERSION = '3.3.1'.freeze
3
+ VERSION = '3.4.0'.freeze
4
4
  end
@@ -84,42 +84,6 @@ module RevealCK
84
84
  expect_new_and_run(RevealCK::Commands::StartWebServer)
85
85
  build_serve.run
86
86
  end
87
-
88
- it 'actually listens for file system changes' do
89
- serve_ui = double
90
- allow(ServeUI)
91
- .to(receive(:new))
92
- .and_return(serve_ui)
93
- allow(serve_ui)
94
- .to(receive(:message))
95
-
96
- Dir.mktmpdir do |dir|
97
- Dir.chdir(dir) do
98
- print_banner = double
99
- allow(PrintBanner)
100
- .to(receive(:new))
101
- .and_return(print_banner)
102
- allow(print_banner)
103
- .to(receive(:run))
104
-
105
- # Don't stub out ListenToRebuildSlides
106
- allow_new_and_run(RevealCK::Commands::ListenToReloadBrowser)
107
- allow_new_and_run(RevealCK::Commands::StartWebServer)
108
-
109
- serve = build_serve
110
- serve.run
111
- expect(serve)
112
- .to(receive(:rebuild_slides))
113
- File.open('slides.md', 'w') do |file|
114
- file.puts('Slides')
115
- end
116
- # Creating the file will trigger the call back. But need
117
- # to wait else the expecation of :rebuild_slides will
118
- # fail-- it's not instantaneous
119
- sleep 0.5
120
- end
121
- end
122
- end
123
87
  end
124
88
  end
125
89
  end
@@ -17,6 +17,34 @@ module RevealCK
17
17
  expect(output).to include ':non-potable_water:'
18
18
  end
19
19
 
20
+ context 'handling notes' do
21
+ let :transformed_notes do
22
+ <<-eos
23
+ <div>DIVIDER</div>
24
+
25
+
26
+ <div>NOTES_OPEN</div>
27
+
28
+ This is a note
29
+
30
+ <div>NOTES_CLOSE</div>
31
+
32
+
33
+ <div>DIVIDER</div>
34
+ eos
35
+ end
36
+
37
+ it 'translates <div>NOTES_OPEN</div> into <aside class="notes">' do
38
+ output = PostProcessor.new(transformed_notes).process
39
+ expect(output).to include "\n<aside class=\"notes\">\n"
40
+ end
41
+
42
+ it 'translates <div>NOTES_CLOSE</div> into </aside>' do
43
+ output = PostProcessor.new(transformed_notes).process
44
+ expect(output).to include "\n</aside>\n"
45
+ end
46
+ end
47
+
20
48
  context 'without vertical slides' do
21
49
  let :three_slide_input do
22
50
  <<-eos
@@ -3,6 +3,60 @@ require 'spec_helper'
3
3
  module RevealCK
4
4
  module Markdown
5
5
  describe PreProcessor do
6
+ describe 'handling ```notes' do
7
+ let :notes_input do
8
+ <<-eos
9
+ ```notes
10
+ This is a note
11
+ ```
12
+ eos
13
+ end
14
+
15
+ let :note_input do
16
+ <<-eos
17
+ ```note
18
+ This is a note
19
+ ```
20
+ eos
21
+ end
22
+
23
+ let :transformed_notes do
24
+ <<-eos
25
+ <div>DIVIDER</div>
26
+
27
+
28
+ <div>NOTES_OPEN</div>
29
+
30
+ This is a note
31
+
32
+ <div>NOTES_CLOSE</div>
33
+
34
+
35
+ <div>DIVIDER</div>
36
+ eos
37
+ end
38
+
39
+ it 'transforms ```notes into <div>NOTES_OPEN</div>' do
40
+ output = PreProcessor.new(notes_input).process
41
+ expect(output).to include '<div>NOTES_OPEN</div>'
42
+ end
43
+
44
+ it 'transforms ```note into <div>NOTES_OPEN</div>' do
45
+ output = PreProcessor.new(note_input).process
46
+ expect(output).to include '<div>NOTES_OPEN</div>'
47
+ end
48
+
49
+ it 'transforms the trailing ``` into <div>NOTES_CLOSE</div>' do
50
+ output = PreProcessor.new(note_input).process
51
+ expect(output).to include '<div>NOTES_CLOSE</div>'
52
+ end
53
+
54
+ it 'transforms both open and close and adds some newlines' do
55
+ output = PreProcessor.new(notes_input).process
56
+ expect(output).to eq transformed_notes
57
+ end
58
+ end
59
+
6
60
  it 'protects _s within emoji by turning them into a temporary token' do
7
61
  input = ':money_with_wings:'
8
62
  output = PreProcessor.new(input).process
@@ -57,40 +57,20 @@ eos
57
57
  eos
58
58
  expect(output).to include '<pre><code>'
59
59
  expect(output).to include '</code></pre>'
60
- expect(output).to include '&lt;p&gt;&quot;&amp;&quot;&lt;/p&gt;'
60
+ expect(output).to include '&lt;p&gt;"&amp;"&lt;/p&gt;'
61
61
  end
62
62
 
63
- it 'wraps ```ruby code in a <pre> and <code class="ruby">' do
63
+ it 'wraps ```ruby code in a <pre> and <code class="language-ruby">' do
64
64
  output = render_markdown <<-eos
65
65
  ```ruby
66
66
  def adder(a, b); a + b; end
67
67
  ```
68
68
  eos
69
- expect(output).to include '<pre><code class="ruby">'
69
+ expect(output).to include '<pre><code class="language-ruby">'
70
70
  expect(output).to include '</code></pre>'
71
71
  expect(output).to include 'a + b'
72
72
  end
73
73
 
74
- it 'creates an <aside class="notes"> when it sees a ```notes' do
75
- output = render_markdown <<-eos
76
- ```notes
77
- This is a note
78
- ```
79
- eos
80
- expect(output).to include "<aside class='notes'"
81
- expect(output).to include 'This is a note'
82
- end
83
-
84
- it 'creates an <aside class="notes"> when it sees a ```note' do
85
- output = render_markdown <<-eos
86
- ```note
87
- This is a note
88
- ```
89
- eos
90
- expect(output).to include "<aside class='notes'"
91
- expect(output).to include 'This is a note'
92
- end
93
-
94
74
  it 'works when there is no space surrounding the ---' do
95
75
  output = render_markdown <<-eos
96
76
  # Your headline
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: reveal-ck
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.3.1
4
+ version: 3.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jed Northridge
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-06-04 00:00:00.000000000 Z
11
+ date: 2016-12-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: docile
@@ -108,6 +108,20 @@ dependencies:
108
108
  - - '='
109
109
  - !ruby/object:Gem::Version
110
110
  version: 2.1.0
111
+ - !ruby/object:Gem::Dependency
112
+ name: kramdown
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - '='
116
+ - !ruby/object:Gem::Version
117
+ version: 1.13.1
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - '='
123
+ - !ruby/object:Gem::Version
124
+ version: 1.13.1
111
125
  - !ruby/object:Gem::Dependency
112
126
  name: listen
113
127
  requirement: !ruby/object:Gem::Requirement
@@ -165,61 +179,61 @@ dependencies:
165
179
  - !ruby/object:Gem::Version
166
180
  version: 10.4.2
167
181
  - !ruby/object:Gem::Dependency
168
- name: redcarpet
182
+ name: rinku
169
183
  requirement: !ruby/object:Gem::Requirement
170
184
  requirements:
171
185
  - - '='
172
186
  - !ruby/object:Gem::Version
173
- version: 3.3.2
187
+ version: 1.7.3
174
188
  type: :runtime
175
189
  prerelease: false
176
190
  version_requirements: !ruby/object:Gem::Requirement
177
191
  requirements:
178
192
  - - '='
179
193
  - !ruby/object:Gem::Version
180
- version: 3.3.2
194
+ version: 1.7.3
181
195
  - !ruby/object:Gem::Dependency
182
- name: rinku
196
+ name: slim
183
197
  requirement: !ruby/object:Gem::Requirement
184
198
  requirements:
185
199
  - - '='
186
200
  - !ruby/object:Gem::Version
187
- version: 1.7.3
201
+ version: 3.0.6
188
202
  type: :runtime
189
203
  prerelease: false
190
204
  version_requirements: !ruby/object:Gem::Requirement
191
205
  requirements:
192
206
  - - '='
193
207
  - !ruby/object:Gem::Version
194
- version: 1.7.3
208
+ version: 3.0.6
195
209
  - !ruby/object:Gem::Dependency
196
- name: slim
210
+ name: tilt
197
211
  requirement: !ruby/object:Gem::Requirement
198
212
  requirements:
199
213
  - - '='
200
214
  - !ruby/object:Gem::Version
201
- version: 3.0.6
215
+ version: 2.0.1
202
216
  type: :runtime
203
217
  prerelease: false
204
218
  version_requirements: !ruby/object:Gem::Requirement
205
219
  requirements:
206
220
  - - '='
207
221
  - !ruby/object:Gem::Version
208
- version: 3.0.6
222
+ version: 2.0.1
209
223
  - !ruby/object:Gem::Dependency
210
- name: tilt
224
+ name: thor
211
225
  requirement: !ruby/object:Gem::Requirement
212
226
  requirements:
213
227
  - - '='
214
228
  - !ruby/object:Gem::Version
215
- version: 2.0.1
229
+ version: 0.19.1
216
230
  type: :runtime
217
231
  prerelease: false
218
232
  version_requirements: !ruby/object:Gem::Requirement
219
233
  requirements:
220
234
  - - '='
221
235
  - !ruby/object:Gem::Version
222
- version: 2.0.1
236
+ version: 0.19.1
223
237
  - !ruby/object:Gem::Dependency
224
238
  name: aruba
225
239
  requirement: !ruby/object:Gem::Requirement
@@ -489,7 +503,9 @@ files:
489
503
  - lib/reveal-ck/markdown.rb
490
504
  - lib/reveal-ck/markdown/post_processor.rb
491
505
  - lib/reveal-ck/markdown/pre_processor.rb
492
- - lib/reveal-ck/markdown/slide_markdown.rb
506
+ - lib/reveal-ck/markdown/pre_processor_for_dividers.rb
507
+ - lib/reveal-ck/markdown/pre_processor_for_emoji.rb
508
+ - lib/reveal-ck/markdown/pre_processor_transforms.rb
493
509
  - lib/reveal-ck/markdown/slide_markdown_template.rb
494
510
  - lib/reveal-ck/misc.rb
495
511
  - lib/reveal-ck/misc/remove_extension.rb
@@ -554,7 +570,6 @@ files:
554
570
  - spec/lib/reveal-ck/config_spec.rb
555
571
  - spec/lib/reveal-ck/markdown/post_processor_spec.rb
556
572
  - spec/lib/reveal-ck/markdown/pre_processor_spec.rb
557
- - spec/lib/reveal-ck/markdown/slide_markdown_spec.rb
558
573
  - spec/lib/reveal-ck/markdown/slide_markdown_template_spec.rb
559
574
  - spec/lib/reveal-ck/misc/remove_extension_spec.rb
560
575
  - spec/lib/reveal-ck/presentation_dsl_spec.rb
@@ -635,7 +650,6 @@ test_files:
635
650
  - spec/lib/reveal-ck/config_spec.rb
636
651
  - spec/lib/reveal-ck/markdown/post_processor_spec.rb
637
652
  - spec/lib/reveal-ck/markdown/pre_processor_spec.rb
638
- - spec/lib/reveal-ck/markdown/slide_markdown_spec.rb
639
653
  - spec/lib/reveal-ck/markdown/slide_markdown_template_spec.rb
640
654
  - spec/lib/reveal-ck/misc/remove_extension_spec.rb
641
655
  - spec/lib/reveal-ck/presentation_dsl_spec.rb
@@ -1,28 +0,0 @@
1
- require 'cgi'
2
- require 'redcarpet'
3
-
4
- module RevealCK
5
- module Markdown
6
- # This class defines what "Slide Markdown" is.
7
- class SlideMarkdown < Redcarpet::Render::HTML
8
- def preprocess(doc)
9
- PreProcessor.new(doc).process
10
- end
11
-
12
- def postprocess(doc)
13
- PostProcessor.new(doc).process
14
- end
15
-
16
- def block_code(code, language)
17
- escaped = CGI.escape_html(code)
18
- if language.nil?
19
- "<pre><code>#{escaped}</code></pre>"
20
- elsif language == 'notes' || language == 'note'
21
- "<aside class='notes'>#{escaped}</aside>"
22
- else
23
- "<pre><code class=\"#{language}\">#{escaped}</code></pre>"
24
- end
25
- end
26
- end
27
- end
28
- end
@@ -1,8 +0,0 @@
1
- require 'spec_helper'
2
-
3
- module RevealCK
4
- module Markdown
5
- describe SlideMarkdown do
6
- end
7
- end
8
- end