source: main/trunk/greenstone3/web/interfaces/oran/js/annotator/lib/vendor/showdown.js@ 24771

Last change on this file since 24771 was 24771, checked in by papitha, 13 years ago

Changes to JS

File size: 9.5 KB
Line 
1/*
2 A A L Source code at:
3 T C A <http://www.attacklab.net/>
4 T K B
5*/
6
7var Showdown={};
8Showdown.converter=function(){
9var _1;
10var _2;
11var _3;
12var _4=0;
13this.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,"~");
30return _5;
31};
32var _8=function(_b){
33var _b=_b.replace(/^[ ]{0,3}\[(.+)\]:[ \t]*\n?[ \t]*<?(\S+?)>?[ \t]*\n?[ \t]*(?:(\n*)["(](.+?)[")][ \t]*)?(?:\n+|\Z)/gm,function(_c,m1,m2,m3,m4){
34m1=m1.toLowerCase();
35_1[m1]=_11(m2);
36if(m3){
37return m3+m4;
38}else{
39if(m4){
40_2[m1]=m4.replace(/"/g,"&quot;");
41}
42}
43return "";
44});
45return _b;
46};
47var _7=function(_12){
48_12=_12.replace(/\n/g,"\n\n");
49var _13="p|div|h[1-6]|blockquote|pre|table|dl|ol|ul|script|noscript|form|fieldset|iframe|math|ins|del";
50var _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");
57return _12;
58};
59var _15=function(_16,m1){
60var _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";
65return _18;
66};
67var _9=function(_19){
68_19=_1a(_19);
69var 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);
78return _19;
79};
80var _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");
90return _22;
91};
92var _24=function(_2a){
93var _2b=/(<[a-z\/!$]("[^"]*"|'[^']*'|[^'">])*>|<!(--.*?--\s*)+>)/gi;
94_2a=_2a.replace(_2b,function(_2c){
95var tag=_2c.replace(/(.)<\/?code>(?=.)/g,"$1`");
96tag=_2e(tag,"\\`*_");
97return tag;
98});
99return _2a;
100};
101var _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);
105return _2f;
106};
107var _30=function(_31,m1,m2,m3,m4,m5,m6,m7){
108if(m7==undefined){
109m7="";
110}
111var _39=m1;
112var _3a=m2;
113var _3b=m3.toLowerCase();
114var url=m4;
115var _3d=m7;
116if(url==""){
117if(_3b==""){
118_3b=_3a.toLowerCase().replace(/ ?\n/g," ");
119}
120url="#"+_3b;
121if(_1[_3b]!=undefined){
122url=_1[_3b];
123if(_2[_3b]!=undefined){
124_3d=_2[_3b];
125}
126}else{
127if(_39.search(/\(\s*\)$/m)>-1){
128url="";
129}else{
130return _39;
131}
132}
133}
134url=_2e(url,"*_");
135var _3e="<a href=\""+url+"\"";
136if(_3d!=""){
137_3d=_3d.replace(/"/g,"&quot;");
138_3d=_2e(_3d,"*_");
139_3e+=" title=\""+_3d+"\"";
140}
141_3e+=">"+_3a+"</a>";
142return _3e;
143};
144var _26=function(_3f){
145_3f=_3f.replace(/(!\[(.*?)\][ ]?(?:\n[ ]*)?\[(.*?)\])()()()()/g,_40);
146_3f=_3f.replace(/(!\[(.*?)\]\s?\([ \t]*()<?(\S+?)>?[ \t]*((['"])(.*?)\6[ \t]*)?\))/g,_40);
147return _3f;
148};
149var _40=function(_41,m1,m2,m3,m4,m5,m6,m7){
150var _49=m1;
151var _4a=m2;
152var _4b=m3.toLowerCase();
153var url=m4;
154var _4d=m7;
155if(!_4d){
156_4d="";
157}
158if(url==""){
159if(_4b==""){
160_4b=_4a.toLowerCase().replace(/ ?\n/g," ");
161}
162url="#"+_4b;
163if(_1[_4b]!=undefined){
164url=_1[_4b];
165if(_2[_4b]!=undefined){
166_4d=_2[_4b];
167}
168}else{
169return _49;
170}
171}
172_4a=_4a.replace(/"/g,"&quot;");
173url=_2e(url,"*_");
174var _4e="<img src=\""+url+"\" alt=\""+_4a+"\"";
175_4d=_4d.replace(/"/g,"&quot;");
176_4d=_2e(_4d,"*_");
177_4e+=" title=\""+_4d+"\"";
178_4e+=" />";
179return _4e;
180};
181var _1a=function(_4f){
182_4f=_4f.replace(/^(.+)[ \t]*\n=+[ \t]*\n+/gm,function(_50,m1){
183return _1c("<h1>"+_21(m1)+"</h1>");
184});
185_4f=_4f.replace(/^(.+)[ \t]*\n-+[ \t]*\n+/gm,function(_52,m1){
186return _1c("<h2>"+_21(m1)+"</h2>");
187});
188_4f=_4f.replace(/^(\#{1,6})[ \t]*(.+?)[ \t]*\#*\n+/gm,function(_54,m1,m2){
189var _57=m1.length;
190return _1c("<h"+_57+">"+_21(m2)+"</h"+_57+">");
191});
192return _4f;
193};
194var _58;
195var _1d=function(_59){
196_59+="~0";
197var _5a=/^(([ ]{0,3}([*+-]|\d+[.])[ \t]+)[^\r]+?(~0|\n{2,}(?=\S)(?![ \t]*(?:[*+-]|\d+[.])[ \t]+)))/gm;
198if(_4){
199_59=_59.replace(_5a,function(_5b,m1,m2){
200var _5e=m1;
201var _5f=(m2.search(/[*+-]/g)>-1)?"ul":"ol";
202_5e=_5e.replace(/\n{2,}/g,"\n\n\n");
203var _60=_58(_5e);
204_60=_60.replace(/\s+$/,"");
205_60="<"+_5f+">"+_60+"</"+_5f+">\n";
206return _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){
211var _65=m1;
212var _66=m2;
213var _67=(m3.search(/[*+-]/g)>-1)?"ul":"ol";
214var _66=_66.replace(/\n{2,}/g,"\n\n\n");
215var _68=_58(_66);
216_68=_65+"<"+_67+">\n"+_68+"</"+_67+">\n";
217return _68;
218});
219}
220_59=_59.replace(/~0/,"");
221return _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){
228var _6f=m4;
229var _70=m1;
230var _71=m2;
231if(_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}
238return "<li>"+_6f+"</li>\n";
239});
240_69=_69.replace(/~0/g,"");
241_4--;
242return _69;
243};
244var _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){
247var _77=m1;
248var _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>";
254return _1c(_77)+_78;
255});
256_73=_73.replace(/~0/,"");
257return _73;
258};
259var _1c=function(_7a){
260_7a=_7a.replace(/(^\n+|\n+$)/g,"");
261return "\n\n~K"+(_3.push(_7a)-1)+"K\n\n";
262};
263var _23=function(_7b){
264_7b=_7b.replace(/(^|[^\\])(`+)([^\r]*?[^`])\2(?!`)/gm,function(_7c,m1,m2,m3,m4){
265var c=m3;
266c=c.replace(/^([ \t]*)/g,"");
267c=c.replace(/[ \t]*$/g,"");
268c=_79(c);
269return m1+"<code>"+c+"</code>";
270});
271return _7b;
272};
273var _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);
278return _82;
279};
280var _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>");
283return _83;
284};
285var _1f=function(_84){
286_84=_84.replace(/((^[ \t]*>[ \t]?.+\n(.+\n)*\n*)+)/gm,function(_85,m1){
287var bq=m1;
288bq=bq.replace(/^[ \t]*>[ \t]?/gm,"~0");
289bq=bq.replace(/~0/g,"");
290bq=bq.replace(/^[ \t]+$/gm,"");
291bq=_9(bq);
292bq=bq.replace(/(^|\n)/g,"$1 ");
293bq=bq.replace(/(\s*<pre>[^\r]+?<\/pre>)/gm,function(_88,m1){
294var pre=m1;
295pre=pre.replace(/^ /mg,"~0");
296pre=pre.replace(/~0/g,"");
297return pre;
298});
299return _1c("<blockquote>\n"+bq+"\n</blockquote>");
300});
301return _84;
302};
303var _20=function(_8b){
304_8b=_8b.replace(/^\n+/g,"");
305_8b=_8b.replace(/\n+$/g,"");
306var _8c=_8b.split(/\n{2,}/g);
307var _8d=new Array();
308var end=_8c.length;
309for(var i=0;i<end;i++){
310var str=_8c[i];
311if(str.search(/~K(\d+)K/g)>=0){
312_8d.push(str);
313}else{
314if(str.search(/\S/)>=0){
315str=_21(str);
316str=str.replace(/^([ \t]*)/g,"<p>");
317str+="</p>";
318_8d.push(str);
319}
320}
321}
322end=_8d.length;
323for(var i=0;i<end;i++){
324while(_8d[i].search(/~K(\d+)K/)>=0){
325var _91=_3[RegExp.$1];
326_91=_91.replace(/\$/g,"$$$$");
327_8d[i]=_8d[i].replace(/~K\d+K/,_91);
328}
329}
330return _8d.join("\n\n");
331};
332var _11=function(_92){
333_92=_92.replace(/&(?!#?[xX]?(?:[0-9a-fA-F]+|\w+);)/g,"&amp;");
334_92=_92.replace(/<(?![a-z\/?\$!])/gi,"&lt;");
335return _92;
336};
337var _25=function(_93){
338_93=_93.replace(/\\(\\)/g,_94);
339_93=_93.replace(/\\([`*_{}\[\]()>#+-.!])/g,_94);
340return _93;
341};
342var _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){
345return _98(_a(m1));
346});
347return _95;
348};
349var _98=function(_99){
350function char2hex(ch){
351var _9b="0123456789ABCDEF";
352var dec=ch.charCodeAt(0);
353return (_9b.charAt(dec>>4)+_9b.charAt(dec&15));
354}
355var _9d=[function(ch){
356return "&#"+ch.charCodeAt(0)+";";
357},function(ch){
358return "&#x"+char2hex(ch)+";";
359},function(ch){
360return ch;
361}];
362_99="mailto:"+_99;
363_99=_99.replace(/./g,function(ch){
364if(ch=="@"){
365ch=_9d[Math.floor(Math.random()*2)](ch);
366}else{
367if(ch!=":"){
368var r=Math.random();
369ch=(r>0.9?_9d[2](ch):r>0.45?_9d[1](ch):_9d[0](ch));
370}
371}
372return ch;
373});
374_99="<a href=\""+_99+"\">"+_99+"</a>";
375_99=_99.replace(/">.+:/g,"\">");
376return _99;
377};
378var _a=function(_a3){
379_a3=_a3.replace(/~E(\d+)E/g,function(_a4,m1){
380var _a6=parseInt(m1);
381return String.fromCharCode(_a6);
382});
383return _a3;
384};
385var _72=function(_a7){
386_a7=_a7.replace(/^(\t|[ ]{1,4})/gm,"~0");
387_a7=_a7.replace(/~0/g,"");
388return _a7;
389};
390var _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){
394var _ac=m1;
395var _ad=4-_ac.length%4;
396for(var i=0;i<_ad;i++){
397_ac+=" ";
398}
399return _ac;
400});
401_a8=_a8.replace(/~A/g," ");
402_a8=_a8.replace(/~B/g,"");
403return _a8;
404};
405var _2e=function(_af,_b0,_b1){
406var _b2="(["+_b0.replace(/([\[\]\\])/g,"\\$1")+"])";
407if(_b1){
408_b2="\\\\"+_b2;
409}
410var _b3=new RegExp(_b2,"g");
411_af=_af.replace(_b3,_94);
412return _af;
413};
414var _94=function(_b4,m1){
415var _b6=m1.charCodeAt(0);
416return "~E"+_b6+"E";
417};
418};
419
Note: See TracBrowser for help on using the repository browser.