Class: DiscourseEmojis::UnicodeEmojiExtractor
- Inherits:
-
Object
- Object
- DiscourseEmojis::UnicodeEmojiExtractor
- Defined in:
- lib/discourse_emojis/unicode_emoji_extractor.rb
Overview
The UnicodeEmojiExtractor 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") ⇒ UnicodeEmojiExtractor
constructor
A new instance of UnicodeEmojiExtractor.
Constructor Details
#initialize(supported_emojis_path: "./dist/emoji_to_name.json") ⇒ UnicodeEmojiExtractor
Returns a new instance of UnicodeEmojiExtractor.
22 23 24 |
# File 'lib/discourse_emojis/unicode_emoji_extractor.rb', line 22 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
26 27 28 29 30 31 32 33 |
# File 'lib/discourse_emojis/unicode_emoji_extractor.rb', line 26 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 |