Initial commit
This commit is contained in:
parent
8f9d0b72f5
commit
e5b2998326
@ -1,6 +1,5 @@
|
|||||||
{
|
{
|
||||||
"name": "marked",
|
"name": "marked",
|
||||||
"version": "0.3.4",
|
|
||||||
"homepage": "https://github.com/chjj/marked",
|
"homepage": "https://github.com/chjj/marked",
|
||||||
"authors": [
|
"authors": [
|
||||||
"Christopher Jeffrey <chjjeffrey@gmail.com>"
|
"Christopher Jeffrey <chjjeffrey@gmail.com>"
|
||||||
|
@ -457,7 +457,7 @@ var inline = {
|
|||||||
nolink: /^!?\[((?:\[[^\]]*\]|[^\[\]])*)\]/,
|
nolink: /^!?\[((?:\[[^\]]*\]|[^\[\]])*)\]/,
|
||||||
strong: /^__([\s\S]+?)__(?!_)|^\*\*([\s\S]+?)\*\*(?!\*)/,
|
strong: /^__([\s\S]+?)__(?!_)|^\*\*([\s\S]+?)\*\*(?!\*)/,
|
||||||
em: /^\b_((?:[^_]|__)+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,
|
em: /^\b_((?:[^_]|__)+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,
|
||||||
code: /^(`+)\s*([\s\S]*?[^`])\s*\1(?!`)/,
|
code: /^(`+)([\s\S]*?[^`])\1(?!`)/,
|
||||||
br: /^ {2,}\n(?!\s*$)/,
|
br: /^ {2,}\n(?!\s*$)/,
|
||||||
del: noop,
|
del: noop,
|
||||||
text: /^[\s\S]+?(?=[\\<!\[_*`]| {2,}\n|$)/
|
text: /^[\s\S]+?(?=[\\<!\[_*`]| {2,}\n|$)/
|
||||||
@ -661,7 +661,7 @@ InlineLexer.prototype.output = function(src) {
|
|||||||
// code
|
// code
|
||||||
if (cap = this.rules.code.exec(src)) {
|
if (cap = this.rules.code.exec(src)) {
|
||||||
src = src.substring(cap[0].length);
|
src = src.substring(cap[0].length);
|
||||||
out += this.renderer.codespan(escape(cap[2], true));
|
out += this.renderer.codespan(escape(cap[2].trim(), true));
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -879,6 +879,9 @@ Renderer.prototype.link = function(href, title, text) {
|
|||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (this.options.baseUrl && !originIndependentUrl.test(href)) {
|
||||||
|
href = resolveUrl(this.options.baseUrl, href);
|
||||||
|
}
|
||||||
var out = '<a href="' + href + '"';
|
var out = '<a href="' + href + '"';
|
||||||
if (title) {
|
if (title) {
|
||||||
out += ' title="' + title + '"';
|
out += ' title="' + title + '"';
|
||||||
@ -888,6 +891,9 @@ Renderer.prototype.link = function(href, title, text) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
Renderer.prototype.image = function(href, title, text) {
|
Renderer.prototype.image = function(href, title, text) {
|
||||||
|
if (this.options.baseUrl && !originIndependentUrl.test(href)) {
|
||||||
|
href = resolveUrl(this.options.baseUrl, href);
|
||||||
|
}
|
||||||
var out = '<img src="' + href + '" alt="' + text + '"';
|
var out = '<img src="' + href + '" alt="' + text + '"';
|
||||||
if (title) {
|
if (title) {
|
||||||
out += ' title="' + title + '"';
|
out += ' title="' + title + '"';
|
||||||
@ -1119,6 +1125,30 @@ function replace(regex, opt) {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function resolveUrl(base, href) {
|
||||||
|
if (!baseUrls[' ' + base]) {
|
||||||
|
// we can ignore everything in base after the last slash of its path component,
|
||||||
|
// but we might need to add _that_
|
||||||
|
// https://tools.ietf.org/html/rfc3986#section-3
|
||||||
|
if (/^[^:]+:\/*[^/]*$/.test(base)) {
|
||||||
|
baseUrls[' ' + base] = base + '/';
|
||||||
|
} else {
|
||||||
|
baseUrls[' ' + base] = base.replace(/[^/]*$/, '');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
base = baseUrls[' ' + base];
|
||||||
|
|
||||||
|
if (href.slice(0, 2) === '//') {
|
||||||
|
return base.replace(/:[^]*/, ':') + href;
|
||||||
|
} else if (href.charAt(0) === '/') {
|
||||||
|
return base.replace(/(:\/*[^/]*)[^]*/, '$1') + href;
|
||||||
|
} else {
|
||||||
|
return base + href;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
baseUrls = {};
|
||||||
|
originIndependentUrl = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;
|
||||||
|
|
||||||
function noop() {}
|
function noop() {}
|
||||||
noop.exec = noop;
|
noop.exec = noop;
|
||||||
|
|
||||||
@ -1253,7 +1283,8 @@ marked.defaults = {
|
|||||||
smartypants: false,
|
smartypants: false,
|
||||||
headerPrefix: '',
|
headerPrefix: '',
|
||||||
renderer: new Renderer,
|
renderer: new Renderer,
|
||||||
xhtml: false
|
xhtml: false,
|
||||||
|
baseUrl: null
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
2
marked.min.js
vendored
2
marked.min.js
vendored
File diff suppressed because one or more lines are too long
2189
package-lock.json
generated
Normal file
2189
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,35 @@
|
|||||||
|
<h1 id="absolutization-of-rfc-3986-uris">Absolutization of RFC 3986 URIs</h1>
|
||||||
|
|
||||||
|
<h2 id="absolute-uri">Absolute URI</h2>
|
||||||
|
|
||||||
|
<p><a href="http://example.com/"><img src="http://example.com/logo" alt="section 4.3"></a></p>
|
||||||
|
|
||||||
|
<h2 id="network-path-reference">Network-path reference</h2>
|
||||||
|
|
||||||
|
<p><a href="http://example.com/"><img src="http://example.com/logo" alt="section 4.2"></a></p>
|
||||||
|
|
||||||
|
<h2 id="absolute-path">Absolute path</h2>
|
||||||
|
|
||||||
|
<p><a href="http://example.com/path/to/content"><img src="http://example.com/path/to/img" alt="section 4.2"></a></p>
|
||||||
|
|
||||||
|
<h2 id="relative-path">Relative path</h2>
|
||||||
|
|
||||||
|
<p><a href="http://example.com/base/content"><img src="http://example.com/base/img" alt="section 4.2"></a></p>
|
||||||
|
|
||||||
|
<h2 id="dot-relative-path">Dot-relative path</h2>
|
||||||
|
|
||||||
|
<p><a href="http://example.com/base/./content"><img src="http://example.com/base/./img" alt="section 3.3"></a></p>
|
||||||
|
|
||||||
|
<p><a href="http://example.com/base/../content"><img src="http://example.com/base/../img" alt="section 3.3"></a></p>
|
||||||
|
|
||||||
|
<h2 id="same-document-query">Same-document query</h2>
|
||||||
|
|
||||||
|
<p><a href="?"><img src="?type=image" alt="section 4.4"></a></p>
|
||||||
|
|
||||||
|
<h2 id="same-document-fragment">Same-document fragment</h2>
|
||||||
|
|
||||||
|
<p><a href="#"><img src="#img" alt="section 4.4"></a></p>
|
||||||
|
|
||||||
|
<h2 id="empty">Empty</h2>
|
||||||
|
|
||||||
|
<p><a href="">section 4.2</a></p>
|
@ -0,0 +1,27 @@
|
|||||||
|
# Absolutization of RFC 3986 URIs
|
||||||
|
|
||||||
|
## Absolute URI
|
||||||
|
[](http://example.com/)
|
||||||
|
|
||||||
|
## Network-path reference
|
||||||
|
[](//example.com/)
|
||||||
|
|
||||||
|
## Absolute path
|
||||||
|
[](/path/to/content)
|
||||||
|
|
||||||
|
## Relative path
|
||||||
|
[](content)
|
||||||
|
|
||||||
|
## Dot-relative path
|
||||||
|
[](./content)
|
||||||
|
|
||||||
|
[](../content)
|
||||||
|
|
||||||
|
## Same-document query
|
||||||
|
[](?)
|
||||||
|
|
||||||
|
## Same-document fragment
|
||||||
|
[](#)
|
||||||
|
|
||||||
|
## Empty
|
||||||
|
[section 4.2]()
|
Loading…
x
Reference in New Issue
Block a user