Skip to content

Global19/gemoji

 
 

gemoji

This library contains character information about native emojis.

Installation

Add gemoji to your Gemfile.

gem '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.

module 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.

>> 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:

emoji = 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:

emoji = 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:

emoji = 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

About

Emoji images and names.

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Ruby 83.9%
  • HTML 10.7%
  • Shell 5.4%