🗜️ build [skip ci]
This commit is contained in:
parent
73a7bf5cd9
commit
af31a9949e
@ -92,9 +92,9 @@ function changeDefaults(newDefaults) {
|
||||
* Helpers
|
||||
*/
|
||||
var escapeTest = /[&<>"']/;
|
||||
var escapeReplace = /[&<>"']/g;
|
||||
var escapeTestNoEncode = /[<>"']|&(?!#?\w+;)/;
|
||||
var escapeReplaceNoEncode = /[<>"']|&(?!#?\w+;)/g;
|
||||
var escapeReplace = new RegExp(escapeTest.source, 'g');
|
||||
var escapeTestNoEncode = /[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/;
|
||||
var escapeReplaceNoEncode = new RegExp(escapeTestNoEncode.source, 'g');
|
||||
var escapeReplacements = {
|
||||
'&': '&',
|
||||
'<': '<',
|
||||
@ -678,14 +678,15 @@ var Tokenizer = /*#__PURE__*/function () {
|
||||
_proto.def = function def(src) {
|
||||
var cap = this.rules.block.def.exec(src);
|
||||
if (cap) {
|
||||
if (cap[3]) cap[3] = cap[3].substring(1, cap[3].length - 1);
|
||||
var tag = cap[1].toLowerCase().replace(/\s+/g, ' ');
|
||||
var href = cap[2] ? cap[2].replace(/^<(.*)>$/, '$1').replace(this.rules.inline._escapes, '$1') : '';
|
||||
var title = cap[3] ? cap[3].substring(1, cap[3].length - 1).replace(this.rules.inline._escapes, '$1') : cap[3];
|
||||
return {
|
||||
type: 'def',
|
||||
tag: tag,
|
||||
raw: cap[0],
|
||||
href: cap[2] ? cap[2].replace(this.rules.inline._escapes, '$1') : cap[2],
|
||||
title: cap[3] ? cap[3].replace(this.rules.inline._escapes, '$1') : cap[3]
|
||||
href: href,
|
||||
title: title
|
||||
};
|
||||
}
|
||||
};
|
||||
@ -871,7 +872,7 @@ var Tokenizer = /*#__PURE__*/function () {
|
||||
if ((cap = this.rules.inline.reflink.exec(src)) || (cap = this.rules.inline.nolink.exec(src))) {
|
||||
var link = (cap[2] || cap[1]).replace(/\s+/g, ' ');
|
||||
link = links[link.toLowerCase()];
|
||||
if (!link || !link.href) {
|
||||
if (!link) {
|
||||
var text = cap[0].charAt(0);
|
||||
return {
|
||||
type: 'text',
|
||||
@ -1084,9 +1085,9 @@ var block = {
|
||||
+ '|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)' // (7) open tag
|
||||
+ '|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)' // (7) closing tag
|
||||
+ ')',
|
||||
def: /^ {0,3}\[(label)\]: *(?:\n *)?<?([^\s>]+)>?(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/,
|
||||
def: /^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/,
|
||||
table: noopTest,
|
||||
lheading: /^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,
|
||||
lheading: /^((?:.|\n(?!\n))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,
|
||||
// regex template, placeholders will be replaced according to different paragraph
|
||||
// interruption rules of commonmark and the original markdown spec:
|
||||
_paragraph: /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,
|
||||
@ -1142,6 +1143,7 @@ block.pedantic = merge({}, block.normal, {
|
||||
heading: /^(#{1,6})(.*)(?:\n+|$)/,
|
||||
fences: noopTest,
|
||||
// fences not supported
|
||||
lheading: /^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,
|
||||
paragraph: edit(block.normal._paragraph).replace('hr', block.hr).replace('heading', ' *#{1,6} *[^\n]').replace('lheading', block.lheading).replace('blockquote', ' {0,3}>').replace('|fences', '').replace('|list', '').replace('|html', '').getRegex()
|
||||
});
|
||||
|
||||
@ -1789,7 +1791,7 @@ var Renderer = /*#__PURE__*/function () {
|
||||
if (!lang) {
|
||||
return '<pre><code>' + (escaped ? _code : escape(_code, true)) + '</code></pre>\n';
|
||||
}
|
||||
return '<pre><code class="' + this.options.langPrefix + escape(lang, true) + '">' + (escaped ? _code : escape(_code, true)) + '</code></pre>\n';
|
||||
return '<pre><code class="' + this.options.langPrefix + escape(lang) + '">' + (escaped ? _code : escape(_code, true)) + '</code></pre>\n';
|
||||
}
|
||||
|
||||
/**
|
||||
@ -1906,7 +1908,7 @@ var Renderer = /*#__PURE__*/function () {
|
||||
if (href === null) {
|
||||
return text;
|
||||
}
|
||||
var out = '<a href="' + escape(href) + '"';
|
||||
var out = '<a href="' + href + '"';
|
||||
if (title) {
|
||||
out += ' title="' + title + '"';
|
||||
}
|
||||
@ -2435,26 +2437,29 @@ marked.defaults = exports.defaults;
|
||||
*/
|
||||
|
||||
marked.use = function () {
|
||||
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
||||
args[_key] = arguments[_key];
|
||||
}
|
||||
var opts = merge.apply(void 0, [{}].concat(args));
|
||||
var extensions = marked.defaults.extensions || {
|
||||
renderers: {},
|
||||
childTokens: {}
|
||||
};
|
||||
var hasExtensions;
|
||||
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
||||
args[_key] = arguments[_key];
|
||||
}
|
||||
args.forEach(function (pack) {
|
||||
// copy options to new object
|
||||
var opts = merge({}, pack);
|
||||
|
||||
// set async to true if it was set to true before
|
||||
opts.async = marked.defaults.async || opts.async;
|
||||
|
||||
// ==-- Parse "addon" extensions --== //
|
||||
if (pack.extensions) {
|
||||
hasExtensions = true;
|
||||
pack.extensions.forEach(function (ext) {
|
||||
if (!ext.name) {
|
||||
throw new Error('extension name required');
|
||||
}
|
||||
if (ext.renderer) {
|
||||
// Renderer extensions
|
||||
var prevRenderer = extensions.renderers ? extensions.renderers[ext.name] : null;
|
||||
var prevRenderer = extensions.renderers[ext.name];
|
||||
if (prevRenderer) {
|
||||
// Replace extension with func to run new extension but fall back if false
|
||||
extensions.renderers[ext.name] = function () {
|
||||
@ -2503,6 +2508,7 @@ marked.use = function () {
|
||||
extensions.childTokens[ext.name] = ext.childTokens;
|
||||
}
|
||||
});
|
||||
opts.extensions = extensions;
|
||||
}
|
||||
|
||||
// ==-- Parse "overwrite" extensions --== //
|
||||
@ -2565,9 +2571,6 @@ marked.use = function () {
|
||||
return values;
|
||||
};
|
||||
}
|
||||
if (hasExtensions) {
|
||||
opts.extensions = extensions;
|
||||
}
|
||||
marked.setOptions(opts);
|
||||
});
|
||||
};
|
||||
|
@ -43,9 +43,9 @@ function changeDefaults(newDefaults) {
|
||||
* Helpers
|
||||
*/
|
||||
const escapeTest = /[&<>"']/;
|
||||
const escapeReplace = /[&<>"']/g;
|
||||
const escapeTestNoEncode = /[<>"']|&(?!#?\w+;)/;
|
||||
const escapeReplaceNoEncode = /[<>"']|&(?!#?\w+;)/g;
|
||||
const escapeReplace = new RegExp(escapeTest.source, 'g');
|
||||
const escapeTestNoEncode = /[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/;
|
||||
const escapeReplaceNoEncode = new RegExp(escapeTestNoEncode.source, 'g');
|
||||
const escapeReplacements = {
|
||||
'&': '&',
|
||||
'<': '<',
|
||||
@ -675,14 +675,15 @@ class Tokenizer {
|
||||
def(src) {
|
||||
const cap = this.rules.block.def.exec(src);
|
||||
if (cap) {
|
||||
if (cap[3]) cap[3] = cap[3].substring(1, cap[3].length - 1);
|
||||
const tag = cap[1].toLowerCase().replace(/\s+/g, ' ');
|
||||
const href = cap[2] ? cap[2].replace(/^<(.*)>$/, '$1').replace(this.rules.inline._escapes, '$1') : '';
|
||||
const title = cap[3] ? cap[3].substring(1, cap[3].length - 1).replace(this.rules.inline._escapes, '$1') : cap[3];
|
||||
return {
|
||||
type: 'def',
|
||||
tag,
|
||||
raw: cap[0],
|
||||
href: cap[2] ? cap[2].replace(this.rules.inline._escapes, '$1') : cap[2],
|
||||
title: cap[3] ? cap[3].replace(this.rules.inline._escapes, '$1') : cap[3]
|
||||
href,
|
||||
title
|
||||
};
|
||||
}
|
||||
}
|
||||
@ -884,7 +885,7 @@ class Tokenizer {
|
||||
|| (cap = this.rules.inline.nolink.exec(src))) {
|
||||
let link = (cap[2] || cap[1]).replace(/\s+/g, ' ');
|
||||
link = links[link.toLowerCase()];
|
||||
if (!link || !link.href) {
|
||||
if (!link) {
|
||||
const text = cap[0].charAt(0);
|
||||
return {
|
||||
type: 'text',
|
||||
@ -1108,9 +1109,9 @@ const block = {
|
||||
+ '|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)' // (7) open tag
|
||||
+ '|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)' // (7) closing tag
|
||||
+ ')',
|
||||
def: /^ {0,3}\[(label)\]: *(?:\n *)?<?([^\s>]+)>?(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/,
|
||||
def: /^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/,
|
||||
table: noopTest,
|
||||
lheading: /^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,
|
||||
lheading: /^((?:.|\n(?!\n))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,
|
||||
// regex template, placeholders will be replaced according to different paragraph
|
||||
// interruption rules of commonmark and the original markdown spec:
|
||||
_paragraph: /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,
|
||||
@ -1220,6 +1221,7 @@ block.pedantic = merge({}, block.normal, {
|
||||
def: /^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,
|
||||
heading: /^(#{1,6})(.*)(?:\n+|$)/,
|
||||
fences: noopTest, // fences not supported
|
||||
lheading: /^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,
|
||||
paragraph: edit(block.normal._paragraph)
|
||||
.replace('hr', block.hr)
|
||||
.replace('heading', ' *#{1,6} *[^\n]')
|
||||
@ -1913,7 +1915,7 @@ class Renderer {
|
||||
|
||||
return '<pre><code class="'
|
||||
+ this.options.langPrefix
|
||||
+ escape(lang, true)
|
||||
+ escape(lang)
|
||||
+ '">'
|
||||
+ (escaped ? code : escape(code, true))
|
||||
+ '</code></pre>\n';
|
||||
@ -2051,7 +2053,7 @@ class Renderer {
|
||||
if (href === null) {
|
||||
return text;
|
||||
}
|
||||
let out = '<a href="' + escape(href) + '"';
|
||||
let out = '<a href="' + href + '"';
|
||||
if (title) {
|
||||
out += ' title="' + title + '"';
|
||||
}
|
||||
@ -2599,20 +2601,23 @@ marked.defaults = defaults;
|
||||
*/
|
||||
|
||||
marked.use = function(...args) {
|
||||
const opts = merge({}, ...args);
|
||||
const extensions = marked.defaults.extensions || { renderers: {}, childTokens: {} };
|
||||
let hasExtensions;
|
||||
|
||||
args.forEach((pack) => {
|
||||
// copy options to new object
|
||||
const opts = merge({}, pack);
|
||||
|
||||
// set async to true if it was set to true before
|
||||
opts.async = marked.defaults.async || opts.async;
|
||||
|
||||
// ==-- Parse "addon" extensions --== //
|
||||
if (pack.extensions) {
|
||||
hasExtensions = true;
|
||||
pack.extensions.forEach((ext) => {
|
||||
if (!ext.name) {
|
||||
throw new Error('extension name required');
|
||||
}
|
||||
if (ext.renderer) { // Renderer extensions
|
||||
const prevRenderer = extensions.renderers ? extensions.renderers[ext.name] : null;
|
||||
const prevRenderer = extensions.renderers[ext.name];
|
||||
if (prevRenderer) {
|
||||
// Replace extension with func to run new extension but fall back if false
|
||||
extensions.renderers[ext.name] = function(...args) {
|
||||
@ -2655,6 +2660,7 @@ marked.use = function(...args) {
|
||||
extensions.childTokens[ext.name] = ext.childTokens;
|
||||
}
|
||||
});
|
||||
opts.extensions = extensions;
|
||||
}
|
||||
|
||||
// ==-- Parse "overwrite" extensions --== //
|
||||
@ -2702,10 +2708,6 @@ marked.use = function(...args) {
|
||||
};
|
||||
}
|
||||
|
||||
if (hasExtensions) {
|
||||
opts.extensions = extensions;
|
||||
}
|
||||
|
||||
marked.setOptions(opts);
|
||||
});
|
||||
};
|
||||
|
@ -96,9 +96,9 @@
|
||||
* Helpers
|
||||
*/
|
||||
var escapeTest = /[&<>"']/;
|
||||
var escapeReplace = /[&<>"']/g;
|
||||
var escapeTestNoEncode = /[<>"']|&(?!#?\w+;)/;
|
||||
var escapeReplaceNoEncode = /[<>"']|&(?!#?\w+;)/g;
|
||||
var escapeReplace = new RegExp(escapeTest.source, 'g');
|
||||
var escapeTestNoEncode = /[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/;
|
||||
var escapeReplaceNoEncode = new RegExp(escapeTestNoEncode.source, 'g');
|
||||
var escapeReplacements = {
|
||||
'&': '&',
|
||||
'<': '<',
|
||||
@ -682,14 +682,15 @@
|
||||
_proto.def = function def(src) {
|
||||
var cap = this.rules.block.def.exec(src);
|
||||
if (cap) {
|
||||
if (cap[3]) cap[3] = cap[3].substring(1, cap[3].length - 1);
|
||||
var tag = cap[1].toLowerCase().replace(/\s+/g, ' ');
|
||||
var href = cap[2] ? cap[2].replace(/^<(.*)>$/, '$1').replace(this.rules.inline._escapes, '$1') : '';
|
||||
var title = cap[3] ? cap[3].substring(1, cap[3].length - 1).replace(this.rules.inline._escapes, '$1') : cap[3];
|
||||
return {
|
||||
type: 'def',
|
||||
tag: tag,
|
||||
raw: cap[0],
|
||||
href: cap[2] ? cap[2].replace(this.rules.inline._escapes, '$1') : cap[2],
|
||||
title: cap[3] ? cap[3].replace(this.rules.inline._escapes, '$1') : cap[3]
|
||||
href: href,
|
||||
title: title
|
||||
};
|
||||
}
|
||||
};
|
||||
@ -875,7 +876,7 @@
|
||||
if ((cap = this.rules.inline.reflink.exec(src)) || (cap = this.rules.inline.nolink.exec(src))) {
|
||||
var link = (cap[2] || cap[1]).replace(/\s+/g, ' ');
|
||||
link = links[link.toLowerCase()];
|
||||
if (!link || !link.href) {
|
||||
if (!link) {
|
||||
var text = cap[0].charAt(0);
|
||||
return {
|
||||
type: 'text',
|
||||
@ -1088,9 +1089,9 @@
|
||||
+ '|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)' // (7) open tag
|
||||
+ '|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)' // (7) closing tag
|
||||
+ ')',
|
||||
def: /^ {0,3}\[(label)\]: *(?:\n *)?<?([^\s>]+)>?(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/,
|
||||
def: /^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/,
|
||||
table: noopTest,
|
||||
lheading: /^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,
|
||||
lheading: /^((?:.|\n(?!\n))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,
|
||||
// regex template, placeholders will be replaced according to different paragraph
|
||||
// interruption rules of commonmark and the original markdown spec:
|
||||
_paragraph: /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,
|
||||
@ -1146,6 +1147,7 @@
|
||||
heading: /^(#{1,6})(.*)(?:\n+|$)/,
|
||||
fences: noopTest,
|
||||
// fences not supported
|
||||
lheading: /^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,
|
||||
paragraph: edit(block.normal._paragraph).replace('hr', block.hr).replace('heading', ' *#{1,6} *[^\n]').replace('lheading', block.lheading).replace('blockquote', ' {0,3}>').replace('|fences', '').replace('|list', '').replace('|html', '').getRegex()
|
||||
});
|
||||
|
||||
@ -1793,7 +1795,7 @@
|
||||
if (!lang) {
|
||||
return '<pre><code>' + (escaped ? _code : escape(_code, true)) + '</code></pre>\n';
|
||||
}
|
||||
return '<pre><code class="' + this.options.langPrefix + escape(lang, true) + '">' + (escaped ? _code : escape(_code, true)) + '</code></pre>\n';
|
||||
return '<pre><code class="' + this.options.langPrefix + escape(lang) + '">' + (escaped ? _code : escape(_code, true)) + '</code></pre>\n';
|
||||
}
|
||||
|
||||
/**
|
||||
@ -1910,7 +1912,7 @@
|
||||
if (href === null) {
|
||||
return text;
|
||||
}
|
||||
var out = '<a href="' + escape(href) + '"';
|
||||
var out = '<a href="' + href + '"';
|
||||
if (title) {
|
||||
out += ' title="' + title + '"';
|
||||
}
|
||||
@ -2439,26 +2441,29 @@
|
||||
*/
|
||||
|
||||
marked.use = function () {
|
||||
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
||||
args[_key] = arguments[_key];
|
||||
}
|
||||
var opts = merge.apply(void 0, [{}].concat(args));
|
||||
var extensions = marked.defaults.extensions || {
|
||||
renderers: {},
|
||||
childTokens: {}
|
||||
};
|
||||
var hasExtensions;
|
||||
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
||||
args[_key] = arguments[_key];
|
||||
}
|
||||
args.forEach(function (pack) {
|
||||
// copy options to new object
|
||||
var opts = merge({}, pack);
|
||||
|
||||
// set async to true if it was set to true before
|
||||
opts.async = marked.defaults.async || opts.async;
|
||||
|
||||
// ==-- Parse "addon" extensions --== //
|
||||
if (pack.extensions) {
|
||||
hasExtensions = true;
|
||||
pack.extensions.forEach(function (ext) {
|
||||
if (!ext.name) {
|
||||
throw new Error('extension name required');
|
||||
}
|
||||
if (ext.renderer) {
|
||||
// Renderer extensions
|
||||
var prevRenderer = extensions.renderers ? extensions.renderers[ext.name] : null;
|
||||
var prevRenderer = extensions.renderers[ext.name];
|
||||
if (prevRenderer) {
|
||||
// Replace extension with func to run new extension but fall back if false
|
||||
extensions.renderers[ext.name] = function () {
|
||||
@ -2507,6 +2512,7 @@
|
||||
extensions.childTokens[ext.name] = ext.childTokens;
|
||||
}
|
||||
});
|
||||
opts.extensions = extensions;
|
||||
}
|
||||
|
||||
// ==-- Parse "overwrite" extensions --== //
|
||||
@ -2569,9 +2575,6 @@
|
||||
return values;
|
||||
};
|
||||
}
|
||||
if (hasExtensions) {
|
||||
opts.extensions = extensions;
|
||||
}
|
||||
marked.setOptions(opts);
|
||||
});
|
||||
};
|
||||
|
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