diff --git a/lib/tasks/emojis.rake b/lib/tasks/emojis.rake index 8faa48a95b3..d9db7994027 100644 --- a/lib/tasks/emojis.rake +++ b/lib/tasks/emojis.rake @@ -1,6 +1,6 @@ # frozen_string_literal: true -def gen_border(codepoint) +def gen_border(codepoint, color) input = Rails.root.join('public', 'emoji', "#{codepoint}.svg") dest = Rails.root.join('public', 'emoji', "#{codepoint}_border.svg") doc = File.open(input) { |f| Nokogiri::XML(f) } @@ -19,7 +19,7 @@ def gen_border(codepoint) border_elem.delete('fill') - border_elem['stroke'] = 'white' + border_elem['stroke'] = color border_elem['stroke-linejoin'] = 'round' border_elem['stroke-width'] = '4px' @@ -91,12 +91,16 @@ namespace :emojis do desc 'Generate emoji variants with white borders' task :generate_borders do src = Rails.root.join('app', 'javascript', 'mastodon', 'features', 'emoji', 'emoji_map.json') - emojis = '🎱🐜âšĢ🖤âŦ›â—ŧī¸â—žâ—ŧī¸âœ’ī¸â–Ēī¸đŸ’ŖđŸŽŗ📷📸â™Ŗī¸đŸ•ļī¸âœ´ī¸đŸ”ŒđŸ’‚‍♀ī¸đŸ“Ŋī¸đŸŗđŸĻđŸ’‚đŸ”ĒđŸ•ŗī¸đŸ•šī¸đŸ•‹đŸ–Šī¸đŸ–‹ī¸đŸ’‚‍♂ī¸đŸŽ¤đŸŽ“đŸŽĨđŸŽŧ♠ī¸đŸŽŠđŸĻƒđŸ“ŧ📹🎮🐃🏴🐞đŸ•ē📱📲🚲đŸ‘Ŋ⚾🐔☁ī¸đŸ’¨đŸ•Šī¸đŸ‘€đŸĨđŸ‘ģ🐐❕❔⛸ī¸đŸŒŠī¸đŸ”ŠđŸ”‡đŸ“ƒđŸŒ§ī¸đŸđŸšđŸ™đŸ“đŸ‘đŸ’€â˜ ī¸đŸŒ¨ī¸đŸ”‰đŸ”ˆđŸ’Ŧ💭🏐đŸŗī¸âšĒâŦœâ—Ŋâ—ģī¸â–Ģī¸' + emojis_light = 'đŸ‘Ŋ⚾🐔☁ī¸đŸ’¨đŸ•Šī¸đŸ‘€đŸĨđŸ‘ģ🐐❕❔⛸ī¸đŸŒŠī¸đŸ”ŠđŸ”‡đŸ“ƒđŸŒ§ī¸đŸđŸšđŸ™đŸ“đŸ‘đŸ’€â˜ ī¸đŸŒ¨ī¸đŸ”‰đŸ”ˆđŸ’Ŧ💭🏐đŸŗī¸âšĒâŦœâ—Ŋâ—ģī¸â–Ģī¸' + emojis_dark = '🎱🐜âšĢ🖤âŦ›â—ŧī¸â—žâ—ŧī¸âœ’ī¸â–Ēī¸đŸ’ŖđŸŽŗ📷📸â™Ŗī¸đŸ•ļī¸âœ´ī¸đŸ”ŒđŸ’‚‍♀ī¸đŸ“Ŋī¸đŸŗđŸĻđŸ’‚đŸ”ĒđŸ•ŗī¸đŸ•šī¸đŸ•‹đŸ–Šī¸đŸ–‹ī¸đŸ’‚‍♂ī¸đŸŽ¤đŸŽ“đŸŽĨđŸŽŧ♠ī¸đŸŽŠđŸĻƒđŸ“ŧ📹🎮🐃🏴🐞đŸ•ē📱📲🚲' map = Oj.load(File.read(src)) - emojis.each_grapheme_cluster do |emoji| - gen_border map[emoji] + emojis_light.each_grapheme_cluster do |emoji| + gen_border map[emoji], 'black' + end + emojis_dark.each_grapheme_cluster do |emoji| + gen_border map[emoji], 'white' end end end diff --git a/public/emoji/1f327_border.svg b/public/emoji/1f327_border.svg index 3298c8f872a..76776b04af4 100644 --- a/public/emoji/1f327_border.svg +++ b/public/emoji/1f327_border.svg @@ -1,8 +1,8 @@ - - + + diff --git a/public/emoji/1f328_border.svg b/public/emoji/1f328_border.svg index 254dc90de1d..1ec2748de6b 100644 --- a/public/emoji/1f328_border.svg +++ b/public/emoji/1f328_border.svg @@ -1,8 +1,8 @@ - - + + diff --git a/public/emoji/1f329_border.svg b/public/emoji/1f329_border.svg index 05c662ac420..ad0cef99889 100644 --- a/public/emoji/1f329_border.svg +++ b/public/emoji/1f329_border.svg @@ -1,8 +1,8 @@ - - + + diff --git a/public/emoji/1f359_border.svg b/public/emoji/1f359_border.svg index 6541681d843..d915010a6db 100644 --- a/public/emoji/1f359_border.svg +++ b/public/emoji/1f359_border.svg @@ -1,9 +1,9 @@ - - - + + + diff --git a/public/emoji/1f35a_border.svg b/public/emoji/1f35a_border.svg index d6621c59043..90e4e652ff2 100644 --- a/public/emoji/1f35a_border.svg +++ b/public/emoji/1f35a_border.svg @@ -1,10 +1,10 @@ - - - - + + + + diff --git a/public/emoji/1f365_border.svg b/public/emoji/1f365_border.svg index 278cebd4303..5e25f2ff9a3 100644 --- a/public/emoji/1f365_border.svg +++ b/public/emoji/1f365_border.svg @@ -1,8 +1,8 @@ - - + + diff --git a/public/emoji/1f3d0_border.svg b/public/emoji/1f3d0_border.svg index c1804f2cb81..f0127342ae8 100644 --- a/public/emoji/1f3d0_border.svg +++ b/public/emoji/1f3d0_border.svg @@ -1,8 +1,8 @@ - - + + diff --git a/public/emoji/1f3f3_border.svg b/public/emoji/1f3f3_border.svg index e7d03583bc3..e059cd378be 100644 --- a/public/emoji/1f3f3_border.svg +++ b/public/emoji/1f3f3_border.svg @@ -1,11 +1,11 @@ - - - - - + + + + + diff --git a/public/emoji/1f40f_border.svg b/public/emoji/1f40f_border.svg index fb4bbcfb384..72526503fc3 100644 --- a/public/emoji/1f40f_border.svg +++ b/public/emoji/1f40f_border.svg @@ -1,15 +1,15 @@ - - - - - - - - - + + + + + + + + + diff --git a/public/emoji/1f410_border.svg b/public/emoji/1f410_border.svg index 7a36382b5f6..d1463386ca7 100644 --- a/public/emoji/1f410_border.svg +++ b/public/emoji/1f410_border.svg @@ -1,11 +1,11 @@ - - - - - + + + + + diff --git a/public/emoji/1f411_border.svg b/public/emoji/1f411_border.svg index dc4ddeb0877..8455c601e43 100644 --- a/public/emoji/1f411_border.svg +++ b/public/emoji/1f411_border.svg @@ -1,10 +1,10 @@ - - - - + + + + diff --git a/public/emoji/1f413_border.svg b/public/emoji/1f413_border.svg index 3391490dff0..bc9c69bba89 100644 --- a/public/emoji/1f413_border.svg +++ b/public/emoji/1f413_border.svg @@ -1,10 +1,10 @@ - - - - + + + + diff --git a/public/emoji/1f414_border.svg b/public/emoji/1f414_border.svg index ad54bd1b8d7..92d271691d8 100644 --- a/public/emoji/1f414_border.svg +++ b/public/emoji/1f414_border.svg @@ -1,13 +1,13 @@ - - - - - - - + + + + + + + diff --git a/public/emoji/1f440_border.svg b/public/emoji/1f440_border.svg index f25c3ca4036..2166dce756b 100644 --- a/public/emoji/1f440_border.svg +++ b/public/emoji/1f440_border.svg @@ -1,16 +1,16 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/public/emoji/1f47b_border.svg b/public/emoji/1f47b_border.svg index 80ac0121517..e317fd9f67f 100644 --- a/public/emoji/1f47b_border.svg +++ b/public/emoji/1f47b_border.svg @@ -1,11 +1,11 @@ - - - - - + + + + + diff --git a/public/emoji/1f47d_border.svg b/public/emoji/1f47d_border.svg index e1d4a54d747..4f346ea6966 100644 --- a/public/emoji/1f47d_border.svg +++ b/public/emoji/1f47d_border.svg @@ -1,8 +1,8 @@ - - + + diff --git a/public/emoji/1f480_border.svg b/public/emoji/1f480_border.svg index 8546f7b00eb..6fa2094586c 100644 --- a/public/emoji/1f480_border.svg +++ b/public/emoji/1f480_border.svg @@ -1,10 +1,10 @@ - - - - + + + + diff --git a/public/emoji/1f4a8_border.svg b/public/emoji/1f4a8_border.svg index c20a5cb3b2d..412c2f8a786 100644 --- a/public/emoji/1f4a8_border.svg +++ b/public/emoji/1f4a8_border.svg @@ -1,7 +1,7 @@ - + diff --git a/public/emoji/1f4ac_border.svg b/public/emoji/1f4ac_border.svg index 3d71232f92b..76f6c0b2695 100644 --- a/public/emoji/1f4ac_border.svg +++ b/public/emoji/1f4ac_border.svg @@ -1,10 +1,10 @@ - - - - + + + + diff --git a/public/emoji/1f4ad_border.svg b/public/emoji/1f4ad_border.svg index c887a7126bf..6ef3370565c 100644 --- a/public/emoji/1f4ad_border.svg +++ b/public/emoji/1f4ad_border.svg @@ -1,8 +1,8 @@ - - + + diff --git a/public/emoji/1f4c3_border.svg b/public/emoji/1f4c3_border.svg index 9e7b562417a..07225c89b43 100644 --- a/public/emoji/1f4c3_border.svg +++ b/public/emoji/1f4c3_border.svg @@ -1,9 +1,9 @@ - - - + + + diff --git a/public/emoji/1f507_border.svg b/public/emoji/1f507_border.svg index cd02481bd03..ba1e4148f0f 100644 --- a/public/emoji/1f507_border.svg +++ b/public/emoji/1f507_border.svg @@ -1,9 +1,9 @@ - - - + + + diff --git a/public/emoji/1f508_border.svg b/public/emoji/1f508_border.svg index c920d89dc36..38ebc878532 100644 --- a/public/emoji/1f508_border.svg +++ b/public/emoji/1f508_border.svg @@ -1,8 +1,8 @@ - - + + diff --git a/public/emoji/1f509_border.svg b/public/emoji/1f509_border.svg index 6881edb3075..7fc2e9a8c3c 100644 --- a/public/emoji/1f509_border.svg +++ b/public/emoji/1f509_border.svg @@ -1,9 +1,9 @@ - - - + + + diff --git a/public/emoji/1f50a_border.svg b/public/emoji/1f50a_border.svg index 549811b6943..0605c4b2fa4 100644 --- a/public/emoji/1f50a_border.svg +++ b/public/emoji/1f50a_border.svg @@ -1,11 +1,11 @@ - - - - - + + + + + diff --git a/public/emoji/1f54a_border.svg b/public/emoji/1f54a_border.svg index 895872f3ec2..ac27cedbdb9 100644 --- a/public/emoji/1f54a_border.svg +++ b/public/emoji/1f54a_border.svg @@ -1,11 +1,11 @@ - - - - - + + + + + diff --git a/public/emoji/25ab_border.svg b/public/emoji/25ab_border.svg index b51e1a9cce8..5ca5b6b608d 100644 --- a/public/emoji/25ab_border.svg +++ b/public/emoji/25ab_border.svg @@ -1,7 +1,7 @@ - + diff --git a/public/emoji/25fb_border.svg b/public/emoji/25fb_border.svg index 24c48e17ac4..f9210fea86f 100644 --- a/public/emoji/25fb_border.svg +++ b/public/emoji/25fb_border.svg @@ -1,7 +1,7 @@ - + diff --git a/public/emoji/25fd_border.svg b/public/emoji/25fd_border.svg index ec727867459..419076b9490 100644 --- a/public/emoji/25fd_border.svg +++ b/public/emoji/25fd_border.svg @@ -1,7 +1,7 @@ - + diff --git a/public/emoji/2601_border.svg b/public/emoji/2601_border.svg index 6ab20d73728..2c4857a0e4e 100644 --- a/public/emoji/2601_border.svg +++ b/public/emoji/2601_border.svg @@ -1,8 +1,8 @@ - - + + diff --git a/public/emoji/2620_border.svg b/public/emoji/2620_border.svg index 8878828be62..d2b94874e6e 100644 --- a/public/emoji/2620_border.svg +++ b/public/emoji/2620_border.svg @@ -1,10 +1,10 @@ - - - - + + + + diff --git a/public/emoji/26aa_border.svg b/public/emoji/26aa_border.svg index d2cac5cad11..38126cc6a53 100644 --- a/public/emoji/26aa_border.svg +++ b/public/emoji/26aa_border.svg @@ -1,7 +1,7 @@ - + diff --git a/public/emoji/26be_border.svg b/public/emoji/26be_border.svg index 25954deac42..96894b0814f 100644 --- a/public/emoji/26be_border.svg +++ b/public/emoji/26be_border.svg @@ -1,9 +1,9 @@ - - - + + + diff --git a/public/emoji/26f8_border.svg b/public/emoji/26f8_border.svg index 0df7ff2ff64..3579451ce21 100644 --- a/public/emoji/26f8_border.svg +++ b/public/emoji/26f8_border.svg @@ -1,11 +1,11 @@ - - - - - + + + + + diff --git a/public/emoji/2754_border.svg b/public/emoji/2754_border.svg index 1d6c4ecda17..c86ae128aac 100644 --- a/public/emoji/2754_border.svg +++ b/public/emoji/2754_border.svg @@ -1,8 +1,8 @@ - - + + diff --git a/public/emoji/2755_border.svg b/public/emoji/2755_border.svg index 65ec57082a7..139c459aeae 100644 --- a/public/emoji/2755_border.svg +++ b/public/emoji/2755_border.svg @@ -1,8 +1,8 @@ - - + + diff --git a/public/emoji/2b1c_border.svg b/public/emoji/2b1c_border.svg index c633cc3de87..a8ad7618827 100644 --- a/public/emoji/2b1c_border.svg +++ b/public/emoji/2b1c_border.svg @@ -1,7 +1,7 @@ - +