diff --git a/src/showdown.js b/src/showdown.js index 29306d2..4eebedd 100644 --- a/src/showdown.js +++ b/src/showdown.js @@ -122,10 +122,10 @@ if (typeof module !== 'undefind' && typeof exports !== 'undefined' && typeof req if (fs) { // Search extensions folder - var extensions = fs.readdirSync('./src/extensions').filter(function(file){ + var extensions = fs.readdirSync((__dirname || '.')+'/extensions').filter(function(file){ return ~file.indexOf('.js'); }).map(function(file){ - return file.replace('.js', ''); + return file.replace(/\.js$/, ''); }); // Load extensions into Showdown namespace extensions.forEach(function(ext){ @@ -183,9 +183,9 @@ this.makeHtml = function(text) { // from other articles when generating a page which contains more than // one article (e.g. an index page that shows the N most recent // articles): - g_urls = new Array(); - g_titles = new Array(); - g_html_blocks = new Array(); + g_urls = {}; + g_titles = {}; + g_html_blocks = []; // attacklab: Replace ~ with ~T // This lets us use tilde as an escape char to avoid md5 hashes @@ -1191,7 +1191,7 @@ var _FormParagraphs = function(text) { text = text.replace(/\n+$/g,""); var grafs = text.split(/\n{2,}/g); - var grafsOut = new Array(); + var grafsOut = []; // // Wrap

tags. @@ -1310,16 +1310,9 @@ var _EncodeEmailAddress = function(addr) { // mailing list: // - // attacklab: why can't javascript speak hex? - function char2hex(ch) { - var hexDigits = '0123456789ABCDEF'; - var dec = ch.charCodeAt(0); - return(hexDigits.charAt(dec>>4) + hexDigits.charAt(dec&15)); - } - var encode = [ function(ch){return "&#"+ch.charCodeAt(0)+";";}, - function(ch){return "&#x"+char2hex(ch)+";";}, + function(ch){return "&#x"+ch.charCodeAt(0).toString(16)+";";}, function(ch){return ch;} ];