lib/reveal-ck/markdown/pre_processor.rb in reveal-ck-3.3.1 vs lib/reveal-ck/markdown/pre_processor.rb in reveal-ck-3.4.0
- old
+ new
@@ -9,111 +9,19 @@
@doc = doc
end
def process
strip_whitespace
- protect_emojis
- add_first_slide_divider_if_needed
- add_last_slide_vertical_if_needed
- add_last_slide_divider_if_needed
- transform_slide_dividers_to_divider_symbols
- transform_slide_verticals_to_vertical_symbols
- @doc.lstrip
+ PreProcessorForEmoji.new(doc).process
+ PreProcessorForDividers.new(doc).process
+ PreProcessorTransforms.new(doc).process
+ doc.lstrip
end
private
def strip_whitespace
- @doc = doc.strip
- end
-
- def protect_emojis
- @doc = doc.gsub(emoji_regex) do |emoji|
- emoji.gsub(/_/, emoji_underscore_symbol)
- end
- end
-
- def add_first_slide_divider_if_needed
- return if doc.start_with?(slide_divider)
- return if doc.start_with?(slide_vertical)
- prepend(slide_divider)
- end
-
- def add_last_slide_divider_if_needed
- return if doc.end_with?(slide_divider)
- return if doc.end_with?(slide_vertical)
- append(slide_divider)
- end
-
- def transform_slide_dividers_to_divider_symbols
- @doc =
- doc.gsub(slide_divider_regex,
- newline_wrapped(divider_symbol))
- end
-
- def transform_slide_verticals_to_vertical_symbols
- count = 0
- @doc = doc.gsub(slide_vertical_regex) do
- count += 1
- if count.odd?
- newline_wrapped(vertical_start_symbol)
- else
- newline_wrapped(vertical_end_symbol)
- end
- end
- end
-
- def add_last_slide_vertical_if_needed
- return unless doc.scan(slide_vertical_regex).size.odd?
- append(slide_vertical)
- end
-
- def emoji_regex
- /:[a-z\d_\-\+]*:/
- end
-
- def slide_divider
- '---'
- end
-
- def slide_divider_regex
- /^---$/
- end
-
- def slide_vertical
- '***'
- end
-
- def slide_vertical_regex
- /^\*\*\*$/
- end
-
- def prepend(s)
- @doc = "#{s}\n#{doc}"
- end
-
- def append(s)
- @doc = "#{doc}\n#{s}"
- end
-
- def newline_wrapped(s)
- "\n#{s}\n"
- end
-
- def emoji_underscore_symbol
- RevealCK::Markdown::REVEALCK_SYMBOL_FOR_EMOJI_UNDERSCORE
- end
-
- def divider_symbol
- RevealCK::Markdown::REVEALCK_SYMBOL_FOR_DIVIDER
- end
-
- def vertical_start_symbol
- RevealCK::Markdown::REVEALCK_SYMBOL_FOR_VERTICAL_START
- end
-
- def vertical_end_symbol
- RevealCK::Markdown::REVEALCK_SYMBOL_FOR_VERTICAL_END
+ doc.strip!
end
end
end
end