@jayfong/x-text-render 2.21.10 → 2.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/_cjs/code_render.css +2 -2
- package/lib/_cjs/code_render.js +2 -2
- package/lib/_cjs/douyin_emoji_render.css +27 -21
- package/lib/_cjs/douyin_emoji_render.js +6 -3
- package/lib/_cjs/html_render.js +1 -1
- package/lib/_cjs/math_render.js +1 -1
- package/lib/_cjs/text_render.js +3 -3
- package/lib/_cjs/unified_emoji_render.css +7 -1
- package/lib/_cjs/unified_emoji_render.js +3 -3
- package/lib/_cjs/weixin_emoji_render.css +7 -1
- package/lib/_cjs/weixin_emoji_render.js +4 -3
- package/lib/code_render.css +2 -2
- package/lib/code_render.d.ts +2 -1
- package/lib/code_render.js +2 -2
- package/lib/douyin_emoji_render.css +27 -21
- package/lib/douyin_emoji_render.d.ts +2 -1
- package/lib/douyin_emoji_render.js +6 -4
- package/lib/html_render.d.ts +2 -1
- package/lib/html_render.js +1 -1
- package/lib/math_render.d.ts +2 -1
- package/lib/math_render.js +1 -1
- package/lib/text_render.d.ts +2 -0
- package/lib/text_render.js +3 -3
- package/lib/unified_emoji_render.css +7 -1
- package/lib/unified_emoji_render.d.ts +2 -1
- package/lib/unified_emoji_render.js +3 -3
- package/lib/weixin_emoji_render.css +7 -1
- package/lib/weixin_emoji_render.d.ts +2 -1
- package/lib/weixin_emoji_render.js +4 -3
- package/package.json +2 -2
package/lib/_cjs/code_render.css
CHANGED
package/lib/_cjs/code_render.js
CHANGED
|
@@ -6,11 +6,11 @@ require("./code_render.css");
|
|
|
6
6
|
var _vtils = require("vtils");
|
|
7
7
|
var _html_render = require("./html_render");
|
|
8
8
|
// @ts-ignore
|
|
9
|
-
var _ = {"code":"
|
|
9
|
+
var _ = {"code":"xtr_19695","content":"xtr_1350"};
|
|
10
10
|
var codeRegExp = /```[^\r\n]*[\r\n]([\s\S]+?)```/g;
|
|
11
11
|
var CodeRender = /*#__PURE__*/function () {
|
|
12
12
|
function CodeRender() {}
|
|
13
|
-
CodeRender.render = function render(text) {
|
|
13
|
+
CodeRender.render = function render(text, _options) {
|
|
14
14
|
return text.replace(codeRegExp, function (__, v) {
|
|
15
15
|
return _html_render.HTMLRender.freeze("<div class=\"" + _.code + "\">\n <div class=\"" + _.content + "\">" + (0, _vtils.escape)(v) + "</div>\n </div>");
|
|
16
16
|
});
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
.
|
|
1
|
+
.xtr_7843 {
|
|
2
2
|
display: inline-block;
|
|
3
3
|
font-size: 1.2em;
|
|
4
4
|
width: 1em;
|
|
@@ -6,82 +6,88 @@
|
|
|
6
6
|
vertical-align: -0.2em;
|
|
7
7
|
}
|
|
8
8
|
|
|
9
|
-
.
|
|
9
|
+
.xtr_13180 {
|
|
10
|
+
background-size: 100% 100%;
|
|
11
|
+
background-repeat: no-repeat;
|
|
12
|
+
background-position: center;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.xtr_13681 {
|
|
10
16
|
width: 1.0781em;
|
|
11
17
|
}
|
|
12
18
|
|
|
13
|
-
.
|
|
19
|
+
.xtr_6601 {
|
|
14
20
|
width: 1.0313em;
|
|
15
21
|
}
|
|
16
22
|
|
|
17
|
-
.
|
|
23
|
+
.xtr_3900 {
|
|
18
24
|
width: 1.0625em;
|
|
19
25
|
}
|
|
20
26
|
|
|
21
|
-
.
|
|
27
|
+
.xtr_12866 {
|
|
22
28
|
width: 1.1563em;
|
|
23
29
|
}
|
|
24
30
|
|
|
25
|
-
.
|
|
31
|
+
.xtr_19203 {
|
|
26
32
|
width: 1.0469em;
|
|
27
33
|
}
|
|
28
34
|
|
|
29
|
-
.
|
|
35
|
+
.xtr_13987 {
|
|
30
36
|
width: 1.1406em;
|
|
31
37
|
}
|
|
32
38
|
|
|
33
|
-
.
|
|
39
|
+
.xtr_3983 {
|
|
34
40
|
width: 1.0625em;
|
|
35
41
|
}
|
|
36
42
|
|
|
37
|
-
.
|
|
43
|
+
.xtr_17911 {
|
|
38
44
|
width: 1.0781em;
|
|
39
45
|
}
|
|
40
46
|
|
|
41
|
-
.
|
|
47
|
+
.xtr_14624 {
|
|
42
48
|
width: 1.1406em;
|
|
43
49
|
}
|
|
44
50
|
|
|
45
|
-
.
|
|
51
|
+
.xtr_11065 {
|
|
46
52
|
width: 1.0781em;
|
|
47
53
|
}
|
|
48
54
|
|
|
49
|
-
.
|
|
55
|
+
.xtr_10687 {
|
|
50
56
|
width: 1.1406em;
|
|
51
57
|
}
|
|
52
58
|
|
|
53
|
-
.
|
|
59
|
+
.xtr_210 {
|
|
54
60
|
width: 1.0781em;
|
|
55
61
|
}
|
|
56
62
|
|
|
57
|
-
.
|
|
63
|
+
.xtr_17680 {
|
|
58
64
|
width: 1.375em;
|
|
59
65
|
}
|
|
60
66
|
|
|
61
|
-
.
|
|
67
|
+
.xtr_857 {
|
|
62
68
|
width: 1.0625em;
|
|
63
69
|
}
|
|
64
70
|
|
|
65
|
-
.
|
|
71
|
+
.xtr_16488 {
|
|
66
72
|
width: 1.1406em;
|
|
67
73
|
}
|
|
68
74
|
|
|
69
|
-
.
|
|
75
|
+
.xtr_13201 {
|
|
70
76
|
width: 1.1406em;
|
|
71
77
|
}
|
|
72
78
|
|
|
73
|
-
.
|
|
79
|
+
.xtr_1612 {
|
|
74
80
|
width: 1.0625em;
|
|
75
81
|
}
|
|
76
82
|
|
|
77
|
-
.
|
|
83
|
+
.xtr_3810 {
|
|
78
84
|
width: 1.125em;
|
|
79
85
|
}
|
|
80
86
|
|
|
81
|
-
.
|
|
87
|
+
.xtr_3997 {
|
|
82
88
|
width: 1.1094em;
|
|
83
89
|
}
|
|
84
90
|
|
|
85
|
-
.
|
|
91
|
+
.xtr_16768 {
|
|
86
92
|
width: 1.0469em;
|
|
87
93
|
}
|
|
@@ -5,7 +5,7 @@ exports.DouyinEmojiRender = void 0;
|
|
|
5
5
|
require("./douyin_emoji_render.css");
|
|
6
6
|
var _html_render = require("./html_render");
|
|
7
7
|
// @ts-ignore
|
|
8
|
-
var _ = {"emoji":"
|
|
8
|
+
var _ = {"emoji":"xtr_7843","background":"xtr_13180","_互粉":"xtr_13681","_再见":"xtr_6601","_吐血":"xtr_3900","_听歌":"xtr_12866","_嘿哈":"xtr_19203","_大哭":"xtr_13987","_小鼓掌":"xtr_3983","_强":"xtr_17911","_我想静静":"xtr_14624","_擦汗":"xtr_11065","_机智":"xtr_10687","_来看我":"xtr_210","_求抱抱":"xtr_17680","_灵机一动":"xtr_857","_熊吉":"xtr_16488","_笑哭":"xtr_13201","_紫薇别走":"xtr_1612","_耶":"xtr_3810","_震惊":"xtr_3997","_飞吻":"xtr_16768"};
|
|
9
9
|
// douyinEmojiLatestList
|
|
10
10
|
// prettier-ignore
|
|
11
11
|
var douyinEmojiLatestList = ["微笑", "色", "发呆", "酷拽", "抠鼻", "流泪", "捂脸", "发怒", "呲牙", "尬笑", "害羞", "调皮", "舔屏", "看", "爱心", "比心", "赞", "鼓掌", "感谢", "抱抱你", "玫瑰", "灵机一动", "耶", "打脸", "大笑", "机智", "送心", "666", "闭嘴", "来看我", "一起加油", "哈欠", "震惊", "晕", "衰", "困", "疑问", "泣不成声", "小鼓掌", "大金牙", "偷笑", "石化", "思考", "吐血", "可怜", "嘘", "撇嘴", "笑哭", "奸笑", "得意", "憨笑", "坏笑", "抓狂", "泪奔", "钱", "恐惧", "愉快", "快哭了", "翻白眼", "互粉", "我想静静", "委屈", "鄙视", "飞吻", "再见", "紫薇别走", "听歌", "求抱抱", "绝望的凝视", "不失礼貌的微笑", "不看", "裂开", "干饭人", "吐舌", "呆无辜", "白眼", "熊吉", "猪头", "冷漠", "微笑袋鼠", "凝视", "暗中观察", "二哈", "菜狗", "黑脸", "展开说说", "蜜蜂狗", "摸头", "皱眉", "擦汗", "红脸", "做鬼脸", "强", "如花", "吐", "惊喜", "敲打", "奋斗", "吐彩虹", "大哭", "嘿哈", "加好友", "惊恐", "惊讶", "囧", "难过", "斜眼", "阴险", "悠闲", "咒骂", "吃瓜群众", "绿帽子", "真的会谢", "达咩", "敢怒不敢言", "投降", "求求了", "眼含热泪", "叹气", "好开心", "不是吧", "动动脑子", "表面微笑", "表面呲牙", "鞠躬", "躺平", "强壮", "碰拳", "OK", "击掌", "左上", "握手", "抱拳", "勾引", "拳头", "弱", "胜利", "右边", "左边", "嘴唇", "心碎", "凋谢", "啤酒", "咖啡", "蛋糕", "礼物", "撒花", "加一", "减一", "okk", "V5", "绝", "给力", "红包", "屎", "发", "我太难了", "18禁", "炸弹", "去污粉", "西瓜", "加鸡腿", "我酸了", "握爪", "太阳", "月亮", "给跪了", "蕉绿", "扎心", "胡瓜", "yyds", "emo", "开心兔", "招财兔", "年兽兔", "打call", "栓Q", "无语", "雪人", "雪花", "圣诞树", "平安果", "圣诞帽", "气球", "干杯", "烟花", "福", "candy", "糖葫芦", "虎头", "饺子", "鞭炮", "元宝", "灯笼", "锦鲤", "巧克力", "汤圆", "情书", "iloveyou", "戒指", "小黄鸭", "棒棒糖", "纸飞机", "必胜", "粽子"];
|
|
@@ -232,9 +232,12 @@ var douyinEmojiUrlMap = {
|
|
|
232
232
|
var douyinEmojiRegExp = new RegExp("\\[(" + Object.keys(douyinEmojiUrlMap).join('|') + ")\\]", 'g');
|
|
233
233
|
var DouyinEmojiRender = /*#__PURE__*/function () {
|
|
234
234
|
function DouyinEmojiRender() {}
|
|
235
|
-
DouyinEmojiRender.render = function render(text) {
|
|
235
|
+
DouyinEmojiRender.render = function render(text, options) {
|
|
236
236
|
return text.replace(douyinEmojiRegExp, function (__, v) {
|
|
237
|
-
|
|
237
|
+
var url = "" + douyinEmojiBaseUrl + douyinEmojiUrlMap[v] + ".png";
|
|
238
|
+
var alt = "[" + v + "]";
|
|
239
|
+
var baseClass = "" + _.emoji + (_["_" + v] ? " " + _["_" + v] : '');
|
|
240
|
+
return _html_render.HTMLRender.freeze(options.emojiRenderer === 'background' ? "<span style=\"background-image:url('" + url + "')\" class=\"" + baseClass + " " + _.background + "\" alt=\"" + alt + "\" />" : "<img src=\"" + url + "\" class=\"" + baseClass + "\" alt=\"" + alt + "\" />");
|
|
238
241
|
});
|
|
239
242
|
};
|
|
240
243
|
return DouyinEmojiRender;
|
package/lib/_cjs/html_render.js
CHANGED
|
@@ -15,7 +15,7 @@ var HTMLRender = /*#__PURE__*/function () {
|
|
|
15
15
|
HTMLRender.freeze = function freeze(text) {
|
|
16
16
|
return "" + freezeFlagStart + encodeURIComponent(text) + freezeFlagEnd;
|
|
17
17
|
};
|
|
18
|
-
HTMLRender.render = function render(text) {
|
|
18
|
+
HTMLRender.render = function render(text, _options) {
|
|
19
19
|
// 将没有渲染过的部分 escape 一下
|
|
20
20
|
var renderedText = text.split(freezeRegExpSplit).map(function (v, i) {
|
|
21
21
|
return i % 2 === 0 ? (0, _vtils.escape)(v) : v;
|
package/lib/_cjs/math_render.js
CHANGED
|
@@ -26,7 +26,7 @@ var mathRegExp = /\$\$([\s\S]+?)\$\$|\$([^\r\n]+?)\$/g;
|
|
|
26
26
|
var mathRegExpTest = new RegExp(mathRegExp, 's');
|
|
27
27
|
var MathRender = /*#__PURE__*/function () {
|
|
28
28
|
function MathRender() {}
|
|
29
|
-
MathRender.render = function render(text) {
|
|
29
|
+
MathRender.render = function render(text, _options) {
|
|
30
30
|
if (!mathRegExpTest.test(text)) return text;
|
|
31
31
|
var run = function run() {
|
|
32
32
|
return text.replace(mathRegExp, function (v) {
|
package/lib/_cjs/text_render.js
CHANGED
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
4
|
exports.TextRender = void 0;
|
|
5
|
+
var _vtils = require("vtils");
|
|
5
6
|
var _code_render = require("./code_render");
|
|
6
7
|
var _douyin_emoji_render = require("./douyin_emoji_render");
|
|
7
8
|
var _html_render = require("./html_render");
|
|
8
|
-
var _vtils = require("vtils");
|
|
9
9
|
var _math_render = require("./math_render");
|
|
10
10
|
var _unified_emoji_render = require("./unified_emoji_render");
|
|
11
11
|
var _weixin_emoji_render = require("./weixin_emoji_render");
|
|
@@ -19,8 +19,8 @@ var TextRender = /*#__PURE__*/function () {
|
|
|
19
19
|
var _loop = function _loop() {
|
|
20
20
|
var render = _arr[_i];
|
|
21
21
|
result = (0, _vtils.isPromiseLike)(result) ? result.then(function (temp) {
|
|
22
|
-
return render.render(temp);
|
|
23
|
-
}) : render.render(result);
|
|
22
|
+
return render.render(temp, options);
|
|
23
|
+
}) : render.render(result, options);
|
|
24
24
|
};
|
|
25
25
|
for (var _i = 0, _arr = [options.douyinEmoji && _douyin_emoji_render.DouyinEmojiRender, options.weixinEmoji && _weixin_emoji_render.WeixinEmojiRender, options.unifiedEmoji && _unified_emoji_render.UnifiedEmojiRender, options.code && _code_render.CodeRender, options.math && _math_render.MathRender, _html_render.HTMLRender].filter(Boolean); _i < _arr.length; _i++) {
|
|
26
26
|
_loop();
|
|
@@ -7,7 +7,7 @@ var _vtils = require("vtils");
|
|
|
7
7
|
var _regexp = require("vtils/regexp");
|
|
8
8
|
var _html_render = require("./html_render");
|
|
9
9
|
// @ts-ignore
|
|
10
|
-
var _ = {"unifiedEmoji":"
|
|
10
|
+
var _ = {"unifiedEmoji":"xtr_7414","background":"xtr_13902"};
|
|
11
11
|
var unifiedEmojiRegExp = _regexp.emojiRegExpBuilder.build({
|
|
12
12
|
global: true
|
|
13
13
|
});
|
|
@@ -57,7 +57,7 @@ var unifiedEmojiKeywordRegExp = new RegExp(Object.keys(unifiedEmojiKeywordMap).m
|
|
|
57
57
|
}).join('|'), 'g');
|
|
58
58
|
var UnifiedEmojiRender = /*#__PURE__*/function () {
|
|
59
59
|
function UnifiedEmojiRender() {}
|
|
60
|
-
UnifiedEmojiRender.render = function render(text) {
|
|
60
|
+
UnifiedEmojiRender.render = function render(text, options) {
|
|
61
61
|
text = text.replace(unifiedEmojiKeywordRegExp, function (v) {
|
|
62
62
|
return unifiedEmojiKeywordMap[v];
|
|
63
63
|
});
|
|
@@ -82,7 +82,7 @@ var UnifiedEmojiRender = /*#__PURE__*/function () {
|
|
|
82
82
|
}
|
|
83
83
|
imageUrl = "" + unifiedEmojiBaseUrl + (unifiedEmojiAlias.has(code) ? unifiedEmojiAlias.get(code) : code) + ".png";
|
|
84
84
|
}
|
|
85
|
-
return _html_render.HTMLRender.freeze("<img
|
|
85
|
+
return _html_render.HTMLRender.freeze(options.emojiRenderer === 'background' ? "<span style=\"background-image:url('" + imageUrl + "')\" class=\"" + _.unifiedEmoji + " " + _.background + "\" alt=\"" + v + "\" />" : "<img src=\"" + imageUrl + "\" class=\"" + _.unifiedEmoji + "\" alt=\"" + v + "\" />");
|
|
86
86
|
});
|
|
87
87
|
};
|
|
88
88
|
return UnifiedEmojiRender;
|
|
@@ -6,7 +6,7 @@ require("./weixin_emoji_render.css");
|
|
|
6
6
|
var _vtils = require("vtils");
|
|
7
7
|
var _html_render = require("./html_render");
|
|
8
8
|
// @ts-ignore
|
|
9
|
-
var _ = {"weixinEmoji":"
|
|
9
|
+
var _ = {"weixinEmoji":"xtr_11169","background":"xtr_3920"};
|
|
10
10
|
var weixinEmojiBaseUrl = "https://wxpublic-1251448646.file.myqcloud.com/public/common/files/";
|
|
11
11
|
|
|
12
12
|
// weixinEmojiUrlMap
|
|
@@ -327,9 +327,10 @@ var weixinEmojiRegExp = new RegExp("(" + weixinEmojiNames.map(function (k) {
|
|
|
327
327
|
}).join('|') + ")", 'g');
|
|
328
328
|
var WeixinEmojiRender = /*#__PURE__*/function () {
|
|
329
329
|
function WeixinEmojiRender() {}
|
|
330
|
-
WeixinEmojiRender.render = function render(text) {
|
|
330
|
+
WeixinEmojiRender.render = function render(text, options) {
|
|
331
331
|
return text.replace(weixinEmojiRegExp, function (__, v) {
|
|
332
|
-
|
|
332
|
+
var url = "" + weixinEmojiBaseUrl + weixinEmojiMap2[v] + ".png";
|
|
333
|
+
return _html_render.HTMLRender.freeze(options.emojiRenderer === 'background' ? "<span style=\"background-image:url('" + url + "')\" class=\"" + _.weixinEmoji + " " + _.background + "\" alt=\"" + v + "\" />" : "<img src=\"" + url + "\" class=\"" + _.weixinEmoji + "\" alt=\"" + v + "\" />");
|
|
333
334
|
});
|
|
334
335
|
};
|
|
335
336
|
return WeixinEmojiRender;
|
package/lib/code_render.css
CHANGED
package/lib/code_render.d.ts
CHANGED
package/lib/code_render.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
// @ts-ignore
|
|
2
2
|
import "./code_render.css";
|
|
3
|
-
var _ = {"code":"
|
|
3
|
+
var _ = {"code":"xtr_19695","content":"xtr_1350"};
|
|
4
4
|
import { escape } from 'vtils';
|
|
5
5
|
import { HTMLRender } from "./html_render";
|
|
6
6
|
var codeRegExp = /```[^\r\n]*[\r\n]([\s\S]+?)```/g;
|
|
7
7
|
export var CodeRender = /*#__PURE__*/function () {
|
|
8
8
|
function CodeRender() {}
|
|
9
|
-
CodeRender.render = function render(text) {
|
|
9
|
+
CodeRender.render = function render(text, _options) {
|
|
10
10
|
return text.replace(codeRegExp, function (__, v) {
|
|
11
11
|
return HTMLRender.freeze("<div class=\"" + _.code + "\">\n <div class=\"" + _.content + "\">" + escape(v) + "</div>\n </div>");
|
|
12
12
|
});
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
.
|
|
1
|
+
.xtr_7843 {
|
|
2
2
|
display: inline-block;
|
|
3
3
|
font-size: 1.2em;
|
|
4
4
|
width: 1em;
|
|
@@ -6,82 +6,88 @@
|
|
|
6
6
|
vertical-align: -0.2em;
|
|
7
7
|
}
|
|
8
8
|
|
|
9
|
-
.
|
|
9
|
+
.xtr_13180 {
|
|
10
|
+
background-size: 100% 100%;
|
|
11
|
+
background-repeat: no-repeat;
|
|
12
|
+
background-position: center;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.xtr_13681 {
|
|
10
16
|
width: 1.0781em;
|
|
11
17
|
}
|
|
12
18
|
|
|
13
|
-
.
|
|
19
|
+
.xtr_6601 {
|
|
14
20
|
width: 1.0313em;
|
|
15
21
|
}
|
|
16
22
|
|
|
17
|
-
.
|
|
23
|
+
.xtr_3900 {
|
|
18
24
|
width: 1.0625em;
|
|
19
25
|
}
|
|
20
26
|
|
|
21
|
-
.
|
|
27
|
+
.xtr_12866 {
|
|
22
28
|
width: 1.1563em;
|
|
23
29
|
}
|
|
24
30
|
|
|
25
|
-
.
|
|
31
|
+
.xtr_19203 {
|
|
26
32
|
width: 1.0469em;
|
|
27
33
|
}
|
|
28
34
|
|
|
29
|
-
.
|
|
35
|
+
.xtr_13987 {
|
|
30
36
|
width: 1.1406em;
|
|
31
37
|
}
|
|
32
38
|
|
|
33
|
-
.
|
|
39
|
+
.xtr_3983 {
|
|
34
40
|
width: 1.0625em;
|
|
35
41
|
}
|
|
36
42
|
|
|
37
|
-
.
|
|
43
|
+
.xtr_17911 {
|
|
38
44
|
width: 1.0781em;
|
|
39
45
|
}
|
|
40
46
|
|
|
41
|
-
.
|
|
47
|
+
.xtr_14624 {
|
|
42
48
|
width: 1.1406em;
|
|
43
49
|
}
|
|
44
50
|
|
|
45
|
-
.
|
|
51
|
+
.xtr_11065 {
|
|
46
52
|
width: 1.0781em;
|
|
47
53
|
}
|
|
48
54
|
|
|
49
|
-
.
|
|
55
|
+
.xtr_10687 {
|
|
50
56
|
width: 1.1406em;
|
|
51
57
|
}
|
|
52
58
|
|
|
53
|
-
.
|
|
59
|
+
.xtr_210 {
|
|
54
60
|
width: 1.0781em;
|
|
55
61
|
}
|
|
56
62
|
|
|
57
|
-
.
|
|
63
|
+
.xtr_17680 {
|
|
58
64
|
width: 1.375em;
|
|
59
65
|
}
|
|
60
66
|
|
|
61
|
-
.
|
|
67
|
+
.xtr_857 {
|
|
62
68
|
width: 1.0625em;
|
|
63
69
|
}
|
|
64
70
|
|
|
65
|
-
.
|
|
71
|
+
.xtr_16488 {
|
|
66
72
|
width: 1.1406em;
|
|
67
73
|
}
|
|
68
74
|
|
|
69
|
-
.
|
|
75
|
+
.xtr_13201 {
|
|
70
76
|
width: 1.1406em;
|
|
71
77
|
}
|
|
72
78
|
|
|
73
|
-
.
|
|
79
|
+
.xtr_1612 {
|
|
74
80
|
width: 1.0625em;
|
|
75
81
|
}
|
|
76
82
|
|
|
77
|
-
.
|
|
83
|
+
.xtr_3810 {
|
|
78
84
|
width: 1.125em;
|
|
79
85
|
}
|
|
80
86
|
|
|
81
|
-
.
|
|
87
|
+
.xtr_3997 {
|
|
82
88
|
width: 1.1094em;
|
|
83
89
|
}
|
|
84
90
|
|
|
85
|
-
.
|
|
91
|
+
.xtr_16768 {
|
|
86
92
|
width: 1.0469em;
|
|
87
93
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
+
import type { TextRenderOptions } from './text_render';
|
|
1
2
|
export declare class DouyinEmojiRender {
|
|
2
3
|
static latestEmojiList: ("微笑" | "色" | "发呆" | "酷拽" | "抠鼻" | "流泪" | "捂脸" | "发怒" | "呲牙" | "尬笑" | "害羞" | "调皮" | "舔屏" | "看" | "爱心" | "比心" | "赞" | "鼓掌" | "感谢" | "抱抱你" | "玫瑰" | "灵机一动" | "耶" | "打脸" | "大笑" | "机智" | "送心" | "666" | "闭嘴" | "来看我" | "一起加油" | "哈欠" | "震惊" | "晕" | "衰" | "困" | "疑问" | "泣不成声" | "小鼓掌" | "大金牙" | "偷笑" | "石化" | "思考" | "吐血" | "可怜" | "嘘" | "撇嘴" | "笑哭" | "奸笑" | "得意" | "憨笑" | "坏笑" | "抓狂" | "泪奔" | "钱" | "恐惧" | "愉快" | "快哭了" | "翻白眼" | "互粉" | "我想静静" | "委屈" | "鄙视" | "飞吻" | "再见" | "紫薇别走" | "听歌" | "求抱抱" | "绝望的凝视" | "不失礼貌的微笑" | "不看" | "裂开" | "干饭人" | "吐舌" | "呆无辜" | "白眼" | "熊吉" | "猪头" | "冷漠" | "微笑袋鼠" | "凝视" | "暗中观察" | "二哈" | "菜狗" | "黑脸" | "展开说说" | "蜜蜂狗" | "摸头" | "皱眉" | "擦汗" | "红脸" | "做鬼脸" | "强" | "如花" | "吐" | "惊喜" | "敲打" | "奋斗" | "吐彩虹" | "大哭" | "嘿哈" | "加好友" | "惊恐" | "惊讶" | "囧" | "难过" | "斜眼" | "阴险" | "悠闲" | "咒骂" | "吃瓜群众" | "绿帽子" | "真的会谢" | "达咩" | "敢怒不敢言" | "投降" | "求求了" | "眼含热泪" | "叹气" | "好开心" | "不是吧" | "动动脑子" | "表面微笑" | "表面呲牙" | "鞠躬" | "躺平" | "强壮" | "碰拳" | "OK" | "击掌" | "左上" | "握手" | "抱拳" | "勾引" | "拳头" | "弱" | "胜利" | "右边" | "左边" | "嘴唇" | "心碎" | "凋谢" | "啤酒" | "咖啡" | "蛋糕" | "礼物" | "撒花" | "加一" | "减一" | "okk" | "V5" | "绝" | "给力" | "红包" | "屎" | "发" | "我太难了" | "18禁" | "炸弹" | "去污粉" | "西瓜" | "加鸡腿" | "我酸了" | "握爪" | "太阳" | "月亮" | "给跪了" | "蕉绿" | "扎心" | "胡瓜" | "yyds" | "emo" | "开心兔" | "招财兔" | "年兽兔" | "打call" | "栓Q" | "无语" | "雪人" | "雪花" | "圣诞树" | "平安果" | "圣诞帽" | "气球" | "干杯" | "烟花" | "福" | "candy" | "糖葫芦" | "虎头" | "饺子" | "鞭炮" | "元宝" | "灯笼" | "锦鲤" | "巧克力" | "汤圆" | "情书" | "iloveyou" | "戒指" | "小黄鸭" | "棒棒糖" | "纸飞机" | "必胜" | "粽子")[];
|
|
3
|
-
static render(text: string): string;
|
|
4
|
+
static render(text: string, options: TextRenderOptions): string;
|
|
4
5
|
}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
// @ts-ignore
|
|
2
2
|
import "./douyin_emoji_render.css";
|
|
3
|
-
var _ = {"emoji":"
|
|
3
|
+
var _ = {"emoji":"xtr_7843","background":"xtr_13180","_互粉":"xtr_13681","_再见":"xtr_6601","_吐血":"xtr_3900","_听歌":"xtr_12866","_嘿哈":"xtr_19203","_大哭":"xtr_13987","_小鼓掌":"xtr_3983","_强":"xtr_17911","_我想静静":"xtr_14624","_擦汗":"xtr_11065","_机智":"xtr_10687","_来看我":"xtr_210","_求抱抱":"xtr_17680","_灵机一动":"xtr_857","_熊吉":"xtr_16488","_笑哭":"xtr_13201","_紫薇别走":"xtr_1612","_耶":"xtr_3810","_震惊":"xtr_3997","_飞吻":"xtr_16768"};
|
|
4
4
|
import { HTMLRender } from "./html_render";
|
|
5
|
-
|
|
6
5
|
// douyinEmojiLatestList
|
|
7
6
|
// prettier-ignore
|
|
8
7
|
var douyinEmojiLatestList = ["微笑", "色", "发呆", "酷拽", "抠鼻", "流泪", "捂脸", "发怒", "呲牙", "尬笑", "害羞", "调皮", "舔屏", "看", "爱心", "比心", "赞", "鼓掌", "感谢", "抱抱你", "玫瑰", "灵机一动", "耶", "打脸", "大笑", "机智", "送心", "666", "闭嘴", "来看我", "一起加油", "哈欠", "震惊", "晕", "衰", "困", "疑问", "泣不成声", "小鼓掌", "大金牙", "偷笑", "石化", "思考", "吐血", "可怜", "嘘", "撇嘴", "笑哭", "奸笑", "得意", "憨笑", "坏笑", "抓狂", "泪奔", "钱", "恐惧", "愉快", "快哭了", "翻白眼", "互粉", "我想静静", "委屈", "鄙视", "飞吻", "再见", "紫薇别走", "听歌", "求抱抱", "绝望的凝视", "不失礼貌的微笑", "不看", "裂开", "干饭人", "吐舌", "呆无辜", "白眼", "熊吉", "猪头", "冷漠", "微笑袋鼠", "凝视", "暗中观察", "二哈", "菜狗", "黑脸", "展开说说", "蜜蜂狗", "摸头", "皱眉", "擦汗", "红脸", "做鬼脸", "强", "如花", "吐", "惊喜", "敲打", "奋斗", "吐彩虹", "大哭", "嘿哈", "加好友", "惊恐", "惊讶", "囧", "难过", "斜眼", "阴险", "悠闲", "咒骂", "吃瓜群众", "绿帽子", "真的会谢", "达咩", "敢怒不敢言", "投降", "求求了", "眼含热泪", "叹气", "好开心", "不是吧", "动动脑子", "表面微笑", "表面呲牙", "鞠躬", "躺平", "强壮", "碰拳", "OK", "击掌", "左上", "握手", "抱拳", "勾引", "拳头", "弱", "胜利", "右边", "左边", "嘴唇", "心碎", "凋谢", "啤酒", "咖啡", "蛋糕", "礼物", "撒花", "加一", "减一", "okk", "V5", "绝", "给力", "红包", "屎", "发", "我太难了", "18禁", "炸弹", "去污粉", "西瓜", "加鸡腿", "我酸了", "握爪", "太阳", "月亮", "给跪了", "蕉绿", "扎心", "胡瓜", "yyds", "emo", "开心兔", "招财兔", "年兽兔", "打call", "栓Q", "无语", "雪人", "雪花", "圣诞树", "平安果", "圣诞帽", "气球", "干杯", "烟花", "福", "candy", "糖葫芦", "虎头", "饺子", "鞭炮", "元宝", "灯笼", "锦鲤", "巧克力", "汤圆", "情书", "iloveyou", "戒指", "小黄鸭", "棒棒糖", "纸飞机", "必胜", "粽子"];
|
|
@@ -229,9 +228,12 @@ var douyinEmojiUrlMap = {
|
|
|
229
228
|
var douyinEmojiRegExp = new RegExp("\\[(" + Object.keys(douyinEmojiUrlMap).join('|') + ")\\]", 'g');
|
|
230
229
|
export var DouyinEmojiRender = /*#__PURE__*/function () {
|
|
231
230
|
function DouyinEmojiRender() {}
|
|
232
|
-
DouyinEmojiRender.render = function render(text) {
|
|
231
|
+
DouyinEmojiRender.render = function render(text, options) {
|
|
233
232
|
return text.replace(douyinEmojiRegExp, function (__, v) {
|
|
234
|
-
|
|
233
|
+
var url = "" + douyinEmojiBaseUrl + douyinEmojiUrlMap[v] + ".png";
|
|
234
|
+
var alt = "[" + v + "]";
|
|
235
|
+
var baseClass = "" + _.emoji + (_["_" + v] ? " " + _["_" + v] : '');
|
|
236
|
+
return HTMLRender.freeze(options.emojiRenderer === 'background' ? "<span style=\"background-image:url('" + url + "')\" class=\"" + baseClass + " " + _.background + "\" alt=\"" + alt + "\" />" : "<img src=\"" + url + "\" class=\"" + baseClass + "\" alt=\"" + alt + "\" />");
|
|
235
237
|
});
|
|
236
238
|
};
|
|
237
239
|
return DouyinEmojiRender;
|
package/lib/html_render.d.ts
CHANGED
package/lib/html_render.js
CHANGED
|
@@ -11,7 +11,7 @@ export var HTMLRender = /*#__PURE__*/function () {
|
|
|
11
11
|
HTMLRender.freeze = function freeze(text) {
|
|
12
12
|
return "" + freezeFlagStart + encodeURIComponent(text) + freezeFlagEnd;
|
|
13
13
|
};
|
|
14
|
-
HTMLRender.render = function render(text) {
|
|
14
|
+
HTMLRender.render = function render(text, _options) {
|
|
15
15
|
// 将没有渲染过的部分 escape 一下
|
|
16
16
|
var renderedText = text.split(freezeRegExpSplit).map(function (v, i) {
|
|
17
17
|
return i % 2 === 0 ? escape(v) : v;
|
package/lib/math_render.d.ts
CHANGED
package/lib/math_render.js
CHANGED
|
@@ -21,7 +21,7 @@ var mathRegExp = /\$\$([\s\S]+?)\$\$|\$([^\r\n]+?)\$/g;
|
|
|
21
21
|
var mathRegExpTest = new RegExp(mathRegExp, 's');
|
|
22
22
|
export var MathRender = /*#__PURE__*/function () {
|
|
23
23
|
function MathRender() {}
|
|
24
|
-
MathRender.render = function render(text) {
|
|
24
|
+
MathRender.render = function render(text, _options) {
|
|
25
25
|
if (!mathRegExpTest.test(text)) return text;
|
|
26
26
|
var run = function run() {
|
|
27
27
|
return text.replace(mathRegExp, function (v) {
|
package/lib/text_render.d.ts
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
|
+
export type TextRenderEmojiRenderer = 'img' | 'background';
|
|
1
2
|
export interface TextRenderOptions {
|
|
2
3
|
douyinEmoji?: boolean;
|
|
3
4
|
weixinEmoji?: boolean;
|
|
4
5
|
unifiedEmoji?: boolean;
|
|
5
6
|
code?: boolean;
|
|
6
7
|
math?: boolean;
|
|
8
|
+
emojiRenderer?: TextRenderEmojiRenderer;
|
|
7
9
|
}
|
|
8
10
|
export declare class TextRender {
|
|
9
11
|
static render(text: string, options?: TextRenderOptions): string | Promise<string>;
|
package/lib/text_render.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import { isPromiseLike } from 'vtils';
|
|
1
2
|
import { CodeRender } from "./code_render";
|
|
2
3
|
import { DouyinEmojiRender } from "./douyin_emoji_render";
|
|
3
4
|
import { HTMLRender } from "./html_render";
|
|
4
|
-
import { isPromiseLike } from 'vtils';
|
|
5
5
|
import { MathRender } from "./math_render";
|
|
6
6
|
import { UnifiedEmojiRender } from "./unified_emoji_render";
|
|
7
7
|
import { WeixinEmojiRender } from "./weixin_emoji_render";
|
|
@@ -15,8 +15,8 @@ export var TextRender = /*#__PURE__*/function () {
|
|
|
15
15
|
var _loop = function _loop() {
|
|
16
16
|
var render = _arr[_i];
|
|
17
17
|
result = isPromiseLike(result) ? result.then(function (temp) {
|
|
18
|
-
return render.render(temp);
|
|
19
|
-
}) : render.render(result);
|
|
18
|
+
return render.render(temp, options);
|
|
19
|
+
}) : render.render(result, options);
|
|
20
20
|
};
|
|
21
21
|
for (var _i = 0, _arr = [options.douyinEmoji && DouyinEmojiRender, options.weixinEmoji && WeixinEmojiRender, options.unifiedEmoji && UnifiedEmojiRender, options.code && CodeRender, options.math && MathRender, HTMLRender].filter(Boolean); _i < _arr.length; _i++) {
|
|
22
22
|
_loop();
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// @ts-ignore
|
|
2
2
|
import "./unified_emoji_render.css";
|
|
3
|
-
var _ = {"unifiedEmoji":"
|
|
3
|
+
var _ = {"unifiedEmoji":"xtr_7414","background":"xtr_13902"};
|
|
4
4
|
import { characterToCodepoint, escapeRegExp } from 'vtils';
|
|
5
5
|
import { emojiRegExpBuilder } from 'vtils/regexp';
|
|
6
6
|
import { HTMLRender } from "./html_render";
|
|
@@ -53,7 +53,7 @@ var unifiedEmojiKeywordRegExp = new RegExp(Object.keys(unifiedEmojiKeywordMap).m
|
|
|
53
53
|
}).join('|'), 'g');
|
|
54
54
|
export var UnifiedEmojiRender = /*#__PURE__*/function () {
|
|
55
55
|
function UnifiedEmojiRender() {}
|
|
56
|
-
UnifiedEmojiRender.render = function render(text) {
|
|
56
|
+
UnifiedEmojiRender.render = function render(text, options) {
|
|
57
57
|
text = text.replace(unifiedEmojiKeywordRegExp, function (v) {
|
|
58
58
|
return unifiedEmojiKeywordMap[v];
|
|
59
59
|
});
|
|
@@ -78,7 +78,7 @@ export var UnifiedEmojiRender = /*#__PURE__*/function () {
|
|
|
78
78
|
}
|
|
79
79
|
imageUrl = "" + unifiedEmojiBaseUrl + (unifiedEmojiAlias.has(code) ? unifiedEmojiAlias.get(code) : code) + ".png";
|
|
80
80
|
}
|
|
81
|
-
return HTMLRender.freeze("<img
|
|
81
|
+
return HTMLRender.freeze(options.emojiRenderer === 'background' ? "<span style=\"background-image:url('" + imageUrl + "')\" class=\"" + _.unifiedEmoji + " " + _.background + "\" alt=\"" + v + "\" />" : "<img src=\"" + imageUrl + "\" class=\"" + _.unifiedEmoji + "\" alt=\"" + v + "\" />");
|
|
82
82
|
});
|
|
83
83
|
};
|
|
84
84
|
return UnifiedEmojiRender;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// @ts-ignore
|
|
2
2
|
import "./weixin_emoji_render.css";
|
|
3
|
-
var _ = {"weixinEmoji":"
|
|
3
|
+
var _ = {"weixinEmoji":"xtr_11169","background":"xtr_3920"};
|
|
4
4
|
import { escapeRegExp, keysStrict } from 'vtils';
|
|
5
5
|
import { HTMLRender } from "./html_render";
|
|
6
6
|
var weixinEmojiBaseUrl = "https://wxpublic-1251448646.file.myqcloud.com/public/common/files/";
|
|
@@ -323,9 +323,10 @@ var weixinEmojiRegExp = new RegExp("(" + weixinEmojiNames.map(function (k) {
|
|
|
323
323
|
}).join('|') + ")", 'g');
|
|
324
324
|
export var WeixinEmojiRender = /*#__PURE__*/function () {
|
|
325
325
|
function WeixinEmojiRender() {}
|
|
326
|
-
WeixinEmojiRender.render = function render(text) {
|
|
326
|
+
WeixinEmojiRender.render = function render(text, options) {
|
|
327
327
|
return text.replace(weixinEmojiRegExp, function (__, v) {
|
|
328
|
-
|
|
328
|
+
var url = "" + weixinEmojiBaseUrl + weixinEmojiMap2[v] + ".png";
|
|
329
|
+
return HTMLRender.freeze(options.emojiRenderer === 'background' ? "<span style=\"background-image:url('" + url + "')\" class=\"" + _.weixinEmoji + " " + _.background + "\" alt=\"" + v + "\" />" : "<img src=\"" + url + "\" class=\"" + _.weixinEmoji + "\" alt=\"" + v + "\" />");
|
|
329
330
|
});
|
|
330
331
|
};
|
|
331
332
|
return WeixinEmojiRender;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jayfong/x-text-render",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.22.0",
|
|
4
4
|
"license": "ISC",
|
|
5
5
|
"sideEffects": [
|
|
6
6
|
"*.css"
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"vtils": "^4.95.0"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
|
-
"@jayfong/x-request": "^2.
|
|
28
|
+
"@jayfong/x-request": "^2.22.0",
|
|
29
29
|
"fs-extra": "^10.0.1",
|
|
30
30
|
"globby": "^11",
|
|
31
31
|
"katex": "^0.16.8",
|