Skip to content

Commit

Permalink
🗜️ build [skip ci]
Browse files Browse the repository at this point in the history
  • Loading branch information
MarkedJS bot committed Nov 20, 2022
1 parent 73a7bf5 commit af31a99
Show file tree
Hide file tree
Showing 4 changed files with 70 additions and 62 deletions.
45 changes: 24 additions & 21 deletions lib/marked.cjs
Expand Up @@ -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 = {
'&': '&amp;',
'<': '&lt;',
Expand Down Expand Up @@ -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
};
}
};
Expand Down Expand Up @@ -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',
Expand Down Expand Up @@ -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]+)*)/,
Expand Down Expand Up @@ -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()
});

Expand Down Expand Up @@ -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';
}

/**
Expand Down Expand Up @@ -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 + '"';
}
Expand Down Expand Up @@ -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 () {
Expand Down Expand Up @@ -2503,6 +2508,7 @@ marked.use = function () {
extensions.childTokens[ext.name] = ext.childTokens;
}
});
opts.extensions = extensions;
}

// ==-- Parse "overwrite" extensions --== //
Expand Down Expand Up @@ -2565,9 +2571,6 @@ marked.use = function () {
return values;
};
}
if (hasExtensions) {
opts.extensions = extensions;
}
marked.setOptions(opts);
});
};
Expand Down
40 changes: 21 additions & 19 deletions lib/marked.esm.js
Expand Up @@ -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 = {
'&': '&amp;',
'<': '&lt;',
Expand Down Expand Up @@ -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
};
}
}
Expand Down Expand Up @@ -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',
Expand Down Expand Up @@ -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]+)*)/,
Expand Down Expand Up @@ -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]')
Expand Down Expand Up @@ -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';
Expand Down Expand Up @@ -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 + '"';
}
Expand Down Expand Up @@ -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) {
Expand Down Expand Up @@ -2655,6 +2660,7 @@ marked.use = function(...args) {
extensions.childTokens[ext.name] = ext.childTokens;
}
});
opts.extensions = extensions;
}

// ==-- Parse "overwrite" extensions --== //
Expand Down Expand Up @@ -2702,10 +2708,6 @@ marked.use = function(...args) {
};
}

if (hasExtensions) {
opts.extensions = extensions;
}

marked.setOptions(opts);
});
};
Expand Down
45 changes: 24 additions & 21 deletions lib/marked.umd.js
Expand Up @@ -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 = {
'&': '&amp;',
'<': '&lt;',
Expand Down Expand Up @@ -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
};
}
};
Expand Down Expand Up @@ -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',
Expand Down Expand Up @@ -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]+)*)/,
Expand Down Expand Up @@ -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()
});

Expand Down Expand Up @@ -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';
}

/**
Expand Down Expand Up @@ -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 + '"';
}
Expand Down Expand Up @@ -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 () {
Expand Down Expand Up @@ -2507,6 +2512,7 @@
extensions.childTokens[ext.name] = ext.childTokens;
}
});
opts.extensions = extensions;
}

// ==-- Parse "overwrite" extensions --== //
Expand Down Expand Up @@ -2569,9 +2575,6 @@
return values;
};
}
if (hasExtensions) {
opts.extensions = extensions;
}
marked.setOptions(opts);
});
};
Expand Down
2 changes: 1 addition & 1 deletion marked.min.js

Large diffs are not rendered by default.

0 comments on commit af31a99

Please sign in to comment.