summaryrefslogtreecommitdiff
path: root/src/common
diff options
context:
space:
mode:
authorotofune <otofune@gmail.com>2017-02-28 20:33:27 +0000
committerotofune <otofune@gmail.com>2017-03-01 03:19:24 +0000
commit67ea1498ff128e6121e9897aa7093107ccfacab6 (patch)
tree66a639bf3a266a68cdd54f67255a270cd7dbc6de /src/common
parentFix type (diff)
downloadsharkey-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.js14
-rw-r--r--src/common/text/index.js3
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) {