Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Why is :emoji: notation necessary? #175

Closed
rhysd opened this issue Dec 27, 2022 · 3 comments
Closed

Why is :emoji: notation necessary? #175

rhysd opened this issue Dec 27, 2022 · 3 comments

Comments

@rhysd
Copy link
Contributor

rhysd commented Dec 27, 2022

Hi, I'm interested in this new lightweight markup language and saw the syntax document. Then one question came up in my mind.

What is a rationale behind the official emoji notation support? I actually don't think it is necessary to be supported by a new markup language because

  • If we want to write emoji characters, it is possible to write them in the document. For example, if I want to write a dog emoji, I can write 🐶 instead of :dog: directly in the text.
  • Emoji notation requires readers to map symbols to the actual emoji on their memory when they read the document in plain text. But it is not easy because there are so many emoji characters these days.
  • For parsers, it is not easy to parse emoji symbols. As djot parser does, a parser must maintain the list of emoji symbols. However, they need to be updated constantly (e.g. new Unicode version bump).
  • It is actually not possible to map all emoji characters to simple emoji symbols. (e.g. emoji modifiers like skin tone 👍🏻, compound emojis like 👪)
  • Some emoji symbols are confusing. For example, according to Emojipedia 🚶🏼‍♂️ is :walking_man: on GitHub and :man-walking: on Slack. It's not easy to remember which one is correct for users so parsers need to support the both patterns. But supporting both patterns makes the emoji symbols list bigger and messy.
  • Adding dedicated notation increases the language's complexity. If removing the notation, : character will be free and a parser will get simpler.

When GFM supported :emoji: notation, it was good idea because emoji characters were not so popular and there was no input method support and many fonts didn't support emoji. However, today I believe it is no longer a good idea because emoji characters are popular and input method supports them and major fonts support emoji on every platforms.

@waldyrious
Copy link
Contributor

Duplicate of #112?

Also see #44 and #122 for ideas around more extensible use for this particular syntax.

@jgm
Copy link
Owner

jgm commented Dec 27, 2022

You make some good points. As noted in #112, I am inclined to change :foobar: to a more generic syntax for symbols, that can be used in various ways. (I suppose removing it altogether would be another option.) Closing as a duplicate -- feel free to comment further on #112.

@rhysd
Copy link
Contributor Author

rhysd commented Dec 27, 2022

Thanks, I missed other ticket already existed. I'll copy my thoughts to the ticket.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants