@ctzhian/tiptap 2.9.0 → 2.9.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.
@@ -22,8 +22,7 @@ export var Tooltip = Mark.create({
22
22
  return {};
23
23
  }
24
24
  return {
25
- 'data-tooltip': attributes.tooltip,
26
- 'class': 'tooltip-mark'
25
+ 'data-tooltip': attributes.tooltip
27
26
  };
28
27
  }
29
28
  }
@@ -82,7 +81,6 @@ export var Tooltip = Mark.create({
82
81
  var _tooltip = mark.attrs.tooltip;
83
82
  if (_tooltip) {
84
83
  decorations.push(Decoration.inline(pos, pos + node.nodeSize, {
85
- class: 'tooltip-mark',
86
84
  'data-tooltip': _tooltip
87
85
  }));
88
86
  }
@@ -93,20 +91,31 @@ export var Tooltip = Mark.create({
93
91
  }
94
92
  })];
95
93
  },
94
+ /**
95
+ * 下面是 Markdown 支持:
96
+ * - 解析:<span data-tooltip="提示">文本</span>
97
+ * - 导出:同样输出 <span data-tooltip="提示">文本</span>
98
+ */
96
99
  markdownTokenName: 'tooltip',
97
100
  markdownTokenizer: {
98
101
  name: 'tooltip',
99
102
  level: 'inline',
100
103
  start: function start(src) {
101
- return src.indexOf('{');
104
+ return src.indexOf('<span');
102
105
  },
103
106
  tokenize: function tokenize(src, _tokens, helpers) {
104
- var match = /^\{([^}]+)\}\(([^)]+)\)/.exec(src);
107
+ // 匹配形如:<span data-tooltip="提示">文本</span>
108
+ var match = /^<span\s+([^>]*?)>([\s\S]+?)<\/span>/.exec(src);
105
109
  if (!match) {
106
110
  return;
107
111
  }
108
- var text = match[1];
109
- var tooltip = match[2];
112
+ var attrs = match[1] || '';
113
+ var text = match[2] || '';
114
+ var tooltipMatch = /data-tooltip=["']([^"']+)["']/.exec(attrs);
115
+ if (!tooltipMatch) {
116
+ return;
117
+ }
118
+ var tooltip = tooltipMatch[1];
110
119
  return {
111
120
  type: 'tooltip',
112
121
  raw: match[0],
@@ -135,7 +144,7 @@ export var Tooltip = Mark.create({
135
144
  if (!tooltip) {
136
145
  return content;
137
146
  }
138
- return "{".concat(content, "}(").concat(tooltip, ")");
147
+ return "<span data-tooltip=\"".concat(tooltip, "\">").concat(content, "</span>");
139
148
  }
140
149
  });
141
150
  export default Tooltip;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ctzhian/tiptap",
3
- "version": "2.9.0",
3
+ "version": "2.9.1",
4
4
  "description": "基于 Tiptap 二次开发的编辑器组件",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",