clojureverse / clojureverse/clojurians-log-app

Emoji improvements

Open
#125 0 comments 1 reaction 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.