marked 4.3.0 → 5.0.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/marked.cjs +204 -183
- package/lib/marked.esm.js +40 -7
- package/lib/marked.umd.js +204 -183
- package/marked.min.js +2 -2
- package/package.json +11 -11
- package/src/Parser.js +1 -2
- package/src/Renderer.js +1 -1
- package/src/Tokenizer.js +2 -0
- package/src/helpers.js +34 -2
- package/src/marked.js +2 -2
package/lib/marked.umd.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* marked
|
|
2
|
+
* marked v5.0.0 - a markdown parser
|
|
3
3
|
* Copyright (c) 2011-2023, Christopher Jeffrey. (MIT Licensed)
|
|
4
4
|
* https://github.com/markedjs/marked
|
|
5
5
|
*/
|
|
@@ -263,9 +263,7 @@
|
|
|
263
263
|
var row = tableRow.replace(/\|/g, function (match, offset, str) {
|
|
264
264
|
var escaped = false,
|
|
265
265
|
curr = offset;
|
|
266
|
-
while (--curr >= 0 && str[curr] === '\\')
|
|
267
|
-
escaped = !escaped;
|
|
268
|
-
}
|
|
266
|
+
while (--curr >= 0 && str[curr] === '\\') escaped = !escaped;
|
|
269
267
|
if (escaped) {
|
|
270
268
|
// odd number of slashes means | is escaped
|
|
271
269
|
// so we leave it alone
|
|
@@ -288,9 +286,7 @@
|
|
|
288
286
|
if (cells.length > count) {
|
|
289
287
|
cells.splice(count);
|
|
290
288
|
} else {
|
|
291
|
-
while (cells.length < count)
|
|
292
|
-
cells.push('');
|
|
293
|
-
}
|
|
289
|
+
while (cells.length < count) cells.push('');
|
|
294
290
|
}
|
|
295
291
|
for (; i < cells.length; i++) {
|
|
296
292
|
// leading or trailing whitespace is ignored per the gfm spec
|
|
@@ -350,10 +346,34 @@
|
|
|
350
346
|
}
|
|
351
347
|
return -1;
|
|
352
348
|
}
|
|
353
|
-
function
|
|
354
|
-
if (opt
|
|
349
|
+
function checkDeprecations(opt, callback) {
|
|
350
|
+
if (!opt || opt.silent) {
|
|
351
|
+
return;
|
|
352
|
+
}
|
|
353
|
+
if (callback) {
|
|
354
|
+
console.warn('marked(): callback is deprecated since version 5.0.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/using_pro#async');
|
|
355
|
+
}
|
|
356
|
+
if (opt.sanitize || opt.sanitizer) {
|
|
355
357
|
console.warn('marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options');
|
|
356
358
|
}
|
|
359
|
+
if (opt.highlight || opt.langPrefix) {
|
|
360
|
+
console.warn('marked(): highlight and langPrefix parameters are deprecated since version 5.0.0, should not be used and will be removed in the future. Instead use https://www.npmjs.com/package/marked-highlight.');
|
|
361
|
+
}
|
|
362
|
+
if (opt.mangle) {
|
|
363
|
+
console.warn('marked(): mangle parameter is deprecated since version 5.0.0, should not be used and will be removed in the future. Instead use https://www.npmjs.com/package/marked-mangle.');
|
|
364
|
+
}
|
|
365
|
+
if (opt.baseUrl) {
|
|
366
|
+
console.warn('marked(): baseUrl parameter is deprecated since version 5.0.0, should not be used and will be removed in the future. Instead use https://www.npmjs.com/package/marked-base-url.');
|
|
367
|
+
}
|
|
368
|
+
if (opt.smartypants) {
|
|
369
|
+
console.warn('marked(): smartypants parameter is deprecated since version 5.0.0, should not be used and will be removed in the future. Instead use https://www.npmjs.com/package/marked-smartypants.');
|
|
370
|
+
}
|
|
371
|
+
if (opt.xhtml) {
|
|
372
|
+
console.warn('marked(): xhtml parameter is deprecated since version 5.0.0, should not be used and will be removed in the future. Instead use https://www.npmjs.com/package/marked-xhtml.');
|
|
373
|
+
}
|
|
374
|
+
if (opt.headerIds || opt.headerPrefix) {
|
|
375
|
+
console.warn('marked(): headerIds and headerPrefix parameters are deprecated since version 5.0.0, should not be used and will be removed in the future. Instead use https://www.npmjs.com/package/marked-gfm-heading-id.');
|
|
376
|
+
}
|
|
357
377
|
}
|
|
358
378
|
|
|
359
379
|
// copied from https://stackoverflow.com/a/5450113/806777
|
|
@@ -698,6 +718,7 @@
|
|
|
698
718
|
if (cap) {
|
|
699
719
|
var token = {
|
|
700
720
|
type: 'html',
|
|
721
|
+
block: true,
|
|
701
722
|
raw: cap[0],
|
|
702
723
|
pre: !this.options.sanitizer && (cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style'),
|
|
703
724
|
text: cap[0]
|
|
@@ -846,6 +867,7 @@
|
|
|
846
867
|
raw: cap[0],
|
|
847
868
|
inLink: this.lexer.state.inLink,
|
|
848
869
|
inRawBlock: this.lexer.state.inRawBlock,
|
|
870
|
+
block: false,
|
|
849
871
|
text: this.options.sanitize ? this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0]) : cap[0]
|
|
850
872
|
};
|
|
851
873
|
}
|
|
@@ -927,7 +949,7 @@
|
|
|
927
949
|
if (!match) return;
|
|
928
950
|
|
|
929
951
|
// _ can't be between two alphanumerics. \p{L}\p{N} includes non-english alphabet/numbers as well
|
|
930
|
-
if (match[3] && prevChar.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDF70-\uDF81\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\
|
|
952
|
+
if (match[3] && prevChar.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDF70-\uDF81\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDF50-\uDF59\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD887][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDE70-\uDEBE\uDEC0-\uDEC9\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEC0-\uDED3\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD839[\uDCD0-\uDCEB\uDCF0-\uDCF9\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF39\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD888[\uDC00-\uDFAF])/)) return;
|
|
931
953
|
var nextChar = match[1] || match[2] || '';
|
|
932
954
|
if (!nextChar || nextChar && (prevChar === '' || this.rules.inline.punctuation.exec(prevChar))) {
|
|
933
955
|
var lLength = match[0].length - 1;
|
|
@@ -1418,8 +1440,8 @@
|
|
|
1418
1440
|
});
|
|
1419
1441
|
}
|
|
1420
1442
|
var token, lastToken, cutSrc, lastParagraphClipped;
|
|
1421
|
-
|
|
1422
|
-
if (
|
|
1443
|
+
var _loop = function _loop() {
|
|
1444
|
+
if (_this.options.extensions && _this.options.extensions.block && _this.options.extensions.block.some(function (extTokenizer) {
|
|
1423
1445
|
if (token = extTokenizer.call({
|
|
1424
1446
|
lexer: _this
|
|
1425
1447
|
}, src, tokens)) {
|
|
@@ -1429,11 +1451,11 @@
|
|
|
1429
1451
|
}
|
|
1430
1452
|
return false;
|
|
1431
1453
|
})) {
|
|
1432
|
-
continue;
|
|
1454
|
+
return "continue";
|
|
1433
1455
|
}
|
|
1434
1456
|
|
|
1435
1457
|
// newline
|
|
1436
|
-
if (token =
|
|
1458
|
+
if (token = _this.tokenizer.space(src)) {
|
|
1437
1459
|
src = src.substring(token.raw.length);
|
|
1438
1460
|
if (token.raw.length === 1 && tokens.length > 0) {
|
|
1439
1461
|
// if there's a single \n as a spacer, it's terminating the last line,
|
|
@@ -1442,156 +1464,159 @@
|
|
|
1442
1464
|
} else {
|
|
1443
1465
|
tokens.push(token);
|
|
1444
1466
|
}
|
|
1445
|
-
continue;
|
|
1467
|
+
return "continue";
|
|
1446
1468
|
}
|
|
1447
1469
|
|
|
1448
1470
|
// code
|
|
1449
|
-
if (token =
|
|
1471
|
+
if (token = _this.tokenizer.code(src)) {
|
|
1450
1472
|
src = src.substring(token.raw.length);
|
|
1451
1473
|
lastToken = tokens[tokens.length - 1];
|
|
1452
1474
|
// An indented code block cannot interrupt a paragraph.
|
|
1453
1475
|
if (lastToken && (lastToken.type === 'paragraph' || lastToken.type === 'text')) {
|
|
1454
1476
|
lastToken.raw += '\n' + token.raw;
|
|
1455
1477
|
lastToken.text += '\n' + token.text;
|
|
1456
|
-
|
|
1478
|
+
_this.inlineQueue[_this.inlineQueue.length - 1].src = lastToken.text;
|
|
1457
1479
|
} else {
|
|
1458
1480
|
tokens.push(token);
|
|
1459
1481
|
}
|
|
1460
|
-
continue;
|
|
1482
|
+
return "continue";
|
|
1461
1483
|
}
|
|
1462
1484
|
|
|
1463
1485
|
// fences
|
|
1464
|
-
if (token =
|
|
1486
|
+
if (token = _this.tokenizer.fences(src)) {
|
|
1465
1487
|
src = src.substring(token.raw.length);
|
|
1466
1488
|
tokens.push(token);
|
|
1467
|
-
continue;
|
|
1489
|
+
return "continue";
|
|
1468
1490
|
}
|
|
1469
1491
|
|
|
1470
1492
|
// heading
|
|
1471
|
-
if (token =
|
|
1493
|
+
if (token = _this.tokenizer.heading(src)) {
|
|
1472
1494
|
src = src.substring(token.raw.length);
|
|
1473
1495
|
tokens.push(token);
|
|
1474
|
-
continue;
|
|
1496
|
+
return "continue";
|
|
1475
1497
|
}
|
|
1476
1498
|
|
|
1477
1499
|
// hr
|
|
1478
|
-
if (token =
|
|
1500
|
+
if (token = _this.tokenizer.hr(src)) {
|
|
1479
1501
|
src = src.substring(token.raw.length);
|
|
1480
1502
|
tokens.push(token);
|
|
1481
|
-
continue;
|
|
1503
|
+
return "continue";
|
|
1482
1504
|
}
|
|
1483
1505
|
|
|
1484
1506
|
// blockquote
|
|
1485
|
-
if (token =
|
|
1507
|
+
if (token = _this.tokenizer.blockquote(src)) {
|
|
1486
1508
|
src = src.substring(token.raw.length);
|
|
1487
1509
|
tokens.push(token);
|
|
1488
|
-
continue;
|
|
1510
|
+
return "continue";
|
|
1489
1511
|
}
|
|
1490
1512
|
|
|
1491
1513
|
// list
|
|
1492
|
-
if (token =
|
|
1514
|
+
if (token = _this.tokenizer.list(src)) {
|
|
1493
1515
|
src = src.substring(token.raw.length);
|
|
1494
1516
|
tokens.push(token);
|
|
1495
|
-
continue;
|
|
1517
|
+
return "continue";
|
|
1496
1518
|
}
|
|
1497
1519
|
|
|
1498
1520
|
// html
|
|
1499
|
-
if (token =
|
|
1521
|
+
if (token = _this.tokenizer.html(src)) {
|
|
1500
1522
|
src = src.substring(token.raw.length);
|
|
1501
1523
|
tokens.push(token);
|
|
1502
|
-
continue;
|
|
1524
|
+
return "continue";
|
|
1503
1525
|
}
|
|
1504
1526
|
|
|
1505
1527
|
// def
|
|
1506
|
-
if (token =
|
|
1528
|
+
if (token = _this.tokenizer.def(src)) {
|
|
1507
1529
|
src = src.substring(token.raw.length);
|
|
1508
1530
|
lastToken = tokens[tokens.length - 1];
|
|
1509
1531
|
if (lastToken && (lastToken.type === 'paragraph' || lastToken.type === 'text')) {
|
|
1510
1532
|
lastToken.raw += '\n' + token.raw;
|
|
1511
1533
|
lastToken.text += '\n' + token.raw;
|
|
1512
|
-
|
|
1513
|
-
} else if (!
|
|
1514
|
-
|
|
1534
|
+
_this.inlineQueue[_this.inlineQueue.length - 1].src = lastToken.text;
|
|
1535
|
+
} else if (!_this.tokens.links[token.tag]) {
|
|
1536
|
+
_this.tokens.links[token.tag] = {
|
|
1515
1537
|
href: token.href,
|
|
1516
1538
|
title: token.title
|
|
1517
1539
|
};
|
|
1518
1540
|
}
|
|
1519
|
-
continue;
|
|
1541
|
+
return "continue";
|
|
1520
1542
|
}
|
|
1521
1543
|
|
|
1522
1544
|
// table (gfm)
|
|
1523
|
-
if (token =
|
|
1545
|
+
if (token = _this.tokenizer.table(src)) {
|
|
1524
1546
|
src = src.substring(token.raw.length);
|
|
1525
1547
|
tokens.push(token);
|
|
1526
|
-
continue;
|
|
1548
|
+
return "continue";
|
|
1527
1549
|
}
|
|
1528
1550
|
|
|
1529
1551
|
// lheading
|
|
1530
|
-
if (token =
|
|
1552
|
+
if (token = _this.tokenizer.lheading(src)) {
|
|
1531
1553
|
src = src.substring(token.raw.length);
|
|
1532
1554
|
tokens.push(token);
|
|
1533
|
-
continue;
|
|
1555
|
+
return "continue";
|
|
1534
1556
|
}
|
|
1535
1557
|
|
|
1536
1558
|
// top-level paragraph
|
|
1537
1559
|
// prevent paragraph consuming extensions by clipping 'src' to extension start
|
|
1538
1560
|
cutSrc = src;
|
|
1539
|
-
if (
|
|
1540
|
-
|
|
1541
|
-
|
|
1542
|
-
|
|
1543
|
-
|
|
1544
|
-
|
|
1545
|
-
|
|
1546
|
-
|
|
1547
|
-
|
|
1548
|
-
|
|
1549
|
-
startIndex = Math.min(startIndex, tempStart);
|
|
1550
|
-
}
|
|
1551
|
-
});
|
|
1552
|
-
if (startIndex < Infinity && startIndex >= 0) {
|
|
1553
|
-
cutSrc = src.substring(0, startIndex + 1);
|
|
1561
|
+
if (_this.options.extensions && _this.options.extensions.startBlock) {
|
|
1562
|
+
var startIndex = Infinity;
|
|
1563
|
+
var tempSrc = src.slice(1);
|
|
1564
|
+
var tempStart;
|
|
1565
|
+
_this.options.extensions.startBlock.forEach(function (getStartIndex) {
|
|
1566
|
+
tempStart = getStartIndex.call({
|
|
1567
|
+
lexer: this
|
|
1568
|
+
}, tempSrc);
|
|
1569
|
+
if (typeof tempStart === 'number' && tempStart >= 0) {
|
|
1570
|
+
startIndex = Math.min(startIndex, tempStart);
|
|
1554
1571
|
}
|
|
1555
|
-
})
|
|
1572
|
+
});
|
|
1573
|
+
if (startIndex < Infinity && startIndex >= 0) {
|
|
1574
|
+
cutSrc = src.substring(0, startIndex + 1);
|
|
1575
|
+
}
|
|
1556
1576
|
}
|
|
1557
|
-
if (
|
|
1577
|
+
if (_this.state.top && (token = _this.tokenizer.paragraph(cutSrc))) {
|
|
1558
1578
|
lastToken = tokens[tokens.length - 1];
|
|
1559
1579
|
if (lastParagraphClipped && lastToken.type === 'paragraph') {
|
|
1560
1580
|
lastToken.raw += '\n' + token.raw;
|
|
1561
1581
|
lastToken.text += '\n' + token.text;
|
|
1562
|
-
|
|
1563
|
-
|
|
1582
|
+
_this.inlineQueue.pop();
|
|
1583
|
+
_this.inlineQueue[_this.inlineQueue.length - 1].src = lastToken.text;
|
|
1564
1584
|
} else {
|
|
1565
1585
|
tokens.push(token);
|
|
1566
1586
|
}
|
|
1567
1587
|
lastParagraphClipped = cutSrc.length !== src.length;
|
|
1568
1588
|
src = src.substring(token.raw.length);
|
|
1569
|
-
continue;
|
|
1589
|
+
return "continue";
|
|
1570
1590
|
}
|
|
1571
1591
|
|
|
1572
1592
|
// text
|
|
1573
|
-
if (token =
|
|
1593
|
+
if (token = _this.tokenizer.text(src)) {
|
|
1574
1594
|
src = src.substring(token.raw.length);
|
|
1575
1595
|
lastToken = tokens[tokens.length - 1];
|
|
1576
1596
|
if (lastToken && lastToken.type === 'text') {
|
|
1577
1597
|
lastToken.raw += '\n' + token.raw;
|
|
1578
1598
|
lastToken.text += '\n' + token.text;
|
|
1579
|
-
|
|
1580
|
-
|
|
1599
|
+
_this.inlineQueue.pop();
|
|
1600
|
+
_this.inlineQueue[_this.inlineQueue.length - 1].src = lastToken.text;
|
|
1581
1601
|
} else {
|
|
1582
1602
|
tokens.push(token);
|
|
1583
1603
|
}
|
|
1584
|
-
continue;
|
|
1604
|
+
return "continue";
|
|
1585
1605
|
}
|
|
1586
1606
|
if (src) {
|
|
1587
1607
|
var errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0);
|
|
1588
|
-
if (
|
|
1608
|
+
if (_this.options.silent) {
|
|
1589
1609
|
console.error(errMsg);
|
|
1590
|
-
break;
|
|
1610
|
+
return "break";
|
|
1591
1611
|
} else {
|
|
1592
1612
|
throw new Error(errMsg);
|
|
1593
1613
|
}
|
|
1594
1614
|
}
|
|
1615
|
+
};
|
|
1616
|
+
while (src) {
|
|
1617
|
+
var _ret = _loop();
|
|
1618
|
+
if (_ret === "continue") continue;
|
|
1619
|
+
if (_ret === "break") break;
|
|
1595
1620
|
}
|
|
1596
1621
|
this.state.top = true;
|
|
1597
1622
|
return tokens;
|
|
@@ -1643,14 +1668,14 @@
|
|
|
1643
1668
|
maskedSrc = maskedSrc.slice(0, match.index + match[0].length - 2) + '++' + maskedSrc.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);
|
|
1644
1669
|
this.tokenizer.rules.inline.escapedEmSt.lastIndex--;
|
|
1645
1670
|
}
|
|
1646
|
-
|
|
1671
|
+
var _loop2 = function _loop2() {
|
|
1647
1672
|
if (!keepPrevChar) {
|
|
1648
1673
|
prevChar = '';
|
|
1649
1674
|
}
|
|
1650
1675
|
keepPrevChar = false;
|
|
1651
1676
|
|
|
1652
1677
|
// extensions
|
|
1653
|
-
if (
|
|
1678
|
+
if (_this2.options.extensions && _this2.options.extensions.inline && _this2.options.extensions.inline.some(function (extTokenizer) {
|
|
1654
1679
|
if (token = extTokenizer.call({
|
|
1655
1680
|
lexer: _this2
|
|
1656
1681
|
}, src, tokens)) {
|
|
@@ -1660,18 +1685,18 @@
|
|
|
1660
1685
|
}
|
|
1661
1686
|
return false;
|
|
1662
1687
|
})) {
|
|
1663
|
-
continue;
|
|
1688
|
+
return "continue";
|
|
1664
1689
|
}
|
|
1665
1690
|
|
|
1666
1691
|
// escape
|
|
1667
|
-
if (token =
|
|
1692
|
+
if (token = _this2.tokenizer.escape(src)) {
|
|
1668
1693
|
src = src.substring(token.raw.length);
|
|
1669
1694
|
tokens.push(token);
|
|
1670
|
-
continue;
|
|
1695
|
+
return "continue";
|
|
1671
1696
|
}
|
|
1672
1697
|
|
|
1673
1698
|
// tag
|
|
1674
|
-
if (token =
|
|
1699
|
+
if (token = _this2.tokenizer.tag(src)) {
|
|
1675
1700
|
src = src.substring(token.raw.length);
|
|
1676
1701
|
lastToken = tokens[tokens.length - 1];
|
|
1677
1702
|
if (lastToken && token.type === 'text' && lastToken.type === 'text') {
|
|
@@ -1680,18 +1705,18 @@
|
|
|
1680
1705
|
} else {
|
|
1681
1706
|
tokens.push(token);
|
|
1682
1707
|
}
|
|
1683
|
-
continue;
|
|
1708
|
+
return "continue";
|
|
1684
1709
|
}
|
|
1685
1710
|
|
|
1686
1711
|
// link
|
|
1687
|
-
if (token =
|
|
1712
|
+
if (token = _this2.tokenizer.link(src)) {
|
|
1688
1713
|
src = src.substring(token.raw.length);
|
|
1689
1714
|
tokens.push(token);
|
|
1690
|
-
continue;
|
|
1715
|
+
return "continue";
|
|
1691
1716
|
}
|
|
1692
1717
|
|
|
1693
1718
|
// reflink, nolink
|
|
1694
|
-
if (token =
|
|
1719
|
+
if (token = _this2.tokenizer.reflink(src, _this2.tokens.links)) {
|
|
1695
1720
|
src = src.substring(token.raw.length);
|
|
1696
1721
|
lastToken = tokens[tokens.length - 1];
|
|
1697
1722
|
if (lastToken && token.type === 'text' && lastToken.type === 'text') {
|
|
@@ -1700,73 +1725,71 @@
|
|
|
1700
1725
|
} else {
|
|
1701
1726
|
tokens.push(token);
|
|
1702
1727
|
}
|
|
1703
|
-
continue;
|
|
1728
|
+
return "continue";
|
|
1704
1729
|
}
|
|
1705
1730
|
|
|
1706
1731
|
// em & strong
|
|
1707
|
-
if (token =
|
|
1732
|
+
if (token = _this2.tokenizer.emStrong(src, maskedSrc, prevChar)) {
|
|
1708
1733
|
src = src.substring(token.raw.length);
|
|
1709
1734
|
tokens.push(token);
|
|
1710
|
-
continue;
|
|
1735
|
+
return "continue";
|
|
1711
1736
|
}
|
|
1712
1737
|
|
|
1713
1738
|
// code
|
|
1714
|
-
if (token =
|
|
1739
|
+
if (token = _this2.tokenizer.codespan(src)) {
|
|
1715
1740
|
src = src.substring(token.raw.length);
|
|
1716
1741
|
tokens.push(token);
|
|
1717
|
-
continue;
|
|
1742
|
+
return "continue";
|
|
1718
1743
|
}
|
|
1719
1744
|
|
|
1720
1745
|
// br
|
|
1721
|
-
if (token =
|
|
1746
|
+
if (token = _this2.tokenizer.br(src)) {
|
|
1722
1747
|
src = src.substring(token.raw.length);
|
|
1723
1748
|
tokens.push(token);
|
|
1724
|
-
continue;
|
|
1749
|
+
return "continue";
|
|
1725
1750
|
}
|
|
1726
1751
|
|
|
1727
1752
|
// del (gfm)
|
|
1728
|
-
if (token =
|
|
1753
|
+
if (token = _this2.tokenizer.del(src)) {
|
|
1729
1754
|
src = src.substring(token.raw.length);
|
|
1730
1755
|
tokens.push(token);
|
|
1731
|
-
continue;
|
|
1756
|
+
return "continue";
|
|
1732
1757
|
}
|
|
1733
1758
|
|
|
1734
1759
|
// autolink
|
|
1735
|
-
if (token =
|
|
1760
|
+
if (token = _this2.tokenizer.autolink(src, mangle)) {
|
|
1736
1761
|
src = src.substring(token.raw.length);
|
|
1737
1762
|
tokens.push(token);
|
|
1738
|
-
continue;
|
|
1763
|
+
return "continue";
|
|
1739
1764
|
}
|
|
1740
1765
|
|
|
1741
1766
|
// url (gfm)
|
|
1742
|
-
if (!
|
|
1767
|
+
if (!_this2.state.inLink && (token = _this2.tokenizer.url(src, mangle))) {
|
|
1743
1768
|
src = src.substring(token.raw.length);
|
|
1744
1769
|
tokens.push(token);
|
|
1745
|
-
continue;
|
|
1770
|
+
return "continue";
|
|
1746
1771
|
}
|
|
1747
1772
|
|
|
1748
1773
|
// text
|
|
1749
1774
|
// prevent inlineText consuming extensions by clipping 'src' to extension start
|
|
1750
1775
|
cutSrc = src;
|
|
1751
|
-
if (
|
|
1752
|
-
|
|
1753
|
-
|
|
1754
|
-
|
|
1755
|
-
|
|
1756
|
-
|
|
1757
|
-
|
|
1758
|
-
|
|
1759
|
-
|
|
1760
|
-
|
|
1761
|
-
startIndex = Math.min(startIndex, tempStart);
|
|
1762
|
-
}
|
|
1763
|
-
});
|
|
1764
|
-
if (startIndex < Infinity && startIndex >= 0) {
|
|
1765
|
-
cutSrc = src.substring(0, startIndex + 1);
|
|
1776
|
+
if (_this2.options.extensions && _this2.options.extensions.startInline) {
|
|
1777
|
+
var startIndex = Infinity;
|
|
1778
|
+
var tempSrc = src.slice(1);
|
|
1779
|
+
var tempStart;
|
|
1780
|
+
_this2.options.extensions.startInline.forEach(function (getStartIndex) {
|
|
1781
|
+
tempStart = getStartIndex.call({
|
|
1782
|
+
lexer: this
|
|
1783
|
+
}, tempSrc);
|
|
1784
|
+
if (typeof tempStart === 'number' && tempStart >= 0) {
|
|
1785
|
+
startIndex = Math.min(startIndex, tempStart);
|
|
1766
1786
|
}
|
|
1767
|
-
})
|
|
1787
|
+
});
|
|
1788
|
+
if (startIndex < Infinity && startIndex >= 0) {
|
|
1789
|
+
cutSrc = src.substring(0, startIndex + 1);
|
|
1790
|
+
}
|
|
1768
1791
|
}
|
|
1769
|
-
if (token =
|
|
1792
|
+
if (token = _this2.tokenizer.inlineText(cutSrc, smartypants)) {
|
|
1770
1793
|
src = src.substring(token.raw.length);
|
|
1771
1794
|
if (token.raw.slice(-1) !== '_') {
|
|
1772
1795
|
// Track prevChar before string of ____ started
|
|
@@ -1780,17 +1803,22 @@
|
|
|
1780
1803
|
} else {
|
|
1781
1804
|
tokens.push(token);
|
|
1782
1805
|
}
|
|
1783
|
-
continue;
|
|
1806
|
+
return "continue";
|
|
1784
1807
|
}
|
|
1785
1808
|
if (src) {
|
|
1786
1809
|
var errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0);
|
|
1787
|
-
if (
|
|
1810
|
+
if (_this2.options.silent) {
|
|
1788
1811
|
console.error(errMsg);
|
|
1789
|
-
break;
|
|
1812
|
+
return "break";
|
|
1790
1813
|
} else {
|
|
1791
1814
|
throw new Error(errMsg);
|
|
1792
1815
|
}
|
|
1793
1816
|
}
|
|
1817
|
+
};
|
|
1818
|
+
while (src) {
|
|
1819
|
+
var _ret2 = _loop2();
|
|
1820
|
+
if (_ret2 === "continue") continue;
|
|
1821
|
+
if (_ret2 === "break") break;
|
|
1794
1822
|
}
|
|
1795
1823
|
return tokens;
|
|
1796
1824
|
};
|
|
@@ -1836,7 +1864,7 @@
|
|
|
1836
1864
|
_proto.blockquote = function blockquote(quote) {
|
|
1837
1865
|
return "<blockquote>\n" + quote + "</blockquote>\n";
|
|
1838
1866
|
};
|
|
1839
|
-
_proto.html = function html(_html) {
|
|
1867
|
+
_proto.html = function html(_html, block) {
|
|
1840
1868
|
return _html;
|
|
1841
1869
|
}
|
|
1842
1870
|
|
|
@@ -2237,8 +2265,7 @@
|
|
|
2237
2265
|
}
|
|
2238
2266
|
case 'html':
|
|
2239
2267
|
{
|
|
2240
|
-
|
|
2241
|
-
out += this.renderer.html(token.text);
|
|
2268
|
+
out += this.renderer.html(token.text, token.block);
|
|
2242
2269
|
continue;
|
|
2243
2270
|
}
|
|
2244
2271
|
case 'paragraph':
|
|
@@ -2425,7 +2452,7 @@
|
|
|
2425
2452
|
if (typeof src !== 'string') {
|
|
2426
2453
|
return throwError(new Error('marked(): input parameter is of type ' + Object.prototype.toString.call(src) + ', string expected'));
|
|
2427
2454
|
}
|
|
2428
|
-
|
|
2455
|
+
checkDeprecations(opt, callback);
|
|
2429
2456
|
if (opt.hooks) {
|
|
2430
2457
|
opt.hooks.options = opt;
|
|
2431
2458
|
}
|
|
@@ -2621,86 +2648,80 @@
|
|
|
2621
2648
|
|
|
2622
2649
|
// ==-- Parse "overwrite" extensions --== //
|
|
2623
2650
|
if (pack.renderer) {
|
|
2624
|
-
|
|
2625
|
-
|
|
2626
|
-
var
|
|
2627
|
-
|
|
2628
|
-
|
|
2629
|
-
|
|
2630
|
-
|
|
2631
|
-
|
|
2632
|
-
|
|
2633
|
-
|
|
2634
|
-
|
|
2635
|
-
|
|
2636
|
-
|
|
2637
|
-
return ret;
|
|
2638
|
-
};
|
|
2651
|
+
var renderer = marked.defaults.renderer || new Renderer();
|
|
2652
|
+
var _loop = function _loop(prop) {
|
|
2653
|
+
var prevRenderer = renderer[prop];
|
|
2654
|
+
// Replace renderer with func to run extension, but fall back if false
|
|
2655
|
+
renderer[prop] = function () {
|
|
2656
|
+
for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
|
|
2657
|
+
args[_key3] = arguments[_key3];
|
|
2658
|
+
}
|
|
2659
|
+
var ret = pack.renderer[prop].apply(renderer, args);
|
|
2660
|
+
if (ret === false) {
|
|
2661
|
+
ret = prevRenderer.apply(renderer, args);
|
|
2662
|
+
}
|
|
2663
|
+
return ret;
|
|
2639
2664
|
};
|
|
2640
|
-
|
|
2641
|
-
|
|
2642
|
-
|
|
2643
|
-
|
|
2644
|
-
|
|
2665
|
+
};
|
|
2666
|
+
for (var prop in pack.renderer) {
|
|
2667
|
+
_loop(prop);
|
|
2668
|
+
}
|
|
2669
|
+
opts.renderer = renderer;
|
|
2645
2670
|
}
|
|
2646
2671
|
if (pack.tokenizer) {
|
|
2647
|
-
|
|
2648
|
-
|
|
2649
|
-
var
|
|
2650
|
-
|
|
2651
|
-
|
|
2652
|
-
|
|
2653
|
-
|
|
2654
|
-
|
|
2655
|
-
|
|
2656
|
-
|
|
2657
|
-
|
|
2658
|
-
|
|
2659
|
-
|
|
2660
|
-
return ret;
|
|
2661
|
-
};
|
|
2672
|
+
var tokenizer = marked.defaults.tokenizer || new Tokenizer();
|
|
2673
|
+
var _loop2 = function _loop2(_prop) {
|
|
2674
|
+
var prevTokenizer = tokenizer[_prop];
|
|
2675
|
+
// Replace tokenizer with func to run extension, but fall back if false
|
|
2676
|
+
tokenizer[_prop] = function () {
|
|
2677
|
+
for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
|
|
2678
|
+
args[_key4] = arguments[_key4];
|
|
2679
|
+
}
|
|
2680
|
+
var ret = pack.tokenizer[_prop].apply(tokenizer, args);
|
|
2681
|
+
if (ret === false) {
|
|
2682
|
+
ret = prevTokenizer.apply(tokenizer, args);
|
|
2683
|
+
}
|
|
2684
|
+
return ret;
|
|
2662
2685
|
};
|
|
2663
|
-
|
|
2664
|
-
|
|
2665
|
-
|
|
2666
|
-
|
|
2667
|
-
|
|
2686
|
+
};
|
|
2687
|
+
for (var _prop in pack.tokenizer) {
|
|
2688
|
+
_loop2(_prop);
|
|
2689
|
+
}
|
|
2690
|
+
opts.tokenizer = tokenizer;
|
|
2668
2691
|
}
|
|
2669
2692
|
|
|
2670
2693
|
// ==-- Parse Hooks extensions --== //
|
|
2671
2694
|
if (pack.hooks) {
|
|
2672
|
-
|
|
2673
|
-
|
|
2674
|
-
var
|
|
2675
|
-
|
|
2676
|
-
|
|
2677
|
-
|
|
2678
|
-
|
|
2679
|
-
return
|
|
2680
|
-
|
|
2681
|
-
|
|
2682
|
-
|
|
2683
|
-
|
|
2684
|
-
|
|
2685
|
-
|
|
2686
|
-
|
|
2687
|
-
|
|
2688
|
-
|
|
2689
|
-
|
|
2690
|
-
|
|
2691
|
-
|
|
2692
|
-
|
|
2693
|
-
|
|
2694
|
-
|
|
2695
|
-
|
|
2696
|
-
};
|
|
2697
|
-
}
|
|
2698
|
-
};
|
|
2699
|
-
for (var prop in pack.hooks) {
|
|
2700
|
-
_loop3(prop);
|
|
2695
|
+
var hooks = marked.defaults.hooks || new Hooks();
|
|
2696
|
+
var _loop3 = function _loop3(_prop2) {
|
|
2697
|
+
var prevHook = hooks[_prop2];
|
|
2698
|
+
if (Hooks.passThroughHooks.has(_prop2)) {
|
|
2699
|
+
hooks[_prop2] = function (arg) {
|
|
2700
|
+
if (marked.defaults.async) {
|
|
2701
|
+
return Promise.resolve(pack.hooks[_prop2].call(hooks, arg)).then(function (ret) {
|
|
2702
|
+
return prevHook.call(hooks, ret);
|
|
2703
|
+
});
|
|
2704
|
+
}
|
|
2705
|
+
var ret = pack.hooks[_prop2].call(hooks, arg);
|
|
2706
|
+
return prevHook.call(hooks, ret);
|
|
2707
|
+
};
|
|
2708
|
+
} else {
|
|
2709
|
+
hooks[_prop2] = function () {
|
|
2710
|
+
for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {
|
|
2711
|
+
args[_key5] = arguments[_key5];
|
|
2712
|
+
}
|
|
2713
|
+
var ret = pack.hooks[_prop2].apply(hooks, args);
|
|
2714
|
+
if (ret === false) {
|
|
2715
|
+
ret = prevHook.apply(hooks, args);
|
|
2716
|
+
}
|
|
2717
|
+
return ret;
|
|
2718
|
+
};
|
|
2701
2719
|
}
|
|
2702
|
-
|
|
2703
|
-
|
|
2720
|
+
};
|
|
2721
|
+
for (var _prop2 in pack.hooks) {
|
|
2722
|
+
_loop3(_prop2);
|
|
2723
|
+
}
|
|
2724
|
+
opts.hooks = hooks;
|
|
2704
2725
|
}
|
|
2705
2726
|
|
|
2706
2727
|
// ==-- Parse WalkTokens extensions --== //
|