@jayfong/x-text-render 2.21.10 → 2.22.1

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.
@@ -1,9 +1,9 @@
1
- .xtr_10809 {
1
+ .xtr_6156 {
2
2
  margin: 6px 0;
3
3
  margin-left: var(--text-indent, 0px);
4
4
  }
5
5
 
6
- .xtr_10809 .xtr_6067 {
6
+ .xtr_6156 .xtr_8220 {
7
7
  text-indent: 0;
8
8
  white-space: pre-wrap;
9
9
  background-color: rgba(0, 0, 0, 0.5);
@@ -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":"xtr_10809","content":"xtr_6067"};
9
+ var _ = {"code":"xtr_6156","content":"xtr_8220"};
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
- .xtr_14403 {
1
+ .xtr_4911 {
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
- .xtr_5110 {
9
+ .xtr_2678 {
10
+ background-size: 100% 100%;
11
+ background-repeat: no-repeat;
12
+ background-position: center;
13
+ }
14
+
15
+ .xtr_2585 {
10
16
  width: 1.0781em;
11
17
  }
12
18
 
13
- .xtr_14342 {
19
+ .xtr_13970 {
14
20
  width: 1.0313em;
15
21
  }
16
22
 
17
- .xtr_15901 {
23
+ .xtr_7657 {
18
24
  width: 1.0625em;
19
25
  }
20
26
 
21
- .xtr_16911 {
27
+ .xtr_11339 {
22
28
  width: 1.1563em;
23
29
  }
24
30
 
25
- .xtr_11704 {
31
+ .xtr_12547 {
26
32
  width: 1.0469em;
27
33
  }
28
34
 
29
- .xtr_11750 {
35
+ .xtr_18262 {
30
36
  width: 1.1406em;
31
37
  }
32
38
 
33
- .xtr_6129 {
39
+ .xtr_1060 {
34
40
  width: 1.0625em;
35
41
  }
36
42
 
37
- .xtr_346 {
43
+ .xtr_9852 {
38
44
  width: 1.0781em;
39
45
  }
40
46
 
41
- .xtr_11756 {
47
+ .xtr_3718 {
42
48
  width: 1.1406em;
43
49
  }
44
50
 
45
- .xtr_7121 {
51
+ .xtr_10012 {
46
52
  width: 1.0781em;
47
53
  }
48
54
 
49
- .xtr_12147 {
55
+ .xtr_15657 {
50
56
  width: 1.1406em;
51
57
  }
52
58
 
53
- .xtr_9902 {
59
+ .xtr_7795 {
54
60
  width: 1.0781em;
55
61
  }
56
62
 
57
- .xtr_13485 {
63
+ .xtr_17204 {
58
64
  width: 1.375em;
59
65
  }
60
66
 
61
- .xtr_9153 {
67
+ .xtr_13199 {
62
68
  width: 1.0625em;
63
69
  }
64
70
 
65
- .xtr_5473 {
71
+ .xtr_12286 {
66
72
  width: 1.1406em;
67
73
  }
68
74
 
69
- .xtr_13887 {
75
+ .xtr_14309 {
70
76
  width: 1.1406em;
71
77
  }
72
78
 
73
- .xtr_2079 {
79
+ .xtr_15812 {
74
80
  width: 1.0625em;
75
81
  }
76
82
 
77
- .xtr_9094 {
83
+ .xtr_12467 {
78
84
  width: 1.125em;
79
85
  }
80
86
 
81
- .xtr_8960 {
87
+ .xtr_12774 {
82
88
  width: 1.1094em;
83
89
  }
84
90
 
85
- .xtr_4502 {
91
+ .xtr_7697 {
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":"xtr_14403","_互粉":"xtr_5110","_再见":"xtr_14342","_吐血":"xtr_15901","_听歌":"xtr_16911","_嘿哈":"xtr_11704","_大哭":"xtr_11750","_小鼓掌":"xtr_6129","_强":"xtr_346","_我想静静":"xtr_11756","_擦汗":"xtr_7121","_机智":"xtr_12147","_来看我":"xtr_9902","_求抱抱":"xtr_13485","_灵机一动":"xtr_9153","_熊吉":"xtr_5473","_笑哭":"xtr_13887","_紫薇别走":"xtr_2079","_耶":"xtr_9094","_震惊":"xtr_8960","_飞吻":"xtr_4502"};
8
+ var _ = {"emoji":"xtr_4911","background":"xtr_2678","_互粉":"xtr_2585","_再见":"xtr_13970","_吐血":"xtr_7657","_听歌":"xtr_11339","_嘿哈":"xtr_12547","_大哭":"xtr_18262","_小鼓掌":"xtr_1060","_强":"xtr_9852","_我想静静":"xtr_3718","_擦汗":"xtr_10012","_机智":"xtr_15657","_来看我":"xtr_7795","_求抱抱":"xtr_17204","_灵机一动":"xtr_13199","_熊吉":"xtr_12286","_笑哭":"xtr_14309","_紫薇别走":"xtr_15812","_耶":"xtr_12467","_震惊":"xtr_12774","_飞吻":"xtr_7697"};
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
- return _html_render.HTMLRender.freeze("<img\n src=\"" + douyinEmojiBaseUrl + douyinEmojiUrlMap[v] + ".png\"\n class=\"" + _.emoji + (_["_" + v] ? " " + _["_" + v] : '') + "\"\n alt=\"[" + v + "]\"\n />");
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 + "\"></span>" : "<img src=\"" + url + "\" class=\"" + baseClass + "\" alt=\"" + alt + "\" />");
238
241
  });
239
242
  };
240
243
  return DouyinEmojiRender;
@@ -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;
@@ -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) {
@@ -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();
@@ -1,7 +1,13 @@
1
- .xtr_19299 {
1
+ .xtr_18857 {
2
2
  display: inline-block;
3
3
  font-size: 1.2em;
4
4
  width: 1em;
5
5
  height: 1em;
6
6
  vertical-align: -0.2em;
7
7
  }
8
+
9
+ .xtr_14463 {
10
+ background-size: 100% 100%;
11
+ background-repeat: no-repeat;
12
+ background-position: center;
13
+ }
@@ -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":"xtr_19299"};
10
+ var _ = {"unifiedEmoji":"xtr_18857","background":"xtr_14463"};
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\n src=\"" + imageUrl + "\"\n class=\"" + _.unifiedEmoji + "\"\n alt=\"" + v + "\"\n />");
85
+ return _html_render.HTMLRender.freeze(options.emojiRenderer === 'background' ? "<span style=\"background-image:url('" + imageUrl + "')\" class=\"" + _.unifiedEmoji + " " + _.background + "\" alt=\"" + v + "\"></span>" : "<img src=\"" + imageUrl + "\" class=\"" + _.unifiedEmoji + "\" alt=\"" + v + "\" />");
86
86
  });
87
87
  };
88
88
  return UnifiedEmojiRender;
@@ -1,7 +1,13 @@
1
- .xtr_8825 {
1
+ .xtr_17118 {
2
2
  display: inline-block;
3
3
  font-size: 1.2em;
4
4
  width: 1em;
5
5
  height: 1em;
6
6
  vertical-align: -0.2em;
7
7
  }
8
+
9
+ .xtr_2104 {
10
+ background-size: 100% 100%;
11
+ background-repeat: no-repeat;
12
+ background-position: center;
13
+ }
@@ -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":"xtr_8825"};
9
+ var _ = {"weixinEmoji":"xtr_17118","background":"xtr_2104"};
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
- return _html_render.HTMLRender.freeze("<img\n src=\"" + weixinEmojiBaseUrl + weixinEmojiMap2[v] + ".png\"\n class=\"" + _.weixinEmoji + "\"\n alt=\"" + v + "\"\n />");
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 + "\"></span>" : "<img src=\"" + url + "\" class=\"" + _.weixinEmoji + "\" alt=\"" + v + "\" />");
333
334
  });
334
335
  };
335
336
  return WeixinEmojiRender;
@@ -1,9 +1,9 @@
1
- .xtr_10809 {
1
+ .xtr_6156 {
2
2
  margin: 6px 0;
3
3
  margin-left: var(--text-indent, 0px);
4
4
  }
5
5
 
6
- .xtr_10809 .xtr_6067 {
6
+ .xtr_6156 .xtr_8220 {
7
7
  text-indent: 0;
8
8
  white-space: pre-wrap;
9
9
  background-color: rgba(0, 0, 0, 0.5);
@@ -1,3 +1,4 @@
1
+ import { TextRenderOptions } from './text_render';
1
2
  export declare class CodeRender {
2
- static render(text: string): string;
3
+ static render(text: string, _options: TextRenderOptions): string;
3
4
  }
@@ -1,12 +1,12 @@
1
1
  // @ts-ignore
2
2
  import "./code_render.css";
3
- var _ = {"code":"xtr_10809","content":"xtr_6067"};
3
+ var _ = {"code":"xtr_6156","content":"xtr_8220"};
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
- .xtr_14403 {
1
+ .xtr_4911 {
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
- .xtr_5110 {
9
+ .xtr_2678 {
10
+ background-size: 100% 100%;
11
+ background-repeat: no-repeat;
12
+ background-position: center;
13
+ }
14
+
15
+ .xtr_2585 {
10
16
  width: 1.0781em;
11
17
  }
12
18
 
13
- .xtr_14342 {
19
+ .xtr_13970 {
14
20
  width: 1.0313em;
15
21
  }
16
22
 
17
- .xtr_15901 {
23
+ .xtr_7657 {
18
24
  width: 1.0625em;
19
25
  }
20
26
 
21
- .xtr_16911 {
27
+ .xtr_11339 {
22
28
  width: 1.1563em;
23
29
  }
24
30
 
25
- .xtr_11704 {
31
+ .xtr_12547 {
26
32
  width: 1.0469em;
27
33
  }
28
34
 
29
- .xtr_11750 {
35
+ .xtr_18262 {
30
36
  width: 1.1406em;
31
37
  }
32
38
 
33
- .xtr_6129 {
39
+ .xtr_1060 {
34
40
  width: 1.0625em;
35
41
  }
36
42
 
37
- .xtr_346 {
43
+ .xtr_9852 {
38
44
  width: 1.0781em;
39
45
  }
40
46
 
41
- .xtr_11756 {
47
+ .xtr_3718 {
42
48
  width: 1.1406em;
43
49
  }
44
50
 
45
- .xtr_7121 {
51
+ .xtr_10012 {
46
52
  width: 1.0781em;
47
53
  }
48
54
 
49
- .xtr_12147 {
55
+ .xtr_15657 {
50
56
  width: 1.1406em;
51
57
  }
52
58
 
53
- .xtr_9902 {
59
+ .xtr_7795 {
54
60
  width: 1.0781em;
55
61
  }
56
62
 
57
- .xtr_13485 {
63
+ .xtr_17204 {
58
64
  width: 1.375em;
59
65
  }
60
66
 
61
- .xtr_9153 {
67
+ .xtr_13199 {
62
68
  width: 1.0625em;
63
69
  }
64
70
 
65
- .xtr_5473 {
71
+ .xtr_12286 {
66
72
  width: 1.1406em;
67
73
  }
68
74
 
69
- .xtr_13887 {
75
+ .xtr_14309 {
70
76
  width: 1.1406em;
71
77
  }
72
78
 
73
- .xtr_2079 {
79
+ .xtr_15812 {
74
80
  width: 1.0625em;
75
81
  }
76
82
 
77
- .xtr_9094 {
83
+ .xtr_12467 {
78
84
  width: 1.125em;
79
85
  }
80
86
 
81
- .xtr_8960 {
87
+ .xtr_12774 {
82
88
  width: 1.1094em;
83
89
  }
84
90
 
85
- .xtr_4502 {
91
+ .xtr_7697 {
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
- static latestEmojiList: ("微笑" | "" | "发呆" | "酷拽" | "抠鼻" | "流泪" | "捂脸" | "发怒" | "呲牙" | "尬笑" | "害羞" | "调皮" | "舔屏" | "" | "爱心" | "比心" | "" | "鼓掌" | "感谢" | "抱抱你" | "玫瑰" | "灵机一动" | "" | "打脸" | "大笑" | "机智" | "送心" | "666" | "闭嘴" | "来看我" | "一起加油" | "哈欠" | "震惊" | "" | "" | "" | "疑问" | "泣不成声" | "小鼓掌" | "大金牙" | "偷笑" | "石化" | "思考" | "吐血" | "可怜" | "" | "撇嘴" | "笑哭" | "奸笑" | "得意" | "憨笑" | "坏笑" | "抓狂" | "泪奔" | "" | "恐惧" | "愉快" | "快哭了" | "翻白眼" | "互粉" | "我想静静" | "委屈" | "鄙视" | "飞吻" | "再见" | "紫薇别走" | "听歌" | "求抱抱" | "绝望的凝视" | "不失礼貌的微笑" | "不看" | "裂开" | "干饭人" | "吐舌" | "呆无辜" | "白眼" | "熊吉" | "猪头" | "冷漠" | "微笑袋鼠" | "凝视" | "暗中观察" | "二哈" | "菜狗" | "黑脸" | "展开说说" | "蜜蜂狗" | "摸头" | "皱眉" | "擦汗" | "红脸" | "做鬼脸" | "" | "如花" | "" | "惊喜" | "敲打" | "奋斗" | "吐彩虹" | "大哭" | "嘿哈" | "加好友" | "惊恐" | "惊讶" | "" | "难过" | "斜眼" | "阴险" | "悠闲" | "咒骂" | "吃瓜群众" | "绿帽子" | "真的会谢" | "达咩" | "敢怒不敢言" | "投降" | "求求了" | "眼含热泪" | "叹气" | "好开心" | "不是吧" | "动动脑子" | "表面微笑" | "表面呲牙" | "鞠躬" | "躺平" | "强壮" | "碰拳" | "OK" | "击掌" | "左上" | "握手" | "抱拳" | "勾引" | "拳头" | "" | "胜利" | "右边" | "左边" | "嘴唇" | "心碎" | "凋谢" | "啤酒" | "咖啡" | "蛋糕" | "礼物" | "撒花" | "加一" | "减一" | "okk" | "V5" | "" | "给力" | "红包" | "" | "" | "我太难了" | "18禁" | "炸弹" | "去污粉" | "西瓜" | "加鸡腿" | "我酸了" | "握爪" | "太阳" | "月亮" | "给跪了" | "蕉绿" | "扎心" | "胡瓜" | "yyds" | "emo" | "开心兔" | "招财兔" | "年兽兔" | "打call" | "栓Q" | "无语" | "雪人" | "雪花" | "圣诞树" | "平安果" | "圣诞帽" | "气球" | "干杯" | "烟花" | "福" | "candy" | "糖葫芦" | "虎头" | "饺子" | "鞭炮" | "元宝" | "灯笼" | "锦鲤" | "巧克力" | "汤圆" | "情书" | "iloveyou" | "戒指" | "小黄鸭" | "棒棒糖" | "纸飞机" | "必胜" | "粽子")[];
3
- static render(text: string): string;
3
+ static latestEmojiList: ("666" | "OK" | "偷笑" | "再见" | "凋谢" | "勾引" | "发呆" | "发怒" | "可怜" | "叹气" | "" | "呲牙" | "咒骂" | "咖啡" | "哈欠" | "啤酒" | "" | "嘴唇" | "嘿哈" | "" | "" | "坏笑" | "大哭" | "太阳" | "奋斗" | "奸笑" | "委屈" | "害羞" | "" | "" | "得意" | "微笑" | "心碎" | "快哭了" | "恐惧" | "悠闲" | "惊恐" | "惊讶" | "愉快" | "憨笑" | "打脸" | "抓狂" | "投降" | "抠鼻" | "抱拳" | "拳头" | "捂脸" | "握手" | "撇嘴" | "擦汗" | "敲打" | "无语" | "" | "月亮" | "机智" | "流泪" | "炸弹" | "烟花" | "爱心" | "猪头" | "玫瑰" | "疑问" | "白眼" | "皱眉" | "礼物" | "" | "红包" | "翻白眼" | "" | "胜利" | "" | "蛋糕" | "" | "裂开" | "西瓜" | "调皮" | "鄙视" | "闭嘴" | "阴险" | "难过" | "飞吻" | "鼓掌" | "酷拽" | "尬笑" | "舔屏" | "" | "比心" | "" | "感谢" | "抱抱你" | "灵机一动" | "大笑" | "送心" | "来看我" | "一起加油" | "震惊" | "泣不成声" | "小鼓掌" | "大金牙" | "石化" | "思考" | "吐血" | "笑哭" | "泪奔" | "" | "互粉" | "我想静静" | "紫薇别走" | "听歌" | "求抱抱" | "绝望的凝视" | "不失礼貌的微笑" | "不看" | "干饭人" | "吐舌" | "呆无辜" | "熊吉" | "冷漠" | "微笑袋鼠" | "凝视" | "暗中观察" | "二哈" | "菜狗" | "黑脸" | "展开说说" | "蜜蜂狗" | "摸头" | "红脸" | "做鬼脸" | "如花" | "惊喜" | "吐彩虹" | "加好友" | "斜眼" | "吃瓜群众" | "绿帽子" | "真的会谢" | "达咩" | "敢怒不敢言" | "求求了" | "眼含热泪" | "好开心" | "不是吧" | "动动脑子" | "表面微笑" | "表面呲牙" | "鞠躬" | "躺平" | "强壮" | "碰拳" | "击掌" | "左上" | "右边" | "左边" | "撒花" | "加一" | "减一" | "okk" | "V5" | "" | "给力" | "" | "" | "我太难了" | "18禁" | "去污粉" | "加鸡腿" | "我酸了" | "握爪" | "给跪了" | "蕉绿" | "扎心" | "胡瓜" | "yyds" | "emo" | "开心兔" | "招财兔" | "年兽兔" | "打call" | "栓Q" | "雪人" | "雪花" | "圣诞树" | "平安果" | "圣诞帽" | "气球" | "干杯" | "candy" | "糖葫芦" | "虎头" | "饺子" | "鞭炮" | "元宝" | "灯笼" | "锦鲤" | "巧克力" | "汤圆" | "情书" | "iloveyou" | "戒指" | "小黄鸭" | "棒棒糖" | "纸飞机" | "必胜" | "粽子")[];
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":"xtr_14403","_互粉":"xtr_5110","_再见":"xtr_14342","_吐血":"xtr_15901","_听歌":"xtr_16911","_嘿哈":"xtr_11704","_大哭":"xtr_11750","_小鼓掌":"xtr_6129","_强":"xtr_346","_我想静静":"xtr_11756","_擦汗":"xtr_7121","_机智":"xtr_12147","_来看我":"xtr_9902","_求抱抱":"xtr_13485","_灵机一动":"xtr_9153","_熊吉":"xtr_5473","_笑哭":"xtr_13887","_紫薇别走":"xtr_2079","_耶":"xtr_9094","_震惊":"xtr_8960","_飞吻":"xtr_4502"};
3
+ var _ = {"emoji":"xtr_4911","background":"xtr_2678","_互粉":"xtr_2585","_再见":"xtr_13970","_吐血":"xtr_7657","_听歌":"xtr_11339","_嘿哈":"xtr_12547","_大哭":"xtr_18262","_小鼓掌":"xtr_1060","_强":"xtr_9852","_我想静静":"xtr_3718","_擦汗":"xtr_10012","_机智":"xtr_15657","_来看我":"xtr_7795","_求抱抱":"xtr_17204","_灵机一动":"xtr_13199","_熊吉":"xtr_12286","_笑哭":"xtr_14309","_紫薇别走":"xtr_15812","_耶":"xtr_12467","_震惊":"xtr_12774","_飞吻":"xtr_7697"};
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
- return HTMLRender.freeze("<img\n src=\"" + douyinEmojiBaseUrl + douyinEmojiUrlMap[v] + ".png\"\n class=\"" + _.emoji + (_["_" + v] ? " " + _["_" + v] : '') + "\"\n alt=\"[" + v + "]\"\n />");
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 + "\"></span>" : "<img src=\"" + url + "\" class=\"" + baseClass + "\" alt=\"" + alt + "\" />");
235
237
  });
236
238
  };
237
239
  return DouyinEmojiRender;
@@ -1,4 +1,5 @@
1
+ import { TextRenderOptions } from './text_render';
1
2
  export declare class HTMLRender {
2
3
  static freeze(text: string): string;
3
- static render(text: string): string;
4
+ static render(text: string, _options: TextRenderOptions): string;
4
5
  }
@@ -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/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  import { TextRender } from './text_render';
2
2
  export declare class XTextRender extends TextRender {
3
- static latestDouyinEmojiList: ("微笑" | "" | "发呆" | "酷拽" | "抠鼻" | "流泪" | "捂脸" | "发怒" | "呲牙" | "尬笑" | "害羞" | "调皮" | "舔屏" | "" | "爱心" | "比心" | "" | "鼓掌" | "感谢" | "抱抱你" | "玫瑰" | "灵机一动" | "" | "打脸" | "大笑" | "机智" | "送心" | "666" | "闭嘴" | "来看我" | "一起加油" | "哈欠" | "震惊" | "" | "" | "" | "疑问" | "泣不成声" | "小鼓掌" | "大金牙" | "偷笑" | "石化" | "思考" | "吐血" | "可怜" | "" | "撇嘴" | "笑哭" | "奸笑" | "得意" | "憨笑" | "坏笑" | "抓狂" | "泪奔" | "" | "恐惧" | "愉快" | "快哭了" | "翻白眼" | "互粉" | "我想静静" | "委屈" | "鄙视" | "飞吻" | "再见" | "紫薇别走" | "听歌" | "求抱抱" | "绝望的凝视" | "不失礼貌的微笑" | "不看" | "裂开" | "干饭人" | "吐舌" | "呆无辜" | "白眼" | "熊吉" | "猪头" | "冷漠" | "微笑袋鼠" | "凝视" | "暗中观察" | "二哈" | "菜狗" | "黑脸" | "展开说说" | "蜜蜂狗" | "摸头" | "皱眉" | "擦汗" | "红脸" | "做鬼脸" | "" | "如花" | "" | "惊喜" | "敲打" | "奋斗" | "吐彩虹" | "大哭" | "嘿哈" | "加好友" | "惊恐" | "惊讶" | "" | "难过" | "斜眼" | "阴险" | "悠闲" | "咒骂" | "吃瓜群众" | "绿帽子" | "真的会谢" | "达咩" | "敢怒不敢言" | "投降" | "求求了" | "眼含热泪" | "叹气" | "好开心" | "不是吧" | "动动脑子" | "表面微笑" | "表面呲牙" | "鞠躬" | "躺平" | "强壮" | "碰拳" | "OK" | "击掌" | "左上" | "握手" | "抱拳" | "勾引" | "拳头" | "" | "胜利" | "右边" | "左边" | "嘴唇" | "心碎" | "凋谢" | "啤酒" | "咖啡" | "蛋糕" | "礼物" | "撒花" | "加一" | "减一" | "okk" | "V5" | "" | "给力" | "红包" | "" | "" | "我太难了" | "18禁" | "炸弹" | "去污粉" | "西瓜" | "加鸡腿" | "我酸了" | "握爪" | "太阳" | "月亮" | "给跪了" | "蕉绿" | "扎心" | "胡瓜" | "yyds" | "emo" | "开心兔" | "招财兔" | "年兽兔" | "打call" | "栓Q" | "无语" | "雪人" | "雪花" | "圣诞树" | "平安果" | "圣诞帽" | "气球" | "干杯" | "烟花" | "福" | "candy" | "糖葫芦" | "虎头" | "饺子" | "鞭炮" | "元宝" | "灯笼" | "锦鲤" | "巧克力" | "汤圆" | "情书" | "iloveyou" | "戒指" | "小黄鸭" | "棒棒糖" | "纸飞机" | "必胜" | "粽子")[];
3
+ static latestDouyinEmojiList: ("666" | "OK" | "偷笑" | "再见" | "凋谢" | "勾引" | "发呆" | "发怒" | "可怜" | "叹气" | "" | "呲牙" | "咒骂" | "咖啡" | "哈欠" | "啤酒" | "" | "嘴唇" | "嘿哈" | "" | "" | "坏笑" | "大哭" | "太阳" | "奋斗" | "奸笑" | "委屈" | "害羞" | "" | "" | "得意" | "微笑" | "心碎" | "快哭了" | "恐惧" | "悠闲" | "惊恐" | "惊讶" | "愉快" | "憨笑" | "打脸" | "抓狂" | "投降" | "抠鼻" | "抱拳" | "拳头" | "捂脸" | "握手" | "撇嘴" | "擦汗" | "敲打" | "无语" | "" | "月亮" | "机智" | "流泪" | "炸弹" | "烟花" | "爱心" | "猪头" | "玫瑰" | "疑问" | "白眼" | "皱眉" | "礼物" | "" | "红包" | "翻白眼" | "" | "胜利" | "" | "蛋糕" | "" | "裂开" | "西瓜" | "调皮" | "鄙视" | "闭嘴" | "阴险" | "难过" | "飞吻" | "鼓掌" | "酷拽" | "尬笑" | "舔屏" | "" | "比心" | "" | "感谢" | "抱抱你" | "灵机一动" | "大笑" | "送心" | "来看我" | "一起加油" | "震惊" | "泣不成声" | "小鼓掌" | "大金牙" | "石化" | "思考" | "吐血" | "笑哭" | "泪奔" | "" | "互粉" | "我想静静" | "紫薇别走" | "听歌" | "求抱抱" | "绝望的凝视" | "不失礼貌的微笑" | "不看" | "干饭人" | "吐舌" | "呆无辜" | "熊吉" | "冷漠" | "微笑袋鼠" | "凝视" | "暗中观察" | "二哈" | "菜狗" | "黑脸" | "展开说说" | "蜜蜂狗" | "摸头" | "红脸" | "做鬼脸" | "如花" | "惊喜" | "吐彩虹" | "加好友" | "斜眼" | "吃瓜群众" | "绿帽子" | "真的会谢" | "达咩" | "敢怒不敢言" | "求求了" | "眼含热泪" | "好开心" | "不是吧" | "动动脑子" | "表面微笑" | "表面呲牙" | "鞠躬" | "躺平" | "强壮" | "碰拳" | "击掌" | "左上" | "右边" | "左边" | "撒花" | "加一" | "减一" | "okk" | "V5" | "" | "给力" | "" | "" | "我太难了" | "18禁" | "去污粉" | "加鸡腿" | "我酸了" | "握爪" | "给跪了" | "蕉绿" | "扎心" | "胡瓜" | "yyds" | "emo" | "开心兔" | "招财兔" | "年兽兔" | "打call" | "栓Q" | "雪人" | "雪花" | "圣诞树" | "平安果" | "圣诞帽" | "气球" | "干杯" | "candy" | "糖葫芦" | "虎头" | "饺子" | "鞭炮" | "元宝" | "灯笼" | "锦鲤" | "巧克力" | "汤圆" | "情书" | "iloveyou" | "戒指" | "小黄鸭" | "棒棒糖" | "纸飞机" | "必胜" | "粽子")[];
4
4
  }
@@ -1,4 +1,5 @@
1
1
  import './math_render.css';
2
+ import { TextRenderOptions } from './text_render';
2
3
  export declare class MathRender {
3
- static render(text: string): string | Promise<string>;
4
+ static render(text: string, _options: TextRenderOptions): string | Promise<string>;
4
5
  }
@@ -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) {
@@ -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>;
@@ -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,7 +1,13 @@
1
- .xtr_19299 {
1
+ .xtr_18857 {
2
2
  display: inline-block;
3
3
  font-size: 1.2em;
4
4
  width: 1em;
5
5
  height: 1em;
6
6
  vertical-align: -0.2em;
7
7
  }
8
+
9
+ .xtr_14463 {
10
+ background-size: 100% 100%;
11
+ background-repeat: no-repeat;
12
+ background-position: center;
13
+ }
@@ -1,3 +1,4 @@
1
+ import type { TextRenderOptions } from './text_render';
1
2
  export declare class UnifiedEmojiRender {
2
- static render(text: string): string;
3
+ static render(text: string, options: TextRenderOptions): string;
3
4
  }
@@ -1,6 +1,6 @@
1
1
  // @ts-ignore
2
2
  import "./unified_emoji_render.css";
3
- var _ = {"unifiedEmoji":"xtr_19299"};
3
+ var _ = {"unifiedEmoji":"xtr_18857","background":"xtr_14463"};
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\n src=\"" + imageUrl + "\"\n class=\"" + _.unifiedEmoji + "\"\n alt=\"" + v + "\"\n />");
81
+ return HTMLRender.freeze(options.emojiRenderer === 'background' ? "<span style=\"background-image:url('" + imageUrl + "')\" class=\"" + _.unifiedEmoji + " " + _.background + "\" alt=\"" + v + "\"></span>" : "<img src=\"" + imageUrl + "\" class=\"" + _.unifiedEmoji + "\" alt=\"" + v + "\" />");
82
82
  });
83
83
  };
84
84
  return UnifiedEmojiRender;
@@ -1,7 +1,13 @@
1
- .xtr_8825 {
1
+ .xtr_17118 {
2
2
  display: inline-block;
3
3
  font-size: 1.2em;
4
4
  width: 1em;
5
5
  height: 1em;
6
6
  vertical-align: -0.2em;
7
7
  }
8
+
9
+ .xtr_2104 {
10
+ background-size: 100% 100%;
11
+ background-repeat: no-repeat;
12
+ background-position: center;
13
+ }
@@ -1,3 +1,4 @@
1
+ import type { TextRenderOptions } from './text_render';
1
2
  export declare class WeixinEmojiRender {
2
- static render(text: string): string;
3
+ static render(text: string, options: TextRenderOptions): string;
3
4
  }
@@ -1,6 +1,6 @@
1
1
  // @ts-ignore
2
2
  import "./weixin_emoji_render.css";
3
- var _ = {"weixinEmoji":"xtr_8825"};
3
+ var _ = {"weixinEmoji":"xtr_17118","background":"xtr_2104"};
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
- return HTMLRender.freeze("<img\n src=\"" + weixinEmojiBaseUrl + weixinEmojiMap2[v] + ".png\"\n class=\"" + _.weixinEmoji + "\"\n alt=\"" + v + "\"\n />");
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 + "\"></span>" : "<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.21.10",
3
+ "version": "2.22.1",
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.21.10",
28
+ "@jayfong/x-request": "^2.22.1",
29
29
  "fs-extra": "^10.0.1",
30
30
  "globby": "^11",
31
31
  "katex": "^0.16.8",