reveal-ck 3.3.1 → 3.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.
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