@clevertask/scribe 0.1.0 → 0.1.2
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/README.md +60 -16
- package/dist/{BarMenu-BDtEfu-R.js → BarMenu-DaKIz3zZ.js} +1 -1
- package/dist/assets/index.css +1 -1
- package/dist/components/Menu/BarMenu.js +2 -2
- package/dist/components/Menu/BubbleMenu.js +78 -74
- package/dist/components/Menu/Mobile/ListOptionBar.js +1 -1
- package/dist/components/Scribe/extension/emoji/suggest.js +1 -1
- package/dist/components/Scribe/extension/extension-link.js +1 -1
- package/dist/components/Scribe/extension/extension-markdown-paste.js +2 -2
- package/dist/components/Scribe/extension/extension-selectedText.js +1 -1
- package/dist/components/Scribe/extension/index.d.ts +17 -2
- package/dist/components/Scribe/extension/index.d.ts.map +1 -1
- package/dist/components/Scribe/extension/index.js +2655 -2580
- package/dist/components/Scribe/extension/slashCommand/SlashCommandList.js +1616 -1618
- package/dist/components/Scribe/extension/slashCommand/index.js +2 -2
- package/dist/components/Scribe/extension/slashCommand/renderItems.js +1 -1
- package/dist/components/Scribe/extension/tableOfContents.d.ts +49 -0
- package/dist/components/Scribe/extension/tableOfContents.d.ts.map +1 -0
- package/dist/components/Scribe/extension/tableOfContents.js +181 -0
- package/dist/components/Scribe/index.d.ts +12 -0
- package/dist/components/Scribe/index.d.ts.map +1 -1
- package/dist/components/Scribe/index.js +108 -65
- package/dist/{extension-link-D3eyOFkn.js → extension-link-Ch_T7WWG.js} +1 -1
- package/dist/{index-hHvpW2H6.js → index-BiBV5TQx.js} +1287 -1250
- package/dist/{index-FY_iYS6i.js → index-CqzMmrnw.js} +1 -1
- package/dist/{index-PJNQPLn5.js → index-DxF-1P4n.js} +196 -203
- package/dist/index-V-gN11Y9.js +249 -0
- package/dist/main.js +1 -1
- package/dist/{markdown-to-html-BwS08CTi.js → markdown-to-html-pL7ckd-m.js} +14 -14
- package/dist/purify.es-exIQuqhb.js +595 -0
- package/dist/utils/create-scribe-editor.js +3 -3
- package/dist/utils/html-to-markdown.js +226 -306
- package/dist/utils/index.js +1 -1
- package/dist/utils/markdown-to-html.js +2 -2
- package/package.json +30 -30
- package/dist/index-DZylq4Bc.js +0 -232
- package/dist/purify.es-BPDBzHtc.js +0 -552
|
@@ -1,131 +1,58 @@
|
|
|
1
|
-
import { p as
|
|
2
|
-
function
|
|
3
|
-
for (var
|
|
4
|
-
var
|
|
5
|
-
for (var n in
|
|
6
|
-
|
|
1
|
+
import { p as $ } from "../purify.es-exIQuqhb.js";
|
|
2
|
+
function H(e) {
|
|
3
|
+
for (var t = 1; t < arguments.length; t++) {
|
|
4
|
+
var r = arguments[t];
|
|
5
|
+
for (var n in r)
|
|
6
|
+
Object.prototype.hasOwnProperty.call(r, n) && (e[n] = r[n]);
|
|
7
7
|
}
|
|
8
8
|
return e;
|
|
9
9
|
}
|
|
10
|
-
function v(e,
|
|
11
|
-
return Array(
|
|
10
|
+
function v(e, t) {
|
|
11
|
+
return Array(t + 1).join(e);
|
|
12
12
|
}
|
|
13
|
-
function
|
|
13
|
+
function C(e) {
|
|
14
14
|
return e.replace(/^\n*/, "");
|
|
15
15
|
}
|
|
16
|
-
function
|
|
17
|
-
for (var
|
|
18
|
-
`; )
|
|
19
|
-
return e.substring(0,
|
|
16
|
+
function b(e) {
|
|
17
|
+
for (var t = e.length; t > 0 && e[t - 1] === `
|
|
18
|
+
`; ) t--;
|
|
19
|
+
return e.substring(0, t);
|
|
20
20
|
}
|
|
21
|
-
function C(e) {
|
|
22
|
-
return R(T(e));
|
|
23
|
-
}
|
|
24
|
-
var I = [
|
|
25
|
-
"ADDRESS",
|
|
26
|
-
"ARTICLE",
|
|
27
|
-
"ASIDE",
|
|
28
|
-
"AUDIO",
|
|
29
|
-
"BLOCKQUOTE",
|
|
30
|
-
"BODY",
|
|
31
|
-
"CANVAS",
|
|
32
|
-
"CENTER",
|
|
33
|
-
"DD",
|
|
34
|
-
"DIR",
|
|
35
|
-
"DIV",
|
|
36
|
-
"DL",
|
|
37
|
-
"DT",
|
|
38
|
-
"FIELDSET",
|
|
39
|
-
"FIGCAPTION",
|
|
40
|
-
"FIGURE",
|
|
41
|
-
"FOOTER",
|
|
42
|
-
"FORM",
|
|
43
|
-
"FRAMESET",
|
|
44
|
-
"H1",
|
|
45
|
-
"H2",
|
|
46
|
-
"H3",
|
|
47
|
-
"H4",
|
|
48
|
-
"H5",
|
|
49
|
-
"H6",
|
|
50
|
-
"HEADER",
|
|
51
|
-
"HGROUP",
|
|
52
|
-
"HR",
|
|
53
|
-
"HTML",
|
|
54
|
-
"ISINDEX",
|
|
55
|
-
"LI",
|
|
56
|
-
"MAIN",
|
|
57
|
-
"MENU",
|
|
58
|
-
"NAV",
|
|
59
|
-
"NOFRAMES",
|
|
60
|
-
"NOSCRIPT",
|
|
61
|
-
"OL",
|
|
62
|
-
"OUTPUT",
|
|
63
|
-
"P",
|
|
64
|
-
"PRE",
|
|
65
|
-
"SECTION",
|
|
66
|
-
"TABLE",
|
|
67
|
-
"TBODY",
|
|
68
|
-
"TD",
|
|
69
|
-
"TFOOT",
|
|
70
|
-
"TH",
|
|
71
|
-
"THEAD",
|
|
72
|
-
"TR",
|
|
73
|
-
"UL"
|
|
74
|
-
];
|
|
75
|
-
function A(e) {
|
|
76
|
-
return N(e, I);
|
|
77
|
-
}
|
|
78
|
-
var b = [
|
|
79
|
-
"AREA",
|
|
80
|
-
"BASE",
|
|
81
|
-
"BR",
|
|
82
|
-
"COL",
|
|
83
|
-
"COMMAND",
|
|
84
|
-
"EMBED",
|
|
85
|
-
"HR",
|
|
86
|
-
"IMG",
|
|
87
|
-
"INPUT",
|
|
88
|
-
"KEYGEN",
|
|
89
|
-
"LINK",
|
|
90
|
-
"META",
|
|
91
|
-
"PARAM",
|
|
92
|
-
"SOURCE",
|
|
93
|
-
"TRACK",
|
|
94
|
-
"WBR"
|
|
95
|
-
];
|
|
96
21
|
function S(e) {
|
|
97
|
-
return
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
var w = [
|
|
103
|
-
"A",
|
|
104
|
-
"TABLE",
|
|
105
|
-
"THEAD",
|
|
106
|
-
"TBODY",
|
|
107
|
-
"TFOOT",
|
|
108
|
-
"TH",
|
|
109
|
-
"TD",
|
|
110
|
-
"IFRAME",
|
|
111
|
-
"SCRIPT",
|
|
112
|
-
"AUDIO",
|
|
113
|
-
"VIDEO"
|
|
114
|
-
];
|
|
115
|
-
function H(e) {
|
|
116
|
-
return N(e, w);
|
|
22
|
+
return b(C(e));
|
|
23
|
+
}
|
|
24
|
+
var F = ["ADDRESS", "ARTICLE", "ASIDE", "AUDIO", "BLOCKQUOTE", "BODY", "CANVAS", "CENTER", "DD", "DIR", "DIV", "DL", "DT", "FIELDSET", "FIGCAPTION", "FIGURE", "FOOTER", "FORM", "FRAMESET", "H1", "H2", "H3", "H4", "H5", "H6", "HEADER", "HGROUP", "HR", "HTML", "ISINDEX", "LI", "MAIN", "MENU", "NAV", "NOFRAMES", "NOSCRIPT", "OL", "OUTPUT", "P", "PRE", "SECTION", "TABLE", "TBODY", "TD", "TFOOT", "TH", "THEAD", "TR", "UL"];
|
|
25
|
+
function A(e) {
|
|
26
|
+
return y(e, F);
|
|
117
27
|
}
|
|
118
|
-
|
|
119
|
-
|
|
28
|
+
var w = ["AREA", "BASE", "BR", "COL", "COMMAND", "EMBED", "HR", "IMG", "INPUT", "KEYGEN", "LINK", "META", "PARAM", "SOURCE", "TRACK", "WBR"];
|
|
29
|
+
function O(e) {
|
|
30
|
+
return y(e, w);
|
|
120
31
|
}
|
|
121
|
-
function
|
|
122
|
-
return
|
|
32
|
+
function V(e) {
|
|
33
|
+
return B(e, w);
|
|
123
34
|
}
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
35
|
+
var D = ["A", "TABLE", "THEAD", "TBODY", "TFOOT", "TH", "TD", "IFRAME", "SCRIPT", "AUDIO", "VIDEO"];
|
|
36
|
+
function U(e) {
|
|
37
|
+
return y(e, D);
|
|
38
|
+
}
|
|
39
|
+
function W(e) {
|
|
40
|
+
return B(e, D);
|
|
41
|
+
}
|
|
42
|
+
function y(e, t) {
|
|
43
|
+
return t.indexOf(e.nodeName) >= 0;
|
|
44
|
+
}
|
|
45
|
+
function B(e, t) {
|
|
46
|
+
return e.getElementsByTagName && t.some(function(r) {
|
|
47
|
+
return e.getElementsByTagName(r).length;
|
|
127
48
|
});
|
|
128
49
|
}
|
|
50
|
+
var _ = [[/\\/g, "\\\\"], [/\*/g, "\\*"], [/^-/g, "\\-"], [/^\+ /g, "\\+ "], [/^(=+)/g, "\\$1"], [/^(#{1,6}) /g, "\\$1 "], [/`/g, "\\`"], [/^~~~/g, "\\~~~"], [/\[/g, "\\["], [/\]/g, "\\]"], [/^>/g, "\\>"], [/_/g, "\\_"], [/^(\d+)\. /g, "$1\\. "]];
|
|
51
|
+
function x(e) {
|
|
52
|
+
return _.reduce(function(t, r) {
|
|
53
|
+
return t.replace(r[0], r[1]);
|
|
54
|
+
}, e);
|
|
55
|
+
}
|
|
129
56
|
var o = {};
|
|
130
57
|
o.paragraph = {
|
|
131
58
|
filter: "p",
|
|
@@ -139,16 +66,16 @@ o.paragraph = {
|
|
|
139
66
|
};
|
|
140
67
|
o.lineBreak = {
|
|
141
68
|
filter: "br",
|
|
142
|
-
replacement: function(e,
|
|
143
|
-
return
|
|
69
|
+
replacement: function(e, t, r) {
|
|
70
|
+
return r.br + `
|
|
144
71
|
`;
|
|
145
72
|
}
|
|
146
73
|
};
|
|
147
74
|
o.heading = {
|
|
148
75
|
filter: ["h1", "h2", "h3", "h4", "h5", "h6"],
|
|
149
|
-
replacement: function(e,
|
|
150
|
-
var n = Number(
|
|
151
|
-
if (
|
|
76
|
+
replacement: function(e, t, r) {
|
|
77
|
+
var n = Number(t.nodeName.charAt(1));
|
|
78
|
+
if (r.headingStyle === "setext" && n < 3) {
|
|
152
79
|
var i = v(n === 1 ? "=" : "-", e.length);
|
|
153
80
|
return `
|
|
154
81
|
|
|
@@ -167,7 +94,7 @@ o.heading = {
|
|
|
167
94
|
o.blockquote = {
|
|
168
95
|
filter: "blockquote",
|
|
169
96
|
replacement: function(e) {
|
|
170
|
-
return e =
|
|
97
|
+
return e = S(e).replace(/^/gm, "> "), `
|
|
171
98
|
|
|
172
99
|
` + e + `
|
|
173
100
|
|
|
@@ -176,9 +103,9 @@ o.blockquote = {
|
|
|
176
103
|
};
|
|
177
104
|
o.list = {
|
|
178
105
|
filter: ["ul", "ol"],
|
|
179
|
-
replacement: function(e,
|
|
180
|
-
var
|
|
181
|
-
return
|
|
106
|
+
replacement: function(e, t) {
|
|
107
|
+
var r = t.parentNode;
|
|
108
|
+
return r.nodeName === "LI" && r.lastElementChild === t ? `
|
|
182
109
|
` + e : `
|
|
183
110
|
|
|
184
111
|
` + e + `
|
|
@@ -188,79 +115,77 @@ o.list = {
|
|
|
188
115
|
};
|
|
189
116
|
o.listItem = {
|
|
190
117
|
filter: "li",
|
|
191
|
-
replacement: function(e,
|
|
192
|
-
var n =
|
|
118
|
+
replacement: function(e, t, r) {
|
|
119
|
+
var n = r.bulletListMarker + " ", i = t.parentNode;
|
|
193
120
|
if (i.nodeName === "OL") {
|
|
194
|
-
var a = i.getAttribute("start"), s = Array.prototype.indexOf.call(i.children,
|
|
121
|
+
var a = i.getAttribute("start"), s = Array.prototype.indexOf.call(i.children, t);
|
|
195
122
|
n = (a ? Number(a) + s : s + 1) + ". ";
|
|
196
123
|
}
|
|
197
124
|
var u = /\n$/.test(e);
|
|
198
|
-
return e =
|
|
125
|
+
return e = S(e) + (u ? `
|
|
199
126
|
` : ""), e = e.replace(/\n/gm, `
|
|
200
|
-
` + " ".repeat(n.length)), n + e + (
|
|
127
|
+
` + " ".repeat(n.length)), n + e + (t.nextSibling ? `
|
|
201
128
|
` : "");
|
|
202
129
|
}
|
|
203
130
|
};
|
|
204
131
|
o.indentedCodeBlock = {
|
|
205
|
-
filter: function(e,
|
|
206
|
-
return
|
|
132
|
+
filter: function(e, t) {
|
|
133
|
+
return t.codeBlockStyle === "indented" && e.nodeName === "PRE" && e.firstChild && e.firstChild.nodeName === "CODE";
|
|
207
134
|
},
|
|
208
|
-
replacement: function(e,
|
|
135
|
+
replacement: function(e, t, r) {
|
|
209
136
|
return `
|
|
210
137
|
|
|
211
|
-
` +
|
|
138
|
+
` + t.firstChild.textContent.replace(/\n/g, `
|
|
212
139
|
`) + `
|
|
213
140
|
|
|
214
141
|
`;
|
|
215
142
|
}
|
|
216
143
|
};
|
|
217
144
|
o.fencedCodeBlock = {
|
|
218
|
-
filter: function(e,
|
|
219
|
-
return
|
|
145
|
+
filter: function(e, t) {
|
|
146
|
+
return t.codeBlockStyle === "fenced" && e.nodeName === "PRE" && e.firstChild && e.firstChild.nodeName === "CODE";
|
|
220
147
|
},
|
|
221
|
-
replacement: function(e,
|
|
222
|
-
for (var n =
|
|
223
|
-
|
|
224
|
-
var
|
|
148
|
+
replacement: function(e, t, r) {
|
|
149
|
+
for (var n = t.firstChild.getAttribute("class") || "", i = (n.match(/language-(\S+)/) || [null, ""])[1], a = t.firstChild.textContent, s = r.fence.charAt(0), u = 3, l = new RegExp("^" + s + "{3,}", "gm"), c; c = l.exec(a); )
|
|
150
|
+
c[0].length >= u && (u = c[0].length + 1);
|
|
151
|
+
var f = v(s, u);
|
|
225
152
|
return `
|
|
226
153
|
|
|
227
|
-
` +
|
|
154
|
+
` + f + i + `
|
|
228
155
|
` + a.replace(/\n$/, "") + `
|
|
229
|
-
` +
|
|
156
|
+
` + f + `
|
|
230
157
|
|
|
231
158
|
`;
|
|
232
159
|
}
|
|
233
160
|
};
|
|
234
161
|
o.horizontalRule = {
|
|
235
162
|
filter: "hr",
|
|
236
|
-
replacement: function(e,
|
|
163
|
+
replacement: function(e, t, r) {
|
|
237
164
|
return `
|
|
238
165
|
|
|
239
|
-
` +
|
|
166
|
+
` + r.hr + `
|
|
240
167
|
|
|
241
168
|
`;
|
|
242
169
|
}
|
|
243
170
|
};
|
|
244
171
|
o.inlineLink = {
|
|
245
|
-
filter: function(e,
|
|
246
|
-
return
|
|
172
|
+
filter: function(e, t) {
|
|
173
|
+
return t.linkStyle === "inlined" && e.nodeName === "A" && e.getAttribute("href");
|
|
247
174
|
},
|
|
248
|
-
replacement: function(e,
|
|
249
|
-
var
|
|
250
|
-
|
|
251
|
-
var n = h(r.getAttribute("title"));
|
|
252
|
-
return n && (n = ' "' + n.replace(/"/g, '\\"') + '"'), "[" + e + "](" + t + n + ")";
|
|
175
|
+
replacement: function(e, t) {
|
|
176
|
+
var r = N(t.getAttribute("href")), n = k(h(t.getAttribute("title"))), i = n ? ' "' + n + '"' : "";
|
|
177
|
+
return "[" + e + "](" + r + i + ")";
|
|
253
178
|
}
|
|
254
179
|
};
|
|
255
180
|
o.referenceLink = {
|
|
256
|
-
filter: function(e,
|
|
257
|
-
return
|
|
181
|
+
filter: function(e, t) {
|
|
182
|
+
return t.linkStyle === "referenced" && e.nodeName === "A" && e.getAttribute("href");
|
|
258
183
|
},
|
|
259
|
-
replacement: function(e,
|
|
260
|
-
var n =
|
|
261
|
-
i && (i = ' "' + i + '"');
|
|
184
|
+
replacement: function(e, t, r) {
|
|
185
|
+
var n = N(t.getAttribute("href")), i = h(t.getAttribute("title"));
|
|
186
|
+
i && (i = ' "' + k(i) + '"');
|
|
262
187
|
var a, s;
|
|
263
|
-
switch (
|
|
188
|
+
switch (r.linkReferenceStyle) {
|
|
264
189
|
case "collapsed":
|
|
265
190
|
a = "[" + e + "][]", s = "[" + e + "]: " + n + i;
|
|
266
191
|
break;
|
|
@@ -275,61 +200,68 @@ o.referenceLink = {
|
|
|
275
200
|
},
|
|
276
201
|
references: [],
|
|
277
202
|
append: function(e) {
|
|
278
|
-
var
|
|
279
|
-
return this.references.length && (
|
|
203
|
+
var t = "";
|
|
204
|
+
return this.references.length && (t = `
|
|
280
205
|
|
|
281
206
|
` + this.references.join(`
|
|
282
207
|
`) + `
|
|
283
208
|
|
|
284
|
-
`, this.references = []),
|
|
209
|
+
`, this.references = []), t;
|
|
285
210
|
}
|
|
286
211
|
};
|
|
287
212
|
o.emphasis = {
|
|
288
213
|
filter: ["em", "i"],
|
|
289
|
-
replacement: function(e,
|
|
290
|
-
return e.trim() ?
|
|
214
|
+
replacement: function(e, t, r) {
|
|
215
|
+
return e.trim() ? r.emDelimiter + e + r.emDelimiter : "";
|
|
291
216
|
}
|
|
292
217
|
};
|
|
293
218
|
o.strong = {
|
|
294
219
|
filter: ["strong", "b"],
|
|
295
|
-
replacement: function(e,
|
|
296
|
-
return e.trim() ?
|
|
220
|
+
replacement: function(e, t, r) {
|
|
221
|
+
return e.trim() ? r.strongDelimiter + e + r.strongDelimiter : "";
|
|
297
222
|
}
|
|
298
223
|
};
|
|
299
224
|
o.code = {
|
|
300
225
|
filter: function(e) {
|
|
301
|
-
var
|
|
302
|
-
return e.nodeName === "CODE" && !
|
|
226
|
+
var t = e.previousSibling || e.nextSibling, r = e.parentNode.nodeName === "PRE" && !t;
|
|
227
|
+
return e.nodeName === "CODE" && !r;
|
|
303
228
|
},
|
|
304
229
|
replacement: function(e) {
|
|
305
230
|
if (!e) return "";
|
|
306
231
|
e = e.replace(/\r?\n|\r/g, " ");
|
|
307
|
-
for (var
|
|
308
|
-
return
|
|
232
|
+
for (var t = /^`|^ .*?[^ ].* $|`$/.test(e) ? " " : "", r = "`", n = e.match(/`+/gm) || []; n.indexOf(r) !== -1; ) r = r + "`";
|
|
233
|
+
return r + t + e + t + r;
|
|
309
234
|
}
|
|
310
235
|
};
|
|
311
236
|
o.image = {
|
|
312
237
|
filter: "img",
|
|
313
|
-
replacement: function(e,
|
|
314
|
-
var
|
|
315
|
-
return n ? "" : "";
|
|
316
241
|
}
|
|
317
242
|
};
|
|
318
243
|
function h(e) {
|
|
319
244
|
return e ? e.replace(/(\n+\s*)+/g, `
|
|
320
245
|
`) : "";
|
|
321
246
|
}
|
|
322
|
-
function
|
|
247
|
+
function N(e) {
|
|
248
|
+
var t = e.replace(/([<>()])/g, "\\$1");
|
|
249
|
+
return t.indexOf(" ") >= 0 ? "<" + t + ">" : t;
|
|
250
|
+
}
|
|
251
|
+
function k(e) {
|
|
252
|
+
return e.replace(/"/g, '\\"');
|
|
253
|
+
}
|
|
254
|
+
function L(e) {
|
|
323
255
|
this.options = e, this._keep = [], this._remove = [], this.blankRule = {
|
|
324
256
|
replacement: e.blankReplacement
|
|
325
257
|
}, this.keepReplacement = e.keepReplacement, this.defaultRule = {
|
|
326
258
|
replacement: e.defaultReplacement
|
|
327
259
|
}, this.array = [];
|
|
328
|
-
for (var
|
|
260
|
+
for (var t in e.rules) this.array.push(e.rules[t]);
|
|
329
261
|
}
|
|
330
|
-
|
|
331
|
-
add: function(e,
|
|
332
|
-
this.array.unshift(
|
|
262
|
+
L.prototype = {
|
|
263
|
+
add: function(e, t) {
|
|
264
|
+
this.array.unshift(t);
|
|
333
265
|
},
|
|
334
266
|
keep: function(e) {
|
|
335
267
|
this._keep.unshift({
|
|
@@ -347,166 +279,158 @@ B.prototype = {
|
|
|
347
279
|
},
|
|
348
280
|
forNode: function(e) {
|
|
349
281
|
if (e.isBlank) return this.blankRule;
|
|
350
|
-
var
|
|
351
|
-
return (
|
|
282
|
+
var t;
|
|
283
|
+
return (t = d(this.array, e, this.options)) || (t = d(this._keep, e, this.options)) || (t = d(this._remove, e, this.options)) ? t : this.defaultRule;
|
|
352
284
|
},
|
|
353
285
|
forEach: function(e) {
|
|
354
|
-
for (var
|
|
286
|
+
for (var t = 0; t < this.array.length; t++) e(this.array[t], t);
|
|
355
287
|
}
|
|
356
288
|
};
|
|
357
|
-
function d(e,
|
|
289
|
+
function d(e, t, r) {
|
|
358
290
|
for (var n = 0; n < e.length; n++) {
|
|
359
291
|
var i = e[n];
|
|
360
|
-
if (
|
|
292
|
+
if (j(i, t, r)) return i;
|
|
361
293
|
}
|
|
362
294
|
}
|
|
363
|
-
function
|
|
295
|
+
function j(e, t, r) {
|
|
364
296
|
var n = e.filter;
|
|
365
297
|
if (typeof n == "string") {
|
|
366
|
-
if (n ===
|
|
298
|
+
if (n === t.nodeName.toLowerCase()) return !0;
|
|
367
299
|
} else if (Array.isArray(n)) {
|
|
368
|
-
if (n.indexOf(
|
|
300
|
+
if (n.indexOf(t.nodeName.toLowerCase()) > -1) return !0;
|
|
369
301
|
} else if (typeof n == "function") {
|
|
370
|
-
if (n.call(e,
|
|
302
|
+
if (n.call(e, t, r)) return !0;
|
|
371
303
|
} else
|
|
372
304
|
throw new TypeError("`filter` needs to be a string, array, or function");
|
|
373
305
|
}
|
|
374
|
-
function
|
|
375
|
-
var
|
|
376
|
-
return
|
|
306
|
+
function G(e) {
|
|
307
|
+
var t = e.element, r = e.isBlock, n = e.isVoid, i = e.isPre || function(I) {
|
|
308
|
+
return I.nodeName === "PRE";
|
|
377
309
|
};
|
|
378
|
-
if (!(!
|
|
379
|
-
for (var a = null, s = !1, u = null, l =
|
|
310
|
+
if (!(!t.firstChild || i(t))) {
|
|
311
|
+
for (var a = null, s = !1, u = null, l = T(u, t, i); l !== t; ) {
|
|
380
312
|
if (l.nodeType === 3 || l.nodeType === 4) {
|
|
381
|
-
var
|
|
382
|
-
if ((!a || / $/.test(a.data)) && !s &&
|
|
313
|
+
var c = l.data.replace(/[ \r\n\t]+/g, " ");
|
|
314
|
+
if ((!a || / $/.test(a.data)) && !s && c[0] === " " && (c = c.substr(1)), !c) {
|
|
383
315
|
l = m(l);
|
|
384
316
|
continue;
|
|
385
317
|
}
|
|
386
|
-
l.data =
|
|
318
|
+
l.data = c, a = l;
|
|
387
319
|
} else if (l.nodeType === 1)
|
|
388
|
-
|
|
320
|
+
r(l) || l.nodeName === "BR" ? (a && (a.data = a.data.replace(/ $/, "")), a = null, s = !1) : n(l) || i(l) ? (a = null, s = !0) : a && (s = !1);
|
|
389
321
|
else {
|
|
390
322
|
l = m(l);
|
|
391
323
|
continue;
|
|
392
324
|
}
|
|
393
|
-
var
|
|
394
|
-
u = l, l =
|
|
325
|
+
var f = T(u, l, i);
|
|
326
|
+
u = l, l = f;
|
|
395
327
|
}
|
|
396
328
|
a && (a.data = a.data.replace(/ $/, ""), a.data || m(a));
|
|
397
329
|
}
|
|
398
330
|
}
|
|
399
331
|
function m(e) {
|
|
400
|
-
var
|
|
401
|
-
return e.parentNode.removeChild(e),
|
|
332
|
+
var t = e.nextSibling || e.parentNode;
|
|
333
|
+
return e.parentNode.removeChild(e), t;
|
|
402
334
|
}
|
|
403
|
-
function
|
|
404
|
-
return e && e.parentNode ===
|
|
335
|
+
function T(e, t, r) {
|
|
336
|
+
return e && e.parentNode === t || r(t) ? t.nextSibling || t.parentNode : t.firstChild || t.nextSibling || t.parentNode;
|
|
405
337
|
}
|
|
406
|
-
var
|
|
407
|
-
function
|
|
408
|
-
var e =
|
|
338
|
+
var E = typeof window < "u" ? window : {};
|
|
339
|
+
function X() {
|
|
340
|
+
var e = E.DOMParser, t = !1;
|
|
409
341
|
try {
|
|
410
|
-
new e().parseFromString("", "text/html") && (
|
|
342
|
+
new e().parseFromString("", "text/html") && (t = !0);
|
|
411
343
|
} catch {
|
|
412
344
|
}
|
|
413
|
-
return
|
|
345
|
+
return t;
|
|
414
346
|
}
|
|
415
|
-
function
|
|
347
|
+
function K() {
|
|
416
348
|
var e = function() {
|
|
417
349
|
};
|
|
418
|
-
return
|
|
419
|
-
var
|
|
420
|
-
return
|
|
421
|
-
} : e.prototype.parseFromString = function(
|
|
422
|
-
var
|
|
423
|
-
return
|
|
350
|
+
return Y() ? e.prototype.parseFromString = function(t) {
|
|
351
|
+
var r = new window.ActiveXObject("htmlfile");
|
|
352
|
+
return r.designMode = "on", r.open(), r.write(t), r.close(), r;
|
|
353
|
+
} : e.prototype.parseFromString = function(t) {
|
|
354
|
+
var r = document.implementation.createHTMLDocument("");
|
|
355
|
+
return r.open(), r.write(t), r.close(), r;
|
|
424
356
|
}, e;
|
|
425
357
|
}
|
|
426
|
-
function
|
|
358
|
+
function Y() {
|
|
427
359
|
var e = !1;
|
|
428
360
|
try {
|
|
429
361
|
document.implementation.createHTMLDocument("").open();
|
|
430
362
|
} catch {
|
|
431
|
-
|
|
363
|
+
E.ActiveXObject && (e = !0);
|
|
432
364
|
}
|
|
433
365
|
return e;
|
|
434
366
|
}
|
|
435
|
-
var
|
|
436
|
-
function
|
|
437
|
-
var
|
|
367
|
+
var z = X() ? E.DOMParser : K();
|
|
368
|
+
function q(e, t) {
|
|
369
|
+
var r;
|
|
438
370
|
if (typeof e == "string") {
|
|
439
|
-
var n =
|
|
371
|
+
var n = Q().parseFromString(
|
|
440
372
|
// DOM parsers arrange elements in the <head> and <body>.
|
|
441
373
|
// Wrapping in a custom element ensures elements are reliably arranged in
|
|
442
374
|
// a single element.
|
|
443
375
|
'<x-turndown id="turndown-root">' + e + "</x-turndown>",
|
|
444
376
|
"text/html"
|
|
445
377
|
);
|
|
446
|
-
|
|
378
|
+
r = n.getElementById("turndown-root");
|
|
447
379
|
} else
|
|
448
|
-
|
|
449
|
-
return
|
|
450
|
-
element:
|
|
380
|
+
r = e.cloneNode(!0);
|
|
381
|
+
return G({
|
|
382
|
+
element: r,
|
|
451
383
|
isBlock: A,
|
|
452
|
-
isVoid:
|
|
453
|
-
isPre:
|
|
454
|
-
}),
|
|
384
|
+
isVoid: O,
|
|
385
|
+
isPre: t.preformattedCode ? J : null
|
|
386
|
+
}), r;
|
|
455
387
|
}
|
|
456
388
|
var g;
|
|
457
|
-
function
|
|
458
|
-
return g = g || new
|
|
389
|
+
function Q() {
|
|
390
|
+
return g = g || new z(), g;
|
|
459
391
|
}
|
|
460
|
-
function
|
|
392
|
+
function J(e) {
|
|
461
393
|
return e.nodeName === "PRE" || e.nodeName === "CODE";
|
|
462
394
|
}
|
|
463
|
-
function
|
|
464
|
-
return e.isBlock = A(e), e.isCode = e.nodeName === "CODE" || e.parentNode.isCode, e.isBlank =
|
|
465
|
-
}
|
|
466
|
-
function
|
|
467
|
-
return !
|
|
468
|
-
}
|
|
469
|
-
function
|
|
470
|
-
if (e.isBlock ||
|
|
471
|
-
return {
|
|
472
|
-
|
|
473
|
-
|
|
395
|
+
function Z(e, t) {
|
|
396
|
+
return e.isBlock = A(e), e.isCode = e.nodeName === "CODE" || e.parentNode.isCode, e.isBlank = ee(e), e.flankingWhitespace = te(e, t), e;
|
|
397
|
+
}
|
|
398
|
+
function ee(e) {
|
|
399
|
+
return !O(e) && !U(e) && /^\s*$/i.test(e.textContent) && !V(e) && !W(e);
|
|
400
|
+
}
|
|
401
|
+
function te(e, t) {
|
|
402
|
+
if (e.isBlock || t.preformattedCode && e.isCode)
|
|
403
|
+
return {
|
|
404
|
+
leading: "",
|
|
405
|
+
trailing: ""
|
|
406
|
+
};
|
|
407
|
+
var r = re(e.textContent);
|
|
408
|
+
return r.leadingAscii && R("left", e, t) && (r.leading = r.leadingNonAscii), r.trailingAscii && R("right", e, t) && (r.trailing = r.trailingNonAscii), {
|
|
409
|
+
leading: r.leading,
|
|
410
|
+
trailing: r.trailing
|
|
411
|
+
};
|
|
474
412
|
}
|
|
475
|
-
function
|
|
476
|
-
var
|
|
413
|
+
function re(e) {
|
|
414
|
+
var t = e.match(/^(([ \t\r\n]*)(\s*))(?:(?=\S)[\s\S]*\S)?((\s*?)([ \t\r\n]*))$/);
|
|
477
415
|
return {
|
|
478
|
-
leading:
|
|
416
|
+
leading: t[1],
|
|
479
417
|
// whole string for whitespace-only strings
|
|
480
|
-
leadingAscii:
|
|
481
|
-
leadingNonAscii:
|
|
482
|
-
trailing:
|
|
418
|
+
leadingAscii: t[2],
|
|
419
|
+
leadingNonAscii: t[3],
|
|
420
|
+
trailing: t[4],
|
|
483
421
|
// empty for whitespace-only strings
|
|
484
|
-
trailingNonAscii:
|
|
485
|
-
trailingAscii:
|
|
422
|
+
trailingNonAscii: t[5],
|
|
423
|
+
trailingAscii: t[6]
|
|
486
424
|
};
|
|
487
425
|
}
|
|
488
|
-
function
|
|
426
|
+
function R(e, t, r) {
|
|
489
427
|
var n, i, a;
|
|
490
|
-
return e === "left" ? (n =
|
|
491
|
-
}
|
|
492
|
-
var
|
|
493
|
-
[/\\/g, "\\\\"],
|
|
494
|
-
[/\*/g, "\\*"],
|
|
495
|
-
[/^-/g, "\\-"],
|
|
496
|
-
[/^\+ /g, "\\+ "],
|
|
497
|
-
[/^(=+)/g, "\\$1"],
|
|
498
|
-
[/^(#{1,6}) /g, "\\$1 "],
|
|
499
|
-
[/`/g, "\\`"],
|
|
500
|
-
[/^~~~/g, "\\~~~"],
|
|
501
|
-
[/\[/g, "\\["],
|
|
502
|
-
[/\]/g, "\\]"],
|
|
503
|
-
[/^>/g, "\\>"],
|
|
504
|
-
[/_/g, "\\_"],
|
|
505
|
-
[/^(\d+)\. /g, "$1\\. "]
|
|
506
|
-
];
|
|
428
|
+
return e === "left" ? (n = t.previousSibling, i = / $/) : (n = t.nextSibling, i = /^ /), n && (n.nodeType === 3 ? a = i.test(n.nodeValue) : r.preformattedCode && n.nodeName === "CODE" ? a = !1 : n.nodeType === 1 && !A(n) && (a = i.test(n.textContent))), a;
|
|
429
|
+
}
|
|
430
|
+
var ne = Array.prototype.reduce;
|
|
507
431
|
function p(e) {
|
|
508
432
|
if (!(this instanceof p)) return new p(e);
|
|
509
|
-
var
|
|
433
|
+
var t = {
|
|
510
434
|
rules: o,
|
|
511
435
|
headingStyle: "setext",
|
|
512
436
|
hr: "* * *",
|
|
@@ -519,27 +443,27 @@ function p(e) {
|
|
|
519
443
|
linkReferenceStyle: "full",
|
|
520
444
|
br: " ",
|
|
521
445
|
preformattedCode: !1,
|
|
522
|
-
blankReplacement: function(
|
|
446
|
+
blankReplacement: function(r, n) {
|
|
523
447
|
return n.isBlock ? `
|
|
524
448
|
|
|
525
449
|
` : "";
|
|
526
450
|
},
|
|
527
|
-
keepReplacement: function(
|
|
451
|
+
keepReplacement: function(r, n) {
|
|
528
452
|
return n.isBlock ? `
|
|
529
453
|
|
|
530
454
|
` + n.outerHTML + `
|
|
531
455
|
|
|
532
456
|
` : n.outerHTML;
|
|
533
457
|
},
|
|
534
|
-
defaultReplacement: function(
|
|
458
|
+
defaultReplacement: function(r, n) {
|
|
535
459
|
return n.isBlock ? `
|
|
536
460
|
|
|
537
|
-
` +
|
|
461
|
+
` + r + `
|
|
538
462
|
|
|
539
|
-
` :
|
|
463
|
+
` : r;
|
|
540
464
|
}
|
|
541
465
|
};
|
|
542
|
-
this.options =
|
|
466
|
+
this.options = H({}, t, e), this.rules = new L(this.options);
|
|
543
467
|
}
|
|
544
468
|
p.prototype = {
|
|
545
469
|
/**
|
|
@@ -550,13 +474,11 @@ p.prototype = {
|
|
|
550
474
|
* @type String
|
|
551
475
|
*/
|
|
552
476
|
turndown: function(e) {
|
|
553
|
-
if (!
|
|
554
|
-
throw new TypeError(
|
|
555
|
-
e + " is not a string, or an element/document/fragment node."
|
|
556
|
-
);
|
|
477
|
+
if (!le(e))
|
|
478
|
+
throw new TypeError(e + " is not a string, or an element/document/fragment node.");
|
|
557
479
|
if (e === "") return "";
|
|
558
|
-
var
|
|
559
|
-
return
|
|
480
|
+
var t = P.call(this, new q(e, this.options));
|
|
481
|
+
return ie.call(this, t);
|
|
560
482
|
},
|
|
561
483
|
/**
|
|
562
484
|
* Add one or more plugins
|
|
@@ -567,7 +489,7 @@ p.prototype = {
|
|
|
567
489
|
*/
|
|
568
490
|
use: function(e) {
|
|
569
491
|
if (Array.isArray(e))
|
|
570
|
-
for (var
|
|
492
|
+
for (var t = 0; t < e.length; t++) this.use(e[t]);
|
|
571
493
|
else if (typeof e == "function")
|
|
572
494
|
e(this);
|
|
573
495
|
else
|
|
@@ -582,8 +504,8 @@ p.prototype = {
|
|
|
582
504
|
* @returns The Turndown instance for chaining
|
|
583
505
|
* @type Object
|
|
584
506
|
*/
|
|
585
|
-
addRule: function(e,
|
|
586
|
-
return this.rules.add(e,
|
|
507
|
+
addRule: function(e, t) {
|
|
508
|
+
return this.rules.add(e, t), this;
|
|
587
509
|
},
|
|
588
510
|
/**
|
|
589
511
|
* Keep a node (as HTML) that matches the filter
|
|
@@ -613,46 +535,44 @@ p.prototype = {
|
|
|
613
535
|
* @type String
|
|
614
536
|
*/
|
|
615
537
|
escape: function(e) {
|
|
616
|
-
return
|
|
617
|
-
return r.replace(t[0], t[1]);
|
|
618
|
-
}, e);
|
|
538
|
+
return x(e);
|
|
619
539
|
}
|
|
620
540
|
};
|
|
621
|
-
function
|
|
622
|
-
var
|
|
623
|
-
return
|
|
624
|
-
n = new
|
|
541
|
+
function P(e) {
|
|
542
|
+
var t = this;
|
|
543
|
+
return ne.call(e.childNodes, function(r, n) {
|
|
544
|
+
n = new Z(n, t.options);
|
|
625
545
|
var i = "";
|
|
626
|
-
return n.nodeType === 3 ? i = n.isCode ? n.nodeValue :
|
|
546
|
+
return n.nodeType === 3 ? i = n.isCode ? n.nodeValue : t.escape(n.nodeValue) : n.nodeType === 1 && (i = ae.call(t, n)), M(r, i);
|
|
627
547
|
}, "");
|
|
628
548
|
}
|
|
629
|
-
function
|
|
630
|
-
var
|
|
631
|
-
return this.rules.forEach(function(
|
|
632
|
-
typeof
|
|
549
|
+
function ie(e) {
|
|
550
|
+
var t = this;
|
|
551
|
+
return this.rules.forEach(function(r) {
|
|
552
|
+
typeof r.append == "function" && (e = M(e, r.append(t.options)));
|
|
633
553
|
}), e.replace(/^[\t\r\n]+/, "").replace(/[\t\r\n\s]+$/, "");
|
|
634
554
|
}
|
|
635
|
-
function
|
|
636
|
-
var
|
|
637
|
-
return (n.leading || n.trailing) && (
|
|
555
|
+
function ae(e) {
|
|
556
|
+
var t = this.rules.forNode(e), r = P.call(this, e), n = e.flankingWhitespace;
|
|
557
|
+
return (n.leading || n.trailing) && (r = r.trim()), n.leading + t.replacement(r, e, this.options) + n.trailing;
|
|
638
558
|
}
|
|
639
|
-
function
|
|
640
|
-
var
|
|
559
|
+
function M(e, t) {
|
|
560
|
+
var r = b(e), n = C(t), i = Math.max(e.length - r.length, t.length - n.length), a = `
|
|
641
561
|
|
|
642
562
|
`.substring(0, i);
|
|
643
|
-
return
|
|
563
|
+
return r + a + n;
|
|
644
564
|
}
|
|
645
|
-
function
|
|
565
|
+
function le(e) {
|
|
646
566
|
return e != null && (typeof e == "string" || e.nodeType && (e.nodeType === 1 || e.nodeType === 9 || e.nodeType === 11));
|
|
647
567
|
}
|
|
648
|
-
const
|
|
649
|
-
const
|
|
568
|
+
const oe = (e) => {
|
|
569
|
+
const t = new p({
|
|
650
570
|
headingStyle: "atx",
|
|
651
571
|
hr: "---",
|
|
652
572
|
bulletListMarker: "-",
|
|
653
573
|
codeBlockStyle: "fenced"
|
|
654
574
|
});
|
|
655
|
-
|
|
575
|
+
t.addRule("latex", {
|
|
656
576
|
filter: function(n) {
|
|
657
577
|
return n.nodeName === "SPAN" && n.getAttribute("data-type") === "latex";
|
|
658
578
|
},
|
|
@@ -666,15 +586,15 @@ $$
|
|
|
666
586
|
|
|
667
587
|
` : `$${s}$`;
|
|
668
588
|
}
|
|
669
|
-
}),
|
|
589
|
+
}), t.addRule("strikethrough", {
|
|
670
590
|
filter: ["del", "s"],
|
|
671
591
|
replacement: function(n) {
|
|
672
592
|
return "~~" + n + "~~";
|
|
673
593
|
}
|
|
674
594
|
});
|
|
675
|
-
const
|
|
676
|
-
return
|
|
595
|
+
const r = (n) => n.replace(/<span([^>]+data-type="latex"[^>]*)><\/span>/g, "<span$1>•</span>");
|
|
596
|
+
return t.turndown($.sanitize(r(e)));
|
|
677
597
|
};
|
|
678
598
|
export {
|
|
679
|
-
|
|
599
|
+
oe as html2md
|
|
680
600
|
};
|