clojureverse / clojureverse/clojurians-log-app
Emoji improvements
- Dominant language
- Clojure
- Stars
- 85
- Forks
- 21
- PR merge metrics
- No merged PRs in 30d
Description
Thanks to @dawranliou and @oxalorg we already have some pretty solid emoji support, but there is always room for improvement :)
As authorative source I would like to eventually switch to https://github.com/iamcal/emoji-data
As per [Emojipedia](https://emojipedia.org/slack/):
> Slack permits a set of :shortcodes: to enter emojis on the platform. Typing an emoji short code such as :sparkles: inserts the ✨ Sparkles emoji.
>
> This is stored in plain text, so copying-and-pasting a block of text which includes emojis added via shortcode will display the :shortcode: instead of the emoji character. Emoji shortcodes on Slack are derived from [this repository](https://github.com/iamcal/emoji-data), and do not necessarily match the same codes used on platforms such as Github.
This will make sure we have the exact some shortcodes that slack uses, and that we correctly handle multi-codepoint emoji that use [ZWJ](https://en.wikipedia.org/wiki/Zero-width_joiner) or skin tone selectors.
The main fields we care about are `unified` and `short_names`, unified can be rendered with HTML entities, e.g.
`1F645-200D-2642-FE0F` -> `🙅♂️`
The second potential improvement is to render emojis as images. It pains me as a unicode fan to even suggest this, but this is what all major platforms do, since it's the only way to get consistent rendering (and thus consistent communication).
Except that Slack is *not* consistent themselves, they used to use the Apple emoji set, but that one is copyrighted, so now they use the Apple emoji set only when accessed from Apple devices. Otherwise they use Google's emojis.
https://blog.emojipedia.org/slack-overhauls-emoji-support/
I don't think we necessarily need to go that far, I'd be fine with rendering Google's emojis on all platforms.
Contributor guide
No contributing guide indexed for this repository
Research direction
Read the iamcal/emoji-data source and the linked Slack and Emojipedia references, focusing on the unified and short_names fields, multi-codepoint sequences, ZWJ, and skin-tone selectors. Define whether the work covers shortcode compatibility, Unicode rendering, image rendering, or all three, and consider the feature done only when the chosen scope and rendering behavior are specified.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- clojure
- Domain
- frontend, web-dev
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100