summaryrefslogtreecommitdiff
path: root/public/js
diff options
context:
space:
mode:
authorWu Cheng-Han2016-10-18 16:50:58 +0800
committerWu Cheng-Han2016-10-18 16:50:58 +0800
commitd44e8303668a93942644f78adc11c34ec07e6abd (patch)
tree6a3cb3d8a58c3d64bf404ef0f056ea1d75095a32 /public/js
parenteb724b05a7eb8cfff286ea601c1b34057c0d71dc (diff)
Update emoji parser using markdown-it-emoji instead of emojify to solve issue #217
Diffstat (limited to 'public/js')
-rw-r--r--public/js/extra.js34
-rw-r--r--public/js/index.js4
2 files changed, 22 insertions, 16 deletions
diff --git a/public/js/extra.js b/public/js/extra.js
index 01aff7c7..436721a3 100644
--- a/public/js/extra.js
+++ b/public/js/extra.js
@@ -246,12 +246,6 @@ function finishView(view) {
if ($(value).children().length == 0)
$(value).gist(viewAjaxCallback);
});
- //emojify
- try {
- emojify.run(view[0]);
- } catch (err) {
- console.warn(err);
- }
//mathjax
var mathjaxdivs = view.find('span.mathjax.raw').removeClass("raw").toArray();
try {
@@ -823,15 +817,6 @@ function highlightRender(code, lang) {
return result.value;
}
-emojify.setConfig({
- blacklist: {
- elements: ['script', 'textarea', 'a', 'pre', 'code', 'svg'],
- classes: ['no-emojify']
- },
- img_dir: serverurl + '/vendor/emojify/images',
- ignore_emoticons: true
-});
-
var markdownit = require('markdown-it');
var markdownitContainer = require('markdown-it-container');
@@ -855,6 +840,25 @@ md.use(require('markdown-it-sup'));
md.use(require('../vendor/markdown-it-mathjax'));
md.use(require('markdown-it-imsize'));
+md.use(require('markdown-it-emoji'), {
+ shortcuts: false
+});
+
+var emojify = require('emojify.js');
+
+emojify.setConfig({
+ blacklist: {
+ elements: ['script', 'textarea', 'a', 'pre', 'code', 'svg'],
+ classes: ['no-emojify']
+ },
+ img_dir: serverurl + '/vendor/emojify.js/dist/images/basic',
+ ignore_emoticons: true
+});
+
+md.renderer.rules.emoji = function(token, idx) {
+ return emojify.replace(':' + token[idx].markup + ':');
+};
+
function renderContainer(tokens, idx, options, env, self) {
tokens[idx].attrJoin('role', 'alert');
tokens[idx].attrJoin('class', 'alert');
diff --git a/public/js/index.js b/public/js/index.js
index 7294a5ba..bdd4c822 100644
--- a/public/js/index.js
+++ b/public/js/index.js
@@ -3732,6 +3732,8 @@ function matchInContainer(text) {
}
}
+var emojify = require('emojify.js');
+
$(editor.getInputField())
.textcomplete([
{ // emoji strategy
@@ -3751,7 +3753,7 @@ $(editor.getInputField())
callback(list);
},
template: function (value) {
- return '<img class="emoji" src="' + serverurl + '/vendor/emojify/images/' + value + '.png"></img> ' + value;
+ return '<img class="emoji" src="' + serverurl + '/vendor/emojify.js/dist/images/basic/' + value + '.png"></img> ' + value;
},
replace: function (value) {
return '$1:' + value + ': ';