/* * This function originally from Stuart Langridge at http://www.kryogenix.org/ * Heavily updated by Jeff Minard at http://www.creatimation.net/ */ function superTextile(s) { var r = s; // quick tags first qtags = [['\\*', 'strong'], ['\\?\\?', 'cite'], ['\\+', 'ins'], //fixed ['~', 'sub'], ['\\^', 'sup'], // me ['@', 'code']]; for (var i=0;i'+'$1'+''); } // underscores count as part of a word, so do them separately re = new RegExp('\\b_(.+?)_\\b','g'); r = r.replace(re,'$1'); //jeff: so do dashes re = new RegExp('[\s\n]-(.+?)-[\s\n]','g'); r = r.replace(re,'$1'); // links re = new RegExp('"\\b(.+?)\\(\\b(.+?)\\b\\)":([^\\s]+)','g'); r = r.replace(re,'$1'); re = new RegExp('"\\b(.+?)\\b":([^\\s]+)','g'); r = r.replace(re,'$1'); // images re = new RegExp('!\\b(.+?)\\(\\b(.+?)\\b\\)!','g'); r = r.replace(re,'$2'); re = new RegExp('!\\b(.+?)\\b!','g'); r = r.replace(re,''); // block level formatting // Jeff's hack to show single line breaks as they should. // insert breaks - but you get some....stupid ones re = new RegExp('(.*)\n([^#\*\n].*)','g'); r = r.replace(re,'$1
$2'); // remove the stupid breaks. re = new RegExp('\n
','g'); r = r.replace(re,'\n'); lines = r.split('\n'); nr = ''; for (var i=0;i')+''; changed = 1; } // jeff adds h#. if (line.search(/^\s*h[1-6]\.\s+/) != -1) { re = new RegExp('h([1-6])\.(.+)','g'); line = line.replace(re,'$2'); changed = 1; } if (line.search(/^\s*\*\s+/) != -1) { line = line.replace(/^\s*\*\s+/,'\t') + ''; changed = 1; } // * for bullet list; make up an liu tag to be fixed later if (line.search(/^\s*#\s+/) != -1) { line = line.replace(/^\s*#\s+/,'\t') + ''; changed = 1; } // # for numeric list; make up an lio tag to be fixed later if (!changed && (line.replace(/\s/g,'').length > 0)) line = '

'+line+'

'; lines[i] = line + '\n'; } // Second pass to do lists inlist = 0; listtype = ''; for (var i=0;i AND r = r.replace(/li[o|u]>/g,'li>'); return r; } function ReloadTextDiv() { var commentString = document.getElementById('text').value; var con = superTextile(commentString); document.getElementById('TextDisplay').innerHTML = con; }