Gemoji
Emoji images and names.
This library contains character information about native emojis. The project is written primarily in Ruby, distributed under the MIT License license, first published in 2011. It has gained significant community traction with 4,521 stars and 802 forks on GitHub. Key topics include: emoji, ruby, rubygem, unicode.
gemoji
This library contains character information about native emojis.
Installation
Add gemoji to your Gemfile.
rubygem 'gemoji'
Example Rails Helper
This would allow emojifying content such as: it's raining :cat:s and :dog:s!
See the Emoji cheat sheet for more examples.
rubymodule EmojiHelper def emojify(content) h(content).to_str.gsub(/:([\w+-]+):/) do |match| if emoji = Emoji.find_by_alias($1) %(<img alt="#$1" src="#{image_path("emoji/#{emoji.image_filename}")}" style="vertical-align:middle" width="20" height="20" />) else match end end.html_safe if content.present? end end
Unicode mapping
Translate emoji names to unicode and vice versa.
ruby>> Emoji.find_by_alias("cat").raw => "🐱" # Don't see a cat? That's U+1F431. >> Emoji.find_by_unicode("\u{1f431}").name => "cat"
Adding new emoji
You can add new emoji characters to the Emoji.all list:
rubyemoji = Emoji.create("music") do |char| char.add_alias "song" char.add_unicode_alias "\u{266b}" char.add_tag "notes" end emoji.name #=> "music" emoji.raw #=> "♫" emoji.image_filename #=> "unicode/266b.png" # Creating custom emoji (no Unicode aliases): emoji = Emoji.create("music") do |char| char.add_tag "notes" end emoji.custom? #=> true emoji.image_filename #=> "music.png"
As you create new emoji, you must ensure that you also create and put the images
they reference by their image_filename to your assets directory.
You can customize image_filename with:
rubyemoji = Emoji.create("music") do |char| char.image_filename = "subdirectory/my_emoji.gif" end
For existing emojis, you can edit the list of aliases or add new tags in an edit block:
rubyemoji = Emoji.find_by_alias "musical_note" Emoji.edit_emoji(emoji) do |char| char.add_alias "music" char.add_unicode_alias "\u{266b}" char.add_tag "notes" end Emoji.find_by_alias "music" #=> emoji Emoji.find_by_unicode "\u{266b}" #=> emoji
Contributors
Showing top 12 contributors by commit count.
