diff options
| author | otofune <otofune@gmail.com> | 2017-02-28 20:33:27 +0000 |
|---|---|---|
| committer | otofune <otofune@gmail.com> | 2017-03-01 03:19:24 +0000 |
| commit | 67ea1498ff128e6121e9897aa7093107ccfacab6 (patch) | |
| tree | 66a639bf3a266a68cdd54f67255a270cd7dbc6de /src/common | |
| parent | Fix type (diff) | |
| download | sharkey-67ea1498ff128e6121e9897aa7093107ccfacab6.tar.gz sharkey-67ea1498ff128e6121e9897aa7093107ccfacab6.tar.bz2 sharkey-67ea1498ff128e6121e9897aa7093107ccfacab6.zip | |
[common] text & [web] common > scripts > text compiler: support emoji
Diffstat (limited to 'src/common')
| -rw-r--r-- | src/common/text/elements/emoji.js | 14 | ||||
| -rw-r--r-- | src/common/text/index.js | 3 |
2 files changed, 16 insertions, 1 deletions
diff --git a/src/common/text/elements/emoji.js b/src/common/text/elements/emoji.js new file mode 100644 index 0000000000..e24231a223 --- /dev/null +++ b/src/common/text/elements/emoji.js @@ -0,0 +1,14 @@ +/** + * Emoji + */ + +module.exports = text => { + const match = text.match(/^:[a-zA-Z0-9+-_]+:/); + if (!match) return null; + const emoji = match[0]; + return { + type: 'emoji', + content: emoji, + emoji: emoji.substr(1, emoji.length - 2) + }; +}; diff --git a/src/common/text/index.js b/src/common/text/index.js index 9da3a26b91..4424169033 100644 --- a/src/common/text/index.js +++ b/src/common/text/index.js @@ -8,7 +8,8 @@ const elements = [ require('./elements/mention'), require('./elements/hashtag'), require('./elements/code'), - require('./elements/inline-code') + require('./elements/inline-code'), + require('./elements/emoji') ]; function analyze(source) { |