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