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