🗜️ build [skip ci]
This commit is contained in:
parent
edc857c628
commit
4c24702a08
@ -17,7 +17,7 @@ function _defineProperties(target, props) {
|
|||||||
descriptor.enumerable = descriptor.enumerable || false;
|
descriptor.enumerable = descriptor.enumerable || false;
|
||||||
descriptor.configurable = true;
|
descriptor.configurable = true;
|
||||||
if ("value" in descriptor) descriptor.writable = true;
|
if ("value" in descriptor) descriptor.writable = true;
|
||||||
Object.defineProperty(target, descriptor.key, descriptor);
|
Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
function _createClass(Constructor, protoProps, staticProps) {
|
function _createClass(Constructor, protoProps, staticProps) {
|
||||||
@ -59,6 +59,20 @@ function _createForOfIteratorHelperLoose(o, allowArrayLike) {
|
|||||||
}
|
}
|
||||||
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
||||||
}
|
}
|
||||||
|
function _toPrimitive(input, hint) {
|
||||||
|
if (typeof input !== "object" || input === null) return input;
|
||||||
|
var prim = input[Symbol.toPrimitive];
|
||||||
|
if (prim !== undefined) {
|
||||||
|
var res = prim.call(input, hint || "default");
|
||||||
|
if (typeof res !== "object") return res;
|
||||||
|
throw new TypeError("@@toPrimitive must return a primitive value.");
|
||||||
|
}
|
||||||
|
return (hint === "string" ? String : Number)(input);
|
||||||
|
}
|
||||||
|
function _toPropertyKey(arg) {
|
||||||
|
var key = _toPrimitive(arg, "string");
|
||||||
|
return typeof key === "symbol" ? key : String(key);
|
||||||
|
}
|
||||||
|
|
||||||
function getDefaults() {
|
function getDefaults() {
|
||||||
return {
|
return {
|
||||||
@ -480,10 +494,14 @@ var Tokenizer = /*#__PURE__*/function () {
|
|||||||
var cap = this.rules.block.blockquote.exec(src);
|
var cap = this.rules.block.blockquote.exec(src);
|
||||||
if (cap) {
|
if (cap) {
|
||||||
var text = cap[0].replace(/^ *>[ \t]?/gm, '');
|
var text = cap[0].replace(/^ *>[ \t]?/gm, '');
|
||||||
|
var top = this.lexer.state.top;
|
||||||
|
this.lexer.state.top = true;
|
||||||
|
var tokens = this.lexer.blockTokens(text);
|
||||||
|
this.lexer.state.top = top;
|
||||||
return {
|
return {
|
||||||
type: 'blockquote',
|
type: 'blockquote',
|
||||||
raw: cap[0],
|
raw: cap[0],
|
||||||
tokens: this.lexer.blockTokens(text, []),
|
tokens: tokens,
|
||||||
text: text
|
text: text
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@ -631,26 +649,21 @@ var Tokenizer = /*#__PURE__*/function () {
|
|||||||
for (i = 0; i < l; i++) {
|
for (i = 0; i < l; i++) {
|
||||||
this.lexer.state.top = false;
|
this.lexer.state.top = false;
|
||||||
list.items[i].tokens = this.lexer.blockTokens(list.items[i].text, []);
|
list.items[i].tokens = this.lexer.blockTokens(list.items[i].text, []);
|
||||||
var spacers = list.items[i].tokens.filter(function (t) {
|
if (!list.loose) {
|
||||||
return t.type === 'space';
|
// Check if list should be loose
|
||||||
});
|
var spacers = list.items[i].tokens.filter(function (t) {
|
||||||
var hasMultipleLineBreaks = spacers.every(function (t) {
|
return t.type === 'space';
|
||||||
var chars = t.raw.split('');
|
});
|
||||||
var lineBreaks = 0;
|
var hasMultipleLineBreaks = spacers.length > 0 && spacers.some(function (t) {
|
||||||
for (var _iterator = _createForOfIteratorHelperLoose(chars), _step; !(_step = _iterator()).done;) {
|
return /\n.*\n/.test(t.raw);
|
||||||
var _char = _step.value;
|
});
|
||||||
if (_char === '\n') {
|
list.loose = hasMultipleLineBreaks;
|
||||||
lineBreaks += 1;
|
}
|
||||||
}
|
}
|
||||||
if (lineBreaks > 1) {
|
|
||||||
return true;
|
// Set all items to loose if list is loose
|
||||||
}
|
if (list.loose) {
|
||||||
}
|
for (i = 0; i < l; i++) {
|
||||||
return false;
|
|
||||||
});
|
|
||||||
if (!list.loose && spacers.length && hasMultipleLineBreaks) {
|
|
||||||
// Having a single line break doesn't mean a list is loose. A single line break is terminating the last list item
|
|
||||||
list.loose = true;
|
|
||||||
list.items[i].loose = true;
|
list.items[i].loose = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1027,9 +1040,9 @@ var Tokenizer = /*#__PURE__*/function () {
|
|||||||
} while (prevCapZero !== cap[0]);
|
} while (prevCapZero !== cap[0]);
|
||||||
text = escape(cap[0]);
|
text = escape(cap[0]);
|
||||||
if (cap[1] === 'www.') {
|
if (cap[1] === 'www.') {
|
||||||
href = 'http://' + text;
|
href = 'http://' + cap[0];
|
||||||
} else {
|
} else {
|
||||||
href = text;
|
href = cap[0];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return {
|
return {
|
||||||
@ -1242,7 +1255,7 @@ inline.gfm = merge({}, inline.normal, {
|
|||||||
escape: edit(inline.escape).replace('])', '~|])').getRegex(),
|
escape: edit(inline.escape).replace('])', '~|])').getRegex(),
|
||||||
_extended_email: /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,
|
_extended_email: /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,
|
||||||
url: /^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,
|
url: /^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,
|
||||||
_backpedal: /(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,
|
_backpedal: /(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,
|
||||||
del: /^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,
|
del: /^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,
|
||||||
text: /^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/
|
text: /^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/
|
||||||
});
|
});
|
||||||
|
@ -459,11 +459,14 @@ class Tokenizer {
|
|||||||
const cap = this.rules.block.blockquote.exec(src);
|
const cap = this.rules.block.blockquote.exec(src);
|
||||||
if (cap) {
|
if (cap) {
|
||||||
const text = cap[0].replace(/^ *>[ \t]?/gm, '');
|
const text = cap[0].replace(/^ *>[ \t]?/gm, '');
|
||||||
|
const top = this.lexer.state.top;
|
||||||
|
this.lexer.state.top = true;
|
||||||
|
const tokens = this.lexer.blockTokens(text);
|
||||||
|
this.lexer.state.top = top;
|
||||||
return {
|
return {
|
||||||
type: 'blockquote',
|
type: 'blockquote',
|
||||||
raw: cap[0],
|
raw: cap[0],
|
||||||
tokens: this.lexer.blockTokens(text, []),
|
tokens,
|
||||||
text
|
text
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@ -625,25 +628,19 @@ class Tokenizer {
|
|||||||
for (i = 0; i < l; i++) {
|
for (i = 0; i < l; i++) {
|
||||||
this.lexer.state.top = false;
|
this.lexer.state.top = false;
|
||||||
list.items[i].tokens = this.lexer.blockTokens(list.items[i].text, []);
|
list.items[i].tokens = this.lexer.blockTokens(list.items[i].text, []);
|
||||||
const spacers = list.items[i].tokens.filter(t => t.type === 'space');
|
|
||||||
const hasMultipleLineBreaks = spacers.every(t => {
|
|
||||||
const chars = t.raw.split('');
|
|
||||||
let lineBreaks = 0;
|
|
||||||
for (const char of chars) {
|
|
||||||
if (char === '\n') {
|
|
||||||
lineBreaks += 1;
|
|
||||||
}
|
|
||||||
if (lineBreaks > 1) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
if (!list.loose) {
|
||||||
});
|
// Check if list should be loose
|
||||||
|
const spacers = list.items[i].tokens.filter(t => t.type === 'space');
|
||||||
|
const hasMultipleLineBreaks = spacers.length > 0 && spacers.some(t => /\n.*\n/.test(t.raw));
|
||||||
|
|
||||||
if (!list.loose && spacers.length && hasMultipleLineBreaks) {
|
list.loose = hasMultipleLineBreaks;
|
||||||
// Having a single line break doesn't mean a list is loose. A single line break is terminating the last list item
|
}
|
||||||
list.loose = true;
|
}
|
||||||
|
|
||||||
|
// Set all items to loose if list is loose
|
||||||
|
if (list.loose) {
|
||||||
|
for (i = 0; i < l; i++) {
|
||||||
list.items[i].loose = true;
|
list.items[i].loose = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1049,9 +1046,9 @@ class Tokenizer {
|
|||||||
} while (prevCapZero !== cap[0]);
|
} while (prevCapZero !== cap[0]);
|
||||||
text = escape(cap[0]);
|
text = escape(cap[0]);
|
||||||
if (cap[1] === 'www.') {
|
if (cap[1] === 'www.') {
|
||||||
href = 'http://' + text;
|
href = 'http://' + cap[0];
|
||||||
} else {
|
} else {
|
||||||
href = text;
|
href = cap[0];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return {
|
return {
|
||||||
@ -1368,7 +1365,7 @@ inline.gfm = merge({}, inline.normal, {
|
|||||||
escape: edit(inline.escape).replace('])', '~|])').getRegex(),
|
escape: edit(inline.escape).replace('])', '~|])').getRegex(),
|
||||||
_extended_email: /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,
|
_extended_email: /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,
|
||||||
url: /^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,
|
url: /^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,
|
||||||
_backpedal: /(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,
|
_backpedal: /(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,
|
||||||
del: /^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,
|
del: /^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,
|
||||||
text: /^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/
|
text: /^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/
|
||||||
});
|
});
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
descriptor.enumerable = descriptor.enumerable || false;
|
descriptor.enumerable = descriptor.enumerable || false;
|
||||||
descriptor.configurable = true;
|
descriptor.configurable = true;
|
||||||
if ("value" in descriptor) descriptor.writable = true;
|
if ("value" in descriptor) descriptor.writable = true;
|
||||||
Object.defineProperty(target, descriptor.key, descriptor);
|
Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
function _createClass(Constructor, protoProps, staticProps) {
|
function _createClass(Constructor, protoProps, staticProps) {
|
||||||
@ -63,6 +63,20 @@
|
|||||||
}
|
}
|
||||||
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
||||||
}
|
}
|
||||||
|
function _toPrimitive(input, hint) {
|
||||||
|
if (typeof input !== "object" || input === null) return input;
|
||||||
|
var prim = input[Symbol.toPrimitive];
|
||||||
|
if (prim !== undefined) {
|
||||||
|
var res = prim.call(input, hint || "default");
|
||||||
|
if (typeof res !== "object") return res;
|
||||||
|
throw new TypeError("@@toPrimitive must return a primitive value.");
|
||||||
|
}
|
||||||
|
return (hint === "string" ? String : Number)(input);
|
||||||
|
}
|
||||||
|
function _toPropertyKey(arg) {
|
||||||
|
var key = _toPrimitive(arg, "string");
|
||||||
|
return typeof key === "symbol" ? key : String(key);
|
||||||
|
}
|
||||||
|
|
||||||
function getDefaults() {
|
function getDefaults() {
|
||||||
return {
|
return {
|
||||||
@ -484,10 +498,14 @@
|
|||||||
var cap = this.rules.block.blockquote.exec(src);
|
var cap = this.rules.block.blockquote.exec(src);
|
||||||
if (cap) {
|
if (cap) {
|
||||||
var text = cap[0].replace(/^ *>[ \t]?/gm, '');
|
var text = cap[0].replace(/^ *>[ \t]?/gm, '');
|
||||||
|
var top = this.lexer.state.top;
|
||||||
|
this.lexer.state.top = true;
|
||||||
|
var tokens = this.lexer.blockTokens(text);
|
||||||
|
this.lexer.state.top = top;
|
||||||
return {
|
return {
|
||||||
type: 'blockquote',
|
type: 'blockquote',
|
||||||
raw: cap[0],
|
raw: cap[0],
|
||||||
tokens: this.lexer.blockTokens(text, []),
|
tokens: tokens,
|
||||||
text: text
|
text: text
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@ -635,26 +653,21 @@
|
|||||||
for (i = 0; i < l; i++) {
|
for (i = 0; i < l; i++) {
|
||||||
this.lexer.state.top = false;
|
this.lexer.state.top = false;
|
||||||
list.items[i].tokens = this.lexer.blockTokens(list.items[i].text, []);
|
list.items[i].tokens = this.lexer.blockTokens(list.items[i].text, []);
|
||||||
var spacers = list.items[i].tokens.filter(function (t) {
|
if (!list.loose) {
|
||||||
return t.type === 'space';
|
// Check if list should be loose
|
||||||
});
|
var spacers = list.items[i].tokens.filter(function (t) {
|
||||||
var hasMultipleLineBreaks = spacers.every(function (t) {
|
return t.type === 'space';
|
||||||
var chars = t.raw.split('');
|
});
|
||||||
var lineBreaks = 0;
|
var hasMultipleLineBreaks = spacers.length > 0 && spacers.some(function (t) {
|
||||||
for (var _iterator = _createForOfIteratorHelperLoose(chars), _step; !(_step = _iterator()).done;) {
|
return /\n.*\n/.test(t.raw);
|
||||||
var _char = _step.value;
|
});
|
||||||
if (_char === '\n') {
|
list.loose = hasMultipleLineBreaks;
|
||||||
lineBreaks += 1;
|
}
|
||||||
}
|
}
|
||||||
if (lineBreaks > 1) {
|
|
||||||
return true;
|
// Set all items to loose if list is loose
|
||||||
}
|
if (list.loose) {
|
||||||
}
|
for (i = 0; i < l; i++) {
|
||||||
return false;
|
|
||||||
});
|
|
||||||
if (!list.loose && spacers.length && hasMultipleLineBreaks) {
|
|
||||||
// Having a single line break doesn't mean a list is loose. A single line break is terminating the last list item
|
|
||||||
list.loose = true;
|
|
||||||
list.items[i].loose = true;
|
list.items[i].loose = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1031,9 +1044,9 @@
|
|||||||
} while (prevCapZero !== cap[0]);
|
} while (prevCapZero !== cap[0]);
|
||||||
text = escape(cap[0]);
|
text = escape(cap[0]);
|
||||||
if (cap[1] === 'www.') {
|
if (cap[1] === 'www.') {
|
||||||
href = 'http://' + text;
|
href = 'http://' + cap[0];
|
||||||
} else {
|
} else {
|
||||||
href = text;
|
href = cap[0];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return {
|
return {
|
||||||
@ -1246,7 +1259,7 @@
|
|||||||
escape: edit(inline.escape).replace('])', '~|])').getRegex(),
|
escape: edit(inline.escape).replace('])', '~|])').getRegex(),
|
||||||
_extended_email: /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,
|
_extended_email: /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,
|
||||||
url: /^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,
|
url: /^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,
|
||||||
_backpedal: /(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,
|
_backpedal: /(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,
|
||||||
del: /^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,
|
del: /^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,
|
||||||
text: /^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/
|
text: /^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/
|
||||||
});
|
});
|
||||||
|
2
marked.min.js
vendored
2
marked.min.js
vendored
File diff suppressed because one or more lines are too long
Loading…
x
Reference in New Issue
Block a user