forked from fedi/mastodon
e2685ccc81
- Use unicode when selecting emoji through picker - Convert shortcodes to unicode when storing text input server-side - Do not convert shortcodes in JS anymore
20 lines
400 B
Ruby
20 lines
400 B
Ruby
# frozen_string_literal: true
|
|
|
|
module EmojiHelper
|
|
EMOJI_PATTERN = /(?<=[^[:alnum:]:]|\n|^):([\w+-]+):(?=[^[:alnum:]:]|$)/x
|
|
|
|
def emojify(text)
|
|
return text if text.blank?
|
|
|
|
text.gsub(EMOJI_PATTERN) do |match|
|
|
emoji = Emoji.find_by_alias($1) # rubocop:disable Rails/DynamicFindBy,Style/PerlBackrefs
|
|
|
|
if emoji
|
|
emoji.raw
|
|
else
|
|
match
|
|
end
|
|
end
|
|
end
|
|
end
|