-
Notifications
You must be signed in to change notification settings - Fork 2.5k
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
Emoji plugin #1746
Comments
Sample implementation can be viewed at: https://codepen.io/mlewand/pen/WMmWyr Note that we need to be clever about keeping good performance of the plugin. This plugin has a good chance to replace the good old smileys plugin. |
@mlewand how emoji plugin should be integrated with
Should we preserve 2nd step or should be locked somehow. |
The more I think about it, the more I like the option with keeping the Reason why I see having So let's implement it that way. |
To clarify, we'll start with a limited number of features. So there's no need to store labels, there's no need to categroize emojis etc. |
Are you reporting a feature request or a bug?
Feature request
Provide detailed reproduction steps (if any)
Emojis are already out there for quite some time and are well supported by the latest OSes, it would make sense to incorporate them into CKEditor.
A common way to type emojis is by wrapping a emoji keyword with a colon, like
:+1:
,:slightly_smiling_face:
etc.Since we're already working on Autocomplete feature it make reuse it for Emoji plugin.
Features
Emoji autocomplete
When typing
:sligh
CKEditor should show a autocomplete with all the matched emojis.Text conversion
Editor should automatically convert emojis when called with method like
editor.insertText
,editor.setData
etc.So calling
editor.setData( '<p>This is emoji test :+1::+1:</p>' )
should set the editor content to a paragraph withThis is emoji test 👍👍
. Note that it should be integrated with undo, so that there's no extra snapshot.There should be few elements where the emoji should not be automatically converted, for instance,
code
tag. Considereditor.setData( '<pre><code>This is emoji test :+1::+1:</code></pre>' )
- in this case Emoji should not be inlined.It should be possible to disable this feature.
Configuration
It should be possible to customize lists of emojis. Doesn't matter if it's going to be through config option, or by a dedicated API in plugin namespace.
Browser Support
The complete list of supported browsers is to be determined.
We should target for all the latest browsers. Legacy browsers like IE8-IE10
could be skipped if that's an issue.are skipped due to their bad support for emojis.Preview / Demo
Users interested in seeing how the feature looks today can preview it here.
The text was updated successfully, but these errors were encountered: