Changed order of autolink processing
This commit is contained in:
parent
ed64407e3d
commit
dbaac49878
@ -694,43 +694,6 @@ InlineLexer.prototype.output = function(src) {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// autolink
|
|
||||||
if (cap = this.rules.autolink.exec(src)) {
|
|
||||||
src = src.substring(cap[0].length);
|
|
||||||
if (cap[2] === '@') {
|
|
||||||
text = escape(this.mangle(cap[1]));
|
|
||||||
href = 'mailto:' + text;
|
|
||||||
} else {
|
|
||||||
text = escape(cap[1]);
|
|
||||||
href = text;
|
|
||||||
}
|
|
||||||
out += this.renderer.link(href, null, text);
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
// url (gfm)
|
|
||||||
if (!this.inLink && (cap = this.rules.url.exec(src))) {
|
|
||||||
if (cap[2] === '@') {
|
|
||||||
text = escape(cap[0]);
|
|
||||||
href = 'mailto:' + text;
|
|
||||||
} else {
|
|
||||||
// do extended autolink path validation
|
|
||||||
do {
|
|
||||||
prevCapZero = cap[0];
|
|
||||||
cap[0] = this.rules._backpedal.exec(cap[0])[0];
|
|
||||||
} while (prevCapZero !== cap[0]);
|
|
||||||
text = escape(cap[0]);
|
|
||||||
if (cap[1] === 'www.') {
|
|
||||||
href = 'http://' + text;
|
|
||||||
} else {
|
|
||||||
href = text;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
src = src.substring(cap[0].length);
|
|
||||||
out += this.renderer.link(href, null, text);
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
// tag
|
// tag
|
||||||
if (cap = this.rules.tag.exec(src)) {
|
if (cap = this.rules.tag.exec(src)) {
|
||||||
if (!this.inLink && /^<a /i.test(cap[0])) {
|
if (!this.inLink && /^<a /i.test(cap[0])) {
|
||||||
@ -831,6 +794,43 @@ InlineLexer.prototype.output = function(src) {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// autolink
|
||||||
|
if (cap = this.rules.autolink.exec(src)) {
|
||||||
|
src = src.substring(cap[0].length);
|
||||||
|
if (cap[2] === '@') {
|
||||||
|
text = escape(this.mangle(cap[1]));
|
||||||
|
href = 'mailto:' + text;
|
||||||
|
} else {
|
||||||
|
text = escape(cap[1]);
|
||||||
|
href = text;
|
||||||
|
}
|
||||||
|
out += this.renderer.link(href, null, text);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// url (gfm)
|
||||||
|
if (!this.inLink && (cap = this.rules.url.exec(src))) {
|
||||||
|
if (cap[2] === '@') {
|
||||||
|
text = escape(cap[0]);
|
||||||
|
href = 'mailto:' + text;
|
||||||
|
} else {
|
||||||
|
// do extended autolink path validation
|
||||||
|
do {
|
||||||
|
prevCapZero = cap[0];
|
||||||
|
cap[0] = this.rules._backpedal.exec(cap[0])[0];
|
||||||
|
} while (prevCapZero !== cap[0]);
|
||||||
|
text = escape(cap[0]);
|
||||||
|
if (cap[1] === 'www.') {
|
||||||
|
href = 'http://' + text;
|
||||||
|
} else {
|
||||||
|
href = text;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
src = src.substring(cap[0].length);
|
||||||
|
out += this.renderer.link(href, null, text);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// text
|
// text
|
||||||
if (cap = this.rules.text.exec(src)) {
|
if (cap = this.rules.text.exec(src)) {
|
||||||
src = src.substring(cap[0].length);
|
src = src.substring(cap[0].length);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user