Skip to content

Repository files navigation

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.

moduleEmojiHelperdefemojify(content)h(content).to_str.gsub(/:([\w+-]+):/)do |match|
ifemoji=Emoji.find_by_alias($1)%(<img alt="#$1" src="#{image_path("emoji/#{emoji.image_filename}")}" style="vertical-align:middle" width="20" height="20" />)elsematchendend.html_safeifcontent.present?endend

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"endemoji.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"endemoji.custom?#=> trueemoji.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"endEmoji.find_by_alias"music"#=> emojiEmoji.find_by_unicode"\u{266b}"#=> emoji

About

Emoji images and names.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

4.5k stars

Watchers

459 watching

Forks

Releases

Packages

Used by

Contributors

Languages