lib/reveal-ck/markdown/pre_processor.rb in reveal-ck-0.6.0 vs lib/reveal-ck/markdown/pre_processor.rb in reveal-ck-0.6.1

- old
+ new

@@ -9,10 +9,11 @@ @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 @@ -23,10 +24,16 @@ 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 @@ -58,10 +65,14 @@ 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 @@ -84,9 +95,13 @@ @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