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.umd.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * marked v4.3.0 - a markdown parser
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 checkSanitizeDeprecation(opt) {
354
- if (opt && opt.sanitize && !opt.silent) {
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-\uDC2E]|\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\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\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]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD839[\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-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/)) return;
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
- while (src) {
1422
- if (this.options.extensions && this.options.extensions.block && this.options.extensions.block.some(function (extTokenizer) {
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 = this.tokenizer.space(src)) {
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 = this.tokenizer.code(src)) {
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
- this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;
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 = this.tokenizer.fences(src)) {
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 = this.tokenizer.heading(src)) {
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 = this.tokenizer.hr(src)) {
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 = this.tokenizer.blockquote(src)) {
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 = this.tokenizer.list(src)) {
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 = this.tokenizer.html(src)) {
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 = this.tokenizer.def(src)) {
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
- this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;
1513
- } else if (!this.tokens.links[token.tag]) {
1514
- this.tokens.links[token.tag] = {
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 = this.tokenizer.table(src)) {
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 = this.tokenizer.lheading(src)) {
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 (this.options.extensions && this.options.extensions.startBlock) {
1540
- (function () {
1541
- var startIndex = Infinity;
1542
- var tempSrc = src.slice(1);
1543
- var tempStart = void 0;
1544
- _this.options.extensions.startBlock.forEach(function (getStartIndex) {
1545
- tempStart = getStartIndex.call({
1546
- lexer: this
1547
- }, tempSrc);
1548
- if (typeof tempStart === 'number' && tempStart >= 0) {
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 (this.state.top && (token = this.tokenizer.paragraph(cutSrc))) {
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
- this.inlineQueue.pop();
1563
- this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;
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 = this.tokenizer.text(src)) {
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
- this.inlineQueue.pop();
1580
- this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;
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 (this.options.silent) {
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
- while (src) {
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 (this.options.extensions && this.options.extensions.inline && this.options.extensions.inline.some(function (extTokenizer) {
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 = this.tokenizer.escape(src)) {
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 = this.tokenizer.tag(src)) {
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 = this.tokenizer.link(src)) {
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 = this.tokenizer.reflink(src, this.tokens.links)) {
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 = this.tokenizer.emStrong(src, maskedSrc, prevChar)) {
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 = this.tokenizer.codespan(src)) {
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 = this.tokenizer.br(src)) {
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 = this.tokenizer.del(src)) {
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 = this.tokenizer.autolink(src, mangle)) {
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 (!this.state.inLink && (token = this.tokenizer.url(src, mangle))) {
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 (this.options.extensions && this.options.extensions.startInline) {
1752
- (function () {
1753
- var startIndex = Infinity;
1754
- var tempSrc = src.slice(1);
1755
- var tempStart = void 0;
1756
- _this2.options.extensions.startInline.forEach(function (getStartIndex) {
1757
- tempStart = getStartIndex.call({
1758
- lexer: this
1759
- }, tempSrc);
1760
- if (typeof tempStart === 'number' && tempStart >= 0) {
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 = this.tokenizer.inlineText(cutSrc, smartypants)) {
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 (this.options.silent) {
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
- // TODO parse inline content if parameter markdown=1
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
- checkSanitizeDeprecation(opt);
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
- (function () {
2625
- var renderer = marked.defaults.renderer || new Renderer();
2626
- var _loop = function _loop(prop) {
2627
- var prevRenderer = renderer[prop];
2628
- // Replace renderer with func to run extension, but fall back if false
2629
- renderer[prop] = function () {
2630
- for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
2631
- args[_key3] = arguments[_key3];
2632
- }
2633
- var ret = pack.renderer[prop].apply(renderer, args);
2634
- if (ret === false) {
2635
- ret = prevRenderer.apply(renderer, args);
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
- for (var prop in pack.renderer) {
2641
- _loop(prop);
2642
- }
2643
- opts.renderer = renderer;
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
- (function () {
2648
- var tokenizer = marked.defaults.tokenizer || new Tokenizer();
2649
- var _loop2 = function _loop2(prop) {
2650
- var prevTokenizer = tokenizer[prop];
2651
- // Replace tokenizer with func to run extension, but fall back if false
2652
- tokenizer[prop] = function () {
2653
- for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
2654
- args[_key4] = arguments[_key4];
2655
- }
2656
- var ret = pack.tokenizer[prop].apply(tokenizer, args);
2657
- if (ret === false) {
2658
- ret = prevTokenizer.apply(tokenizer, args);
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
- for (var prop in pack.tokenizer) {
2664
- _loop2(prop);
2665
- }
2666
- opts.tokenizer = tokenizer;
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
- (function () {
2673
- var hooks = marked.defaults.hooks || new Hooks();
2674
- var _loop3 = function _loop3(prop) {
2675
- var prevHook = hooks[prop];
2676
- if (Hooks.passThroughHooks.has(prop)) {
2677
- hooks[prop] = function (arg) {
2678
- if (marked.defaults.async) {
2679
- return Promise.resolve(pack.hooks[prop].call(hooks, arg)).then(function (ret) {
2680
- return prevHook.call(hooks, ret);
2681
- });
2682
- }
2683
- var ret = pack.hooks[prop].call(hooks, arg);
2684
- return prevHook.call(hooks, ret);
2685
- };
2686
- } else {
2687
- hooks[prop] = function () {
2688
- for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {
2689
- args[_key5] = arguments[_key5];
2690
- }
2691
- var ret = pack.hooks[prop].apply(hooks, args);
2692
- if (ret === false) {
2693
- ret = prevHook.apply(hooks, args);
2694
- }
2695
- return ret;
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
- opts.hooks = hooks;
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 --== //