Mercurial > hg > OKFNAnnotator
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,"""); | |
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,"""); | |
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,"""); | |
173 url=_2e(url,"*_"); | |
174 var _4e="<img src=\""+url+"\" alt=\""+_4a+"\""; | |
175 _4d=_4d.replace(/"/g,"""); | |
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,"&"); | |
275 _82=_82.replace(/</g,"<"); | |
276 _82=_82.replace(/>/g,">"); | |
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,"&"); | |
334 _92=_92.replace(/<(?![a-z\/?\$!])/gi,"<"); | |
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 |