gemoji

Emoji images and names.

Github stars Tracking Chart

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

Main metrics

Overview
Name With Ownergithub/gemoji
Primary LanguageRuby
Program languageRuby (Language Count: 3)
Platform
License:MIT License
所有者活动
Created At2011-12-14 17:04:35
Pushed At2024-07-22 14:47:03
Last Commit At2024-04-02 10:52:47
Release Count31
Last Release Namev4.1.0 (Posted on )
First Release Namev0.3.0 (Posted on )
用户参与
Stargazers Count4.5k
Watchers Count485
Fork Count789
Commits Count453
Has Issues Enabled
Issues Count81
Issue Open Count6
Pull Requests Count70
Pull Requests Open Count9
Pull Requests Close Count71
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private