Overview
Artifact ID: | dfedad424537842c6f04b00a183426cad70afe22 |
---|---|
Ticket: | fd5f24a5ca7e85d7290de7b1a0942f9bf9ce707c |
Date: | 2010-12-01 21:29:41 |
User: | anonymous |
Artifact Attached: | 2a217daa993d333e6d96ff43b5693f96b0d4ea41 |
Filename: | additional_header_stuff.txt |
Description: |
Content Appended
1 2 <style type="text/css"> 3 .diff {padding: .5em; border: 1px solid #ccc;} 4 .added {padding-left: .5em; border-left: .5em solid #00f;} 5 .deleted {padding-left: .5em; border-left: .5em solid #f00;} 6 .modified {padding-left: .5em; border-left: .5em solid #f80;} 7 .changed {padding-left: .5em; border-left: .5em solid #0f0;} 8 </style> 9 <script type="text/javascript"> 10 //<![CDATA[ 11 12 function annotate() { 13 /* quick, dirty & ugly color coding of annotations 14 !only per day(s), not by event! */ 15 if (!document.title.match(/Annotation/)) 16 return false; /* go out here */ 17 18 /* color definitions: initial, current, next to last ..., all others (between) */ 19 var colors = new Array('#eee','#f60','#0f6','#60f','#48b','#8bb', '#ffa'); 20 var pres = document.getElementsByTagName('pre')[0].getElementsByTagName('a'); 21 var days = new Array(); 22 for (var i = 0; i < pres.length; i++) { /* collecting dates */ 23 var day = pres[i].nextSibling.data; 24 var get = day.match(/\s+(\d{4})-(\d{2})-(\d{2})\s.+/i); 25 trash = get.shift(); 26 days = days.concat( get.join('') ); } 27 28 var initial = days.shift(); 29 days = days.sort(); i = 0; 30 var last = ''; 31 var five = new Array('1','2','3','4','5'); /* dummy dates */ 32 do { /* getting the most recent five days */ 33 var hold = days.pop(); 34 if (hold != last) { 35 five[i] = hold; 36 i++; 37 last = hold; } 38 } while ((days.length > 0) && (i < 5)); 39 //alert(i +' '+ five+' # '+ first); 40 /* apply color definition */ 41 var pres = document.getElementsByTagName('pre')[0].getElementsByTagName('a'); 42 //alert(pres[0].nextSibling.data); 43 for (var i = 0; i < pres.length; i++) { 44 var day = pres[i].nextSibling.data; 45 var get = day.match(/\s(\d{4})-(\d{2})-(\d{2})\s.+/i); 46 var wert = get[1]+get[2]+get[3]; 47 pres[i].style.paddingRight = '.5em'; 48 pres[i].style.borderRight = ".5em solid "; 49 switch (wert) { 50 case (initial): /* first ci */ 51 pres[i].style.backgroundColor = colors[0]; 52 pres[i].style.borderRightColor = colors[0]; 53 break; 54 case (five[0]): /* current */ 55 pres[i].style.backgroundColor = colors[1]; 56 pres[i].style.borderRightColor = colors[1]; 57 break; 58 case (five[1]): /* next to last */ 59 pres[i].style.backgroundColor = colors[2]; 60 pres[i].style.borderRightColor = colors[2]; 61 break; 62 case (five[2]): 63 pres[i].style.borderRightColor = colors[3]; 64 break; 65 case (five[3]): 66 pres[i].style.borderRightColor = colors[4]; 67 break; 68 case (five[4]): 69 pres[i].style.borderRightColor = colors[5]; 70 break; 71 default: /* others */ 72 pres[i].style.borderRightColor = colors[6]; 73 break; 74 }} 75 return true; 76 } /* annotate() */ 77 78 function colordiff() { 79 var pres = document.getElementsByTagName('pre'); 80 for (var i = 0; i < pres.length; i++) { 81 if (pres[i].hasChildNodes() && (pres[i].getAttribute('class') == 'diff')) { 82 pres[i].innerHTML = pres[i].innerHTML.replace(/^(.+)$/mg, "<span>$1</span>"); 83 //pres[i].style.border = '1px dashed #f60'; 84 var spans = pres[i].getElementsByTagName('span'); 85 //alert(spans.length); 86 for (var j = 0; j < spans.length; j++) 87 if (spans[j].hasChildNodes()) { 88 var has = spans[j].innerHTML[0]; 89 if (has) { 90 switch (has) { 91 case '+': /* line added */ 92 spans[j].style.backgroundColor = "#9f9"; 93 break; 94 case '-': /* line removed */ 95 spans[j].style.backgroundColor = "#f99"; 96 break; 97 case '@': /* sync */ 98 spans[j].style.backgroundColor = "#ff9"; 99 break; 100 default: /* unchanded lines */ 101 // spans[j].style.color = "#999"; 102 // spans[j].style.backgroundColor = "#ffe"; 103 break; 104 }}}}}} /* colordiff() */ 105 106 function main() { 107 if (!annotate()) 108 colordiff(); 109 document.getElementsByTagName("body")[0].setAttribute('onload', ''); 110 } /* main() */ 111 112 //]]> 113 </script> 114 </head> 115 <body onload='main()'>