Sha256: 1046709345b15470894d7d42c909003b44ed09115c468f48eedc3f66f576569b
Contents?: true
Size: 1.18 KB
Versions: 3
Compression:
Stored size: 1.18 KB
Contents
module MdEmoji class Render < Redcarpet::Render::HTML def initialize(options={}) @options = options.merge(:no_intra_emphasis => true) super @options end def paragraph(text) text.gsub!("\n", "<br>\n") if @options[:hard_wrap] "<p>#{replace_emoji(text)}</p>\n" end def list_item(text, list_type) "<li>#{replace_emoji(text)}</li>" end # Replaces valid emoji characters, ie :smile:, with img tags # # Valid emoji charaters are listed in +MdEmoji::EMOJI+ def replace_emoji(text) text.gsub(/:(\S+):/) do |emoji| emoji_code = emoji #.gsub("|", "_") emoji = emoji_code.gsub(":", "") if MdEmoji::EMOJI.include?(emoji) file_name = "#{emoji.gsub('+', 'plus')}.png" default_size = %{height="20" width="20"} %{<img src="/assets/emojis/#{file_name}" class="emoji" } + %{title="#{emoji_code}" alt="#{emoji_code}" #{default_size}>} else emoji_code end end end private # Returns +true+ if emoji are present in +text+, otherwise returns +false+ def include_emoji?(text) text && text[/:\S+:/] end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
md_emoji-1.0.1 | lib/md_emoji/render.rb |
md_emoji-1.0.0 | lib/md_emoji/render.rb |
md_emoji-0.0.8 | lib/md_emoji/render.rb |