better variables, autolink

This commit is contained in:
Christopher Jeffrey 2011-08-13 23:36:44 -05:00
parent a25191e4d3
commit a51a1223b6

View File

@ -128,10 +128,15 @@ block.token = function lex(str, tokens, line) {
var keys = block.keys
, len = keys.length;
var i
, key
, rule
, cap;
while (str.length)
for (var i = 0; i < len; i++) {
var key = keys[i]
, rule = block[key];
for (i = 0; i < len; i++) {
key = keys[i];
rule = block[key];
cap = rule.exec(str);
if (!cap) continue;
@ -278,12 +283,17 @@ inline.lexer = function(str) {
var rules = inline
, keys = inline.keys
, len = keys.length
, i
, key
, rule
, out = ''
, links = tokens.links;
var i
, key
, rule
, cap
, link
, text
, href;
while (str.length) {
for (i = 0; i < len; i++) {
key = keys[i];
@ -311,7 +321,7 @@ inline.lexer = function(str) {
break;
case 'link':
case 'reflink':
var link = links[cap[2]] || '';
link = links[cap[2]] || '';
out += '<a href="'
+ escape(link.href || cap[2])
+ '"'
@ -326,17 +336,15 @@ inline.lexer = function(str) {
break;
case 'autolink':
if (cap[2] === '@') {
var email = mangle(cap[1])
, mailto = mangle('mailto:') + mailto;
out += '<a href="' + mailto + '">'
+ email
+ '</a>';
text = mangle(cap[1]);
href = mangle('mailto:') + text;
} else {
var href = escape(cap[1]);
out += '<a href="' + href + '">'
+ href
+ '</a>';
text = escape(cap[1]);
href = text;
}
out += '<a href="' + href + '">'
+ text
+ '</a>';
break;
case 'strong':
out += '<strong>'