comparison annotator_files/lib/vendor/showdown.js @ 3:6356e78ccf5c

new version contains Annotator JS files to be used with FilesystemSite.
author casties
date Thu, 05 Apr 2012 19:37:27 +0200
parents
children
comparison
equal deleted inserted replaced
2:4c6c8835fc5c 3:6356e78ccf5c
1 /*
2 A A L Source code at:
3 T C A <http://www.attacklab.net/>
4 T K B
5 */
6
7 var Showdown={};
8 Showdown.converter=function(){
9 var _1;
10 var _2;
11 var _3;
12 var _4=0;
13 this.makeHtml=function(_5){
14 _1=new Array();
15 _2=new Array();
16 _3=new Array();
17 _5=_5.replace(/~/g,"~T");
18 _5=_5.replace(/\$/g,"~D");
19 _5=_5.replace(/\r\n/g,"\n");
20 _5=_5.replace(/\r/g,"\n");
21 _5="\n\n"+_5+"\n\n";
22 _5=_6(_5);
23 _5=_5.replace(/^[ \t]+$/mg,"");
24 _5=_7(_5);
25 _5=_8(_5);
26 _5=_9(_5);
27 _5=_a(_5);
28 _5=_5.replace(/~D/g,"$$");
29 _5=_5.replace(/~T/g,"~");
30 return _5;
31 };
32 var _8=function(_b){
33 var _b=_b.replace(/^[ ]{0,3}\[(.+)\]:[ \t]*\n?[ \t]*<?(\S+?)>?[ \t]*\n?[ \t]*(?:(\n*)["(](.+?)[")][ \t]*)?(?:\n+|\Z)/gm,function(_c,m1,m2,m3,m4){
34 m1=m1.toLowerCase();
35 _1[m1]=_11(m2);
36 if(m3){
37 return m3+m4;
38 }else{
39 if(m4){
40 _2[m1]=m4.replace(/"/g,"&quot;");
41 }
42 }
43 return "";
44 });
45 return _b;
46 };
47 var _7=function(_12){
48 _12=_12.replace(/\n/g,"\n\n");
49 var _13="p|div|h[1-6]|blockquote|pre|table|dl|ol|ul|script|noscript|form|fieldset|iframe|math|ins|del";
50 var _14="p|div|h[1-6]|blockquote|pre|table|dl|ol|ul|script|noscript|form|fieldset|iframe|math";
51 _12=_12.replace(/^(<(p|div|h[1-6]|blockquote|pre|table|dl|ol|ul|script|noscript|form|fieldset|iframe|math|ins|del)\b[^\r]*?\n<\/\2>[ \t]*(?=\n+))/gm,_15);
52 _12=_12.replace(/^(<(p|div|h[1-6]|blockquote|pre|table|dl|ol|ul|script|noscript|form|fieldset|iframe|math)\b[^\r]*?.*<\/\2>[ \t]*(?=\n+)\n)/gm,_15);
53 _12=_12.replace(/(\n[ ]{0,3}(<(hr)\b([^<>])*?\/?>)[ \t]*(?=\n{2,}))/g,_15);
54 _12=_12.replace(/(\n\n[ ]{0,3}<!(--[^\r]*?--\s*)+>[ \t]*(?=\n{2,}))/g,_15);
55 _12=_12.replace(/(?:\n\n)([ ]{0,3}(?:<([?%])[^\r]*?\2>)[ \t]*(?=\n{2,}))/g,_15);
56 _12=_12.replace(/\n\n/g,"\n");
57 return _12;
58 };
59 var _15=function(_16,m1){
60 var _18=m1;
61 _18=_18.replace(/\n\n/g,"\n");
62 _18=_18.replace(/^\n/,"");
63 _18=_18.replace(/\n+$/g,"");
64 _18="\n\n~K"+(_3.push(_18)-1)+"K\n\n";
65 return _18;
66 };
67 var _9=function(_19){
68 _19=_1a(_19);
69 var key=_1c("<hr />");
70 _19=_19.replace(/^[ ]{0,2}([ ]?\*[ ]?){3,}[ \t]*$/gm,key);
71 _19=_19.replace(/^[ ]{0,2}([ ]?\-[ ]?){3,}[ \t]*$/gm,key);
72 _19=_19.replace(/^[ ]{0,2}([ ]?\_[ ]?){3,}[ \t]*$/gm,key);
73 _19=_1d(_19);
74 _19=_1e(_19);
75 _19=_1f(_19);
76 _19=_7(_19);
77 _19=_20(_19);
78 return _19;
79 };
80 var _21=function(_22){
81 _22=_23(_22);
82 _22=_24(_22);
83 _22=_25(_22);
84 _22=_26(_22);
85 _22=_27(_22);
86 _22=_28(_22);
87 _22=_11(_22);
88 _22=_29(_22);
89 _22=_22.replace(/ +\n/g," <br />\n");
90 return _22;
91 };
92 var _24=function(_2a){
93 var _2b=/(<[a-z\/!$]("[^"]*"|'[^']*'|[^'">])*>|<!(--.*?--\s*)+>)/gi;
94 _2a=_2a.replace(_2b,function(_2c){
95 var tag=_2c.replace(/(.)<\/?code>(?=.)/g,"$1`");
96 tag=_2e(tag,"\\`*_");
97 return tag;
98 });
99 return _2a;
100 };
101 var _27=function(_2f){
102 _2f=_2f.replace(/(\[((?:\[[^\]]*\]|[^\[\]])*)\][ ]?(?:\n[ ]*)?\[(.*?)\])()()()()/g,_30);
103 _2f=_2f.replace(/(\[((?:\[[^\]]*\]|[^\[\]])*)\]\([ \t]*()<?(.*?)>?[ \t]*((['"])(.*?)\6[ \t]*)?\))/g,_30);
104 _2f=_2f.replace(/(\[([^\[\]]+)\])()()()()()/g,_30);
105 return _2f;
106 };
107 var _30=function(_31,m1,m2,m3,m4,m5,m6,m7){
108 if(m7==undefined){
109 m7="";
110 }
111 var _39=m1;
112 var _3a=m2;
113 var _3b=m3.toLowerCase();
114 var url=m4;
115 var _3d=m7;
116 if(url==""){
117 if(_3b==""){
118 _3b=_3a.toLowerCase().replace(/ ?\n/g," ");
119 }
120 url="#"+_3b;
121 if(_1[_3b]!=undefined){
122 url=_1[_3b];
123 if(_2[_3b]!=undefined){
124 _3d=_2[_3b];
125 }
126 }else{
127 if(_39.search(/\(\s*\)$/m)>-1){
128 url="";
129 }else{
130 return _39;
131 }
132 }
133 }
134 url=_2e(url,"*_");
135 var _3e="<a href=\""+url+"\"";
136 if(_3d!=""){
137 _3d=_3d.replace(/"/g,"&quot;");
138 _3d=_2e(_3d,"*_");
139 _3e+=" title=\""+_3d+"\"";
140 }
141 _3e+=">"+_3a+"</a>";
142 return _3e;
143 };
144 var _26=function(_3f){
145 _3f=_3f.replace(/(!\[(.*?)\][ ]?(?:\n[ ]*)?\[(.*?)\])()()()()/g,_40);
146 _3f=_3f.replace(/(!\[(.*?)\]\s?\([ \t]*()<?(\S+?)>?[ \t]*((['"])(.*?)\6[ \t]*)?\))/g,_40);
147 return _3f;
148 };
149 var _40=function(_41,m1,m2,m3,m4,m5,m6,m7){
150 var _49=m1;
151 var _4a=m2;
152 var _4b=m3.toLowerCase();
153 var url=m4;
154 var _4d=m7;
155 if(!_4d){
156 _4d="";
157 }
158 if(url==""){
159 if(_4b==""){
160 _4b=_4a.toLowerCase().replace(/ ?\n/g," ");
161 }
162 url="#"+_4b;
163 if(_1[_4b]!=undefined){
164 url=_1[_4b];
165 if(_2[_4b]!=undefined){
166 _4d=_2[_4b];
167 }
168 }else{
169 return _49;
170 }
171 }
172 _4a=_4a.replace(/"/g,"&quot;");
173 url=_2e(url,"*_");
174 var _4e="<img src=\""+url+"\" alt=\""+_4a+"\"";
175 _4d=_4d.replace(/"/g,"&quot;");
176 _4d=_2e(_4d,"*_");
177 _4e+=" title=\""+_4d+"\"";
178 _4e+=" />";
179 return _4e;
180 };
181 var _1a=function(_4f){
182 _4f=_4f.replace(/^(.+)[ \t]*\n=+[ \t]*\n+/gm,function(_50,m1){
183 return _1c("<h1>"+_21(m1)+"</h1>");
184 });
185 _4f=_4f.replace(/^(.+)[ \t]*\n-+[ \t]*\n+/gm,function(_52,m1){
186 return _1c("<h2>"+_21(m1)+"</h2>");
187 });
188 _4f=_4f.replace(/^(\#{1,6})[ \t]*(.+?)[ \t]*\#*\n+/gm,function(_54,m1,m2){
189 var _57=m1.length;
190 return _1c("<h"+_57+">"+_21(m2)+"</h"+_57+">");
191 });
192 return _4f;
193 };
194 var _58;
195 var _1d=function(_59){
196 _59+="~0";
197 var _5a=/^(([ ]{0,3}([*+-]|\d+[.])[ \t]+)[^\r]+?(~0|\n{2,}(?=\S)(?![ \t]*(?:[*+-]|\d+[.])[ \t]+)))/gm;
198 if(_4){
199 _59=_59.replace(_5a,function(_5b,m1,m2){
200 var _5e=m1;
201 var _5f=(m2.search(/[*+-]/g)>-1)?"ul":"ol";
202 _5e=_5e.replace(/\n{2,}/g,"\n\n\n");
203 var _60=_58(_5e);
204 _60=_60.replace(/\s+$/,"");
205 _60="<"+_5f+">"+_60+"</"+_5f+">\n";
206 return _60;
207 });
208 }else{
209 _5a=/(\n\n|^\n?)(([ ]{0,3}([*+-]|\d+[.])[ \t]+)[^\r]+?(~0|\n{2,}(?=\S)(?![ \t]*(?:[*+-]|\d+[.])[ \t]+)))/g;
210 _59=_59.replace(_5a,function(_61,m1,m2,m3){
211 var _65=m1;
212 var _66=m2;
213 var _67=(m3.search(/[*+-]/g)>-1)?"ul":"ol";
214 var _66=_66.replace(/\n{2,}/g,"\n\n\n");
215 var _68=_58(_66);
216 _68=_65+"<"+_67+">\n"+_68+"</"+_67+">\n";
217 return _68;
218 });
219 }
220 _59=_59.replace(/~0/,"");
221 return _59;
222 };
223 _58=function(_69){
224 _4++;
225 _69=_69.replace(/\n{2,}$/,"\n");
226 _69+="~0";
227 _69=_69.replace(/(\n)?(^[ \t]*)([*+-]|\d+[.])[ \t]+([^\r]+?(\n{1,2}))(?=\n*(~0|\2([*+-]|\d+[.])[ \t]+))/gm,function(_6a,m1,m2,m3,m4){
228 var _6f=m4;
229 var _70=m1;
230 var _71=m2;
231 if(_70||(_6f.search(/\n{2,}/)>-1)){
232 _6f=_9(_72(_6f));
233 }else{
234 _6f=_1d(_72(_6f));
235 _6f=_6f.replace(/\n$/,"");
236 _6f=_21(_6f);
237 }
238 return "<li>"+_6f+"</li>\n";
239 });
240 _69=_69.replace(/~0/g,"");
241 _4--;
242 return _69;
243 };
244 var _1e=function(_73){
245 _73+="~0";
246 _73=_73.replace(/(?:\n\n|^)((?:(?:[ ]{4}|\t).*\n+)+)(\n*[ ]{0,3}[^ \t\n]|(?=~0))/g,function(_74,m1,m2){
247 var _77=m1;
248 var _78=m2;
249 _77=_79(_72(_77));
250 _77=_6(_77);
251 _77=_77.replace(/^\n+/g,"");
252 _77=_77.replace(/\n+$/g,"");
253 _77="<pre><code>"+_77+"\n</code></pre>";
254 return _1c(_77)+_78;
255 });
256 _73=_73.replace(/~0/,"");
257 return _73;
258 };
259 var _1c=function(_7a){
260 _7a=_7a.replace(/(^\n+|\n+$)/g,"");
261 return "\n\n~K"+(_3.push(_7a)-1)+"K\n\n";
262 };
263 var _23=function(_7b){
264 _7b=_7b.replace(/(^|[^\\])(`+)([^\r]*?[^`])\2(?!`)/gm,function(_7c,m1,m2,m3,m4){
265 var c=m3;
266 c=c.replace(/^([ \t]*)/g,"");
267 c=c.replace(/[ \t]*$/g,"");
268 c=_79(c);
269 return m1+"<code>"+c+"</code>";
270 });
271 return _7b;
272 };
273 var _79=function(_82){
274 _82=_82.replace(/&/g,"&amp;");
275 _82=_82.replace(/</g,"&lt;");
276 _82=_82.replace(/>/g,"&gt;");
277 _82=_2e(_82,"*_{}[]\\",false);
278 return _82;
279 };
280 var _29=function(_83){
281 _83=_83.replace(/(\*\*|__)(?=\S)([^\r]*?\S[*_]*)\1/g,"<strong>$2</strong>");
282 _83=_83.replace(/(\*|_)(?=\S)([^\r]*?\S)\1/g,"<em>$2</em>");
283 return _83;
284 };
285 var _1f=function(_84){
286 _84=_84.replace(/((^[ \t]*>[ \t]?.+\n(.+\n)*\n*)+)/gm,function(_85,m1){
287 var bq=m1;
288 bq=bq.replace(/^[ \t]*>[ \t]?/gm,"~0");
289 bq=bq.replace(/~0/g,"");
290 bq=bq.replace(/^[ \t]+$/gm,"");
291 bq=_9(bq);
292 bq=bq.replace(/(^|\n)/g,"$1 ");
293 bq=bq.replace(/(\s*<pre>[^\r]+?<\/pre>)/gm,function(_88,m1){
294 var pre=m1;
295 pre=pre.replace(/^ /mg,"~0");
296 pre=pre.replace(/~0/g,"");
297 return pre;
298 });
299 return _1c("<blockquote>\n"+bq+"\n</blockquote>");
300 });
301 return _84;
302 };
303 var _20=function(_8b){
304 _8b=_8b.replace(/^\n+/g,"");
305 _8b=_8b.replace(/\n+$/g,"");
306 var _8c=_8b.split(/\n{2,}/g);
307 var _8d=new Array();
308 var end=_8c.length;
309 for(var i=0;i<end;i++){
310 var str=_8c[i];
311 if(str.search(/~K(\d+)K/g)>=0){
312 _8d.push(str);
313 }else{
314 if(str.search(/\S/)>=0){
315 str=_21(str);
316 str=str.replace(/^([ \t]*)/g,"<p>");
317 str+="</p>";
318 _8d.push(str);
319 }
320 }
321 }
322 end=_8d.length;
323 for(var i=0;i<end;i++){
324 while(_8d[i].search(/~K(\d+)K/)>=0){
325 var _91=_3[RegExp.$1];
326 _91=_91.replace(/\$/g,"$$$$");
327 _8d[i]=_8d[i].replace(/~K\d+K/,_91);
328 }
329 }
330 return _8d.join("\n\n");
331 };
332 var _11=function(_92){
333 _92=_92.replace(/&(?!#?[xX]?(?:[0-9a-fA-F]+|\w+);)/g,"&amp;");
334 _92=_92.replace(/<(?![a-z\/?\$!])/gi,"&lt;");
335 return _92;
336 };
337 var _25=function(_93){
338 _93=_93.replace(/\\(\\)/g,_94);
339 _93=_93.replace(/\\([`*_{}\[\]()>#+-.!])/g,_94);
340 return _93;
341 };
342 var _28=function(_95){
343 _95=_95.replace(/<((https?|ftp|dict):[^'">\s]+)>/gi,"<a href=\"$1\">$1</a>");
344 _95=_95.replace(/<(?:mailto:)?([-.\w]+\@[-a-z0-9]+(\.[-a-z0-9]+)*\.[a-z]+)>/gi,function(_96,m1){
345 return _98(_a(m1));
346 });
347 return _95;
348 };
349 var _98=function(_99){
350 function char2hex(ch){
351 var _9b="0123456789ABCDEF";
352 var dec=ch.charCodeAt(0);
353 return (_9b.charAt(dec>>4)+_9b.charAt(dec&15));
354 }
355 var _9d=[function(ch){
356 return "&#"+ch.charCodeAt(0)+";";
357 },function(ch){
358 return "&#x"+char2hex(ch)+";";
359 },function(ch){
360 return ch;
361 }];
362 _99="mailto:"+_99;
363 _99=_99.replace(/./g,function(ch){
364 if(ch=="@"){
365 ch=_9d[Math.floor(Math.random()*2)](ch);
366 }else{
367 if(ch!=":"){
368 var r=Math.random();
369 ch=(r>0.9?_9d[2](ch):r>0.45?_9d[1](ch):_9d[0](ch));
370 }
371 }
372 return ch;
373 });
374 _99="<a href=\""+_99+"\">"+_99+"</a>";
375 _99=_99.replace(/">.+:/g,"\">");
376 return _99;
377 };
378 var _a=function(_a3){
379 _a3=_a3.replace(/~E(\d+)E/g,function(_a4,m1){
380 var _a6=parseInt(m1);
381 return String.fromCharCode(_a6);
382 });
383 return _a3;
384 };
385 var _72=function(_a7){
386 _a7=_a7.replace(/^(\t|[ ]{1,4})/gm,"~0");
387 _a7=_a7.replace(/~0/g,"");
388 return _a7;
389 };
390 var _6=function(_a8){
391 _a8=_a8.replace(/\t(?=\t)/g," ");
392 _a8=_a8.replace(/\t/g,"~A~B");
393 _a8=_a8.replace(/~B(.+?)~A/g,function(_a9,m1,m2){
394 var _ac=m1;
395 var _ad=4-_ac.length%4;
396 for(var i=0;i<_ad;i++){
397 _ac+=" ";
398 }
399 return _ac;
400 });
401 _a8=_a8.replace(/~A/g," ");
402 _a8=_a8.replace(/~B/g,"");
403 return _a8;
404 };
405 var _2e=function(_af,_b0,_b1){
406 var _b2="(["+_b0.replace(/([\[\]\\])/g,"\\$1")+"])";
407 if(_b1){
408 _b2="\\\\"+_b2;
409 }
410 var _b3=new RegExp(_b2,"g");
411 _af=_af.replace(_b3,_94);
412 return _af;
413 };
414 var _94=function(_b4,m1){
415 var _b6=m1.charCodeAt(0);
416 return "~E"+_b6+"E";
417 };
418 };
419