Class: DiscourseEmojis::UnicodeEmojiProcessor
- Inherits:
-
Object
- Object
- DiscourseEmojis::UnicodeEmojiProcessor
- Defined in:
- lib/discourse_emojis/unicode_emoji_processor.rb
Overview
The UnicodeEmojiProcessor processes HTML files containing emoji data from the Unicode consortium. It extracts emoji images and their skin tones variations from base64-encoded images in the HTML files and saves them to the appropriate directories in the project’s emoji system.
The extractor handles two types of files:
-
emoji-list.html - Contains base emoji images
-
emoji-modifier-sequences.html - Contains emoji variations (e.g., skin tones)
Constant Summary collapse
- UNICODE_EMOJI_DIR =
"dist/emoji/unicode"- EMOJI_LIST_FILE =
"vendor/emoji-list.html"- EMOJI_MODIFIER_FILE =
"vendor/emoji-modifier-sequences.html"
Instance Method Summary collapse
- #extract_and_save ⇒ Object
-
#initialize(supported_emojis_path: "./dist/emoji_to_name.json") ⇒ UnicodeEmojiProcessor
constructor
A new instance of UnicodeEmojiProcessor.
Constructor Details
#initialize(supported_emojis_path: "./dist/emoji_to_name.json") ⇒ UnicodeEmojiProcessor
Returns a new instance of UnicodeEmojiProcessor.
21 22 23 |
# File 'lib/discourse_emojis/unicode_emoji_processor.rb', line 21 def initialize(supported_emojis_path: "./dist/emoji_to_name.json") @supported_emojis = JSON.parse(File.read(supported_emojis_path)) end |
Instance Method Details
#extract_and_save ⇒ Object
25 26 27 28 29 30 31 32 |
# File 'lib/discourse_emojis/unicode_emoji_processor.rb', line 25 def extract_and_save FileUtils.mkdir_p(UNICODE_EMOJI_DIR) base_emojis = parse_base_emojis variations = parse_modifier_variations save_emojis(base_emojis, variations) end |