X-Git-Url: http://git.onelab.eu/?p=myops.git;a=blobdiff_plain;f=web%2Fquery%2Fvendor%2Ftextile%2Ftextile.js;fp=web%2Fquery%2Fvendor%2Ftextile%2Ftextile.js;h=60673ede0b15554e6a93e861dcc05bd61b98a459;hp=0000000000000000000000000000000000000000;hb=85070b3d456667f238051af1a2f1f2a0c12300ab;hpb=607f0e13927eb18075c375fa9ba5527da4fcbb44 diff --git a/web/query/vendor/textile/textile.js b/web/query/vendor/textile/textile.js new file mode 100644 index 0000000..60673ed --- /dev/null +++ b/web/query/vendor/textile/textile.js @@ -0,0 +1,94 @@ +/* + * This is the orginial function from Stuart Langridge at http://www.kryogenix.org/ + */ + +/* +* This is the update function from Jeff Minard - http://www.jrm.cc/ +*/ +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('"(.+?)":([^\\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 (i=0;i')+''; + changed = 1; + } + + // jeff adds h#. + if (line.search(/^\s*h[1|2|3|4|5|6]\.\s+/) != -1) { + re = new RegExp('h([1|2|3|4|5|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 (i=0;i AND + r = r.replace(/li[o|u]>/g,'li>'); + + return r; +} + +exports.encode = superTextile; \ No newline at end of file