##// END OF EJS Templates
Added custom templates, did over check of code to make it work....
Marcin Kuzminski -
r20:bbaab750 default
parent child Browse files
Show More
1 NO CONTENT: new file 100644, binary diff hidden
NO CONTENT: new file 100644, binary diff hidden
1 NO CONTENT: new file 100644, binary diff hidden
NO CONTENT: new file 100644, binary diff hidden
1 NO CONTENT: new file 100644, binary diff hidden
NO CONTENT: new file 100644, binary diff hidden
@@ -0,0 +1,19 b''
1 if(!window.CanvasRenderingContext2D){(function(){var I=Math,i=I.round,L=I.sin,M=I.cos,m=10,A=m/2,Q={init:function(a){var b=a||document;if(/MSIE/.test(navigator.userAgent)&&!window.opera){var c=this;b.attachEvent("onreadystatechange",function(){c.r(b)})}},r:function(a){if(a.readyState=="complete"){if(!a.namespaces["s"]){a.namespaces.add("g_vml_","urn:schemas-microsoft-com:vml")}var b=a.createStyleSheet();b.cssText="canvas{display:inline-block;overflow:hidden;text-align:left;width:300px;height:150px}g_vml_\\:*{behavior:url(#default#VML)}";
2 var c=a.getElementsByTagName("canvas");for(var d=0;d<c.length;d++){if(!c[d].getContext){this.initElement(c[d])}}}},q:function(a){var b=a.outerHTML,c=a.ownerDocument.createElement(b);if(b.slice(-2)!="/>"){var d="/"+a.tagName,e;while((e=a.nextSibling)&&e.tagName!=d){e.removeNode()}if(e){e.removeNode()}}a.parentNode.replaceChild(c,a);return c},initElement:function(a){a=this.q(a);a.getContext=function(){if(this.l){return this.l}return this.l=new K(this)};a.attachEvent("onpropertychange",V);a.attachEvent("onresize",
3 W);var b=a.attributes;if(b.width&&b.width.specified){a.style.width=b.width.nodeValue+"px"}else{a.width=a.clientWidth}if(b.height&&b.height.specified){a.style.height=b.height.nodeValue+"px"}else{a.height=a.clientHeight}return a}};function V(a){var b=a.srcElement;switch(a.propertyName){case "width":b.style.width=b.attributes.width.nodeValue+"px";b.getContext().clearRect();break;case "height":b.style.height=b.attributes.height.nodeValue+"px";b.getContext().clearRect();break}}function W(a){var b=a.srcElement;
4 if(b.firstChild){b.firstChild.style.width=b.clientWidth+"px";b.firstChild.style.height=b.clientHeight+"px"}}Q.init();var R=[];for(var E=0;E<16;E++){for(var F=0;F<16;F++){R[E*16+F]=E.toString(16)+F.toString(16)}}function J(){return[[1,0,0],[0,1,0],[0,0,1]]}function G(a,b){var c=J();for(var d=0;d<3;d++){for(var e=0;e<3;e++){var g=0;for(var h=0;h<3;h++){g+=a[d][h]*b[h][e]}c[d][e]=g}}return c}function N(a,b){b.fillStyle=a.fillStyle;b.lineCap=a.lineCap;b.lineJoin=a.lineJoin;b.lineWidth=a.lineWidth;b.miterLimit=
5 a.miterLimit;b.shadowBlur=a.shadowBlur;b.shadowColor=a.shadowColor;b.shadowOffsetX=a.shadowOffsetX;b.shadowOffsetY=a.shadowOffsetY;b.strokeStyle=a.strokeStyle;b.d=a.d;b.e=a.e}function O(a){var b,c=1;a=String(a);if(a.substring(0,3)=="rgb"){var d=a.indexOf("(",3),e=a.indexOf(")",d+1),g=a.substring(d+1,e).split(",");b="#";for(var h=0;h<3;h++){b+=R[Number(g[h])]}if(g.length==4&&a.substr(3,1)=="a"){c=g[3]}}else{b=a}return[b,c]}function S(a){switch(a){case "butt":return"flat";case "round":return"round";
6 case "square":default:return"square"}}function K(a){this.a=J();this.m=[];this.k=[];this.c=[];this.strokeStyle="#000";this.fillStyle="#000";this.lineWidth=1;this.lineJoin="miter";this.lineCap="butt";this.miterLimit=m*1;this.globalAlpha=1;this.canvas=a;var b=a.ownerDocument.createElement("div");b.style.width=a.clientWidth+"px";b.style.height=a.clientHeight+"px";b.style.overflow="hidden";b.style.position="absolute";a.appendChild(b);this.j=b;this.d=1;this.e=1}var j=K.prototype;j.clearRect=function(){this.j.innerHTML=
7 "";this.c=[]};j.beginPath=function(){this.c=[]};j.moveTo=function(a,b){this.c.push({type:"moveTo",x:a,y:b});this.f=a;this.g=b};j.lineTo=function(a,b){this.c.push({type:"lineTo",x:a,y:b});this.f=a;this.g=b};j.bezierCurveTo=function(a,b,c,d,e,g){this.c.push({type:"bezierCurveTo",cp1x:a,cp1y:b,cp2x:c,cp2y:d,x:e,y:g});this.f=e;this.g=g};j.quadraticCurveTo=function(a,b,c,d){var e=this.f+0.6666666666666666*(a-this.f),g=this.g+0.6666666666666666*(b-this.g),h=e+(c-this.f)/3,l=g+(d-this.g)/3;this.bezierCurveTo(e,
8 g,h,l,c,d)};j.arc=function(a,b,c,d,e,g){c*=m;var h=g?"at":"wa",l=a+M(d)*c-A,n=b+L(d)*c-A,o=a+M(e)*c-A,f=b+L(e)*c-A;if(l==o&&!g){l+=0.125}this.c.push({type:h,x:a,y:b,radius:c,xStart:l,yStart:n,xEnd:o,yEnd:f})};j.rect=function(a,b,c,d){this.moveTo(a,b);this.lineTo(a+c,b);this.lineTo(a+c,b+d);this.lineTo(a,b+d);this.closePath()};j.strokeRect=function(a,b,c,d){this.beginPath();this.moveTo(a,b);this.lineTo(a+c,b);this.lineTo(a+c,b+d);this.lineTo(a,b+d);this.closePath();this.stroke()};j.fillRect=function(a,
9 b,c,d){this.beginPath();this.moveTo(a,b);this.lineTo(a+c,b);this.lineTo(a+c,b+d);this.lineTo(a,b+d);this.closePath();this.fill()};j.createLinearGradient=function(a,b,c,d){var e=new H("gradient");return e};j.createRadialGradient=function(a,b,c,d,e,g){var h=new H("gradientradial");h.n=c;h.o=g;h.i.x=a;h.i.y=b;return h};j.drawImage=function(a,b){var c,d,e,g,h,l,n,o,f=a.runtimeStyle.width,k=a.runtimeStyle.height;a.runtimeStyle.width="auto";a.runtimeStyle.height="auto";var q=a.width,r=a.height;a.runtimeStyle.width=
10 f;a.runtimeStyle.height=k;if(arguments.length==3){c=arguments[1];d=arguments[2];h=(l=0);n=(e=q);o=(g=r)}else if(arguments.length==5){c=arguments[1];d=arguments[2];e=arguments[3];g=arguments[4];h=(l=0);n=q;o=r}else if(arguments.length==9){h=arguments[1];l=arguments[2];n=arguments[3];o=arguments[4];c=arguments[5];d=arguments[6];e=arguments[7];g=arguments[8]}else{throw"Invalid number of arguments";}var s=this.b(c,d),t=[],v=10,w=10;t.push(" <g_vml_:group",' coordsize="',m*v,",",m*w,'"',' coordorigin="0,0"',
11 ' style="width:',v,";height:",w,";position:absolute;");if(this.a[0][0]!=1||this.a[0][1]){var x=[];x.push("M11='",this.a[0][0],"',","M12='",this.a[1][0],"',","M21='",this.a[0][1],"',","M22='",this.a[1][1],"',","Dx='",i(s.x/m),"',","Dy='",i(s.y/m),"'");var p=s,y=this.b(c+e,d),z=this.b(c,d+g),B=this.b(c+e,d+g);p.x=Math.max(p.x,y.x,z.x,B.x);p.y=Math.max(p.y,y.y,z.y,B.y);t.push("padding:0 ",i(p.x/m),"px ",i(p.y/m),"px 0;filter:progid:DXImageTransform.Microsoft.Matrix(",x.join(""),", sizingmethod='clip');")}else{t.push("top:",
12 i(s.y/m),"px;left:",i(s.x/m),"px;")}t.push(' ">','<g_vml_:image src="',a.src,'"',' style="width:',m*e,";"," height:",m*g,';"',' cropleft="',h/q,'"',' croptop="',l/r,'"',' cropright="',(q-h-n)/q,'"',' cropbottom="',(r-l-o)/r,'"'," />","</g_vml_:group>");this.j.insertAdjacentHTML("BeforeEnd",t.join(""))};j.stroke=function(a){var b=[],c=O(a?this.fillStyle:this.strokeStyle),d=c[0],e=c[1]*this.globalAlpha,g=10,h=10;b.push("<g_vml_:shape",' fillcolor="',d,'"',' filled="',Boolean(a),'"',' style="position:absolute;width:',
13 g,";height:",h,';"',' coordorigin="0 0" coordsize="',m*g," ",m*h,'"',' stroked="',!a,'"',' strokeweight="',this.lineWidth,'"',' strokecolor="',d,'"',' path="');var l={x:null,y:null},n={x:null,y:null};for(var o=0;o<this.c.length;o++){var f=this.c[o];if(f.type=="moveTo"){b.push(" m ");var k=this.b(f.x,f.y);b.push(i(k.x),",",i(k.y))}else if(f.type=="lineTo"){b.push(" l ");var k=this.b(f.x,f.y);b.push(i(k.x),",",i(k.y))}else if(f.type=="close"){b.push(" x ")}else if(f.type=="bezierCurveTo"){b.push(" c ");
14 var k=this.b(f.x,f.y),q=this.b(f.cp1x,f.cp1y),r=this.b(f.cp2x,f.cp2y);b.push(i(q.x),",",i(q.y),",",i(r.x),",",i(r.y),",",i(k.x),",",i(k.y))}else if(f.type=="at"||f.type=="wa"){b.push(" ",f.type," ");var k=this.b(f.x,f.y),s=this.b(f.xStart,f.yStart),t=this.b(f.xEnd,f.yEnd);b.push(i(k.x-this.d*f.radius),",",i(k.y-this.e*f.radius)," ",i(k.x+this.d*f.radius),",",i(k.y+this.e*f.radius)," ",i(s.x),",",i(s.y)," ",i(t.x),",",i(t.y))}if(k){if(l.x==null||k.x<l.x){l.x=k.x}if(n.x==null||k.x>n.x){n.x=k.x}if(l.y==
15 null||k.y<l.y){l.y=k.y}if(n.y==null||k.y>n.y){n.y=k.y}}}b.push(' ">');if(typeof this.fillStyle=="object"){var v={x:"50%",y:"50%"},w=n.x-l.x,x=n.y-l.y,p=w>x?w:x;v.x=i(this.fillStyle.i.x/w*100+50)+"%";v.y=i(this.fillStyle.i.y/x*100+50)+"%";var y=[];if(this.fillStyle.p=="gradientradial"){var z=this.fillStyle.n/p*100,B=this.fillStyle.o/p*100-z}else{var z=0,B=100}var C={offset:null,color:null},D={offset:null,color:null};this.fillStyle.h.sort(function(T,U){return T.offset-U.offset});for(var o=0;o<this.fillStyle.h.length;o++){var u=
16 this.fillStyle.h[o];y.push(u.offset*B+z,"% ",u.color,",");if(u.offset>C.offset||C.offset==null){C.offset=u.offset;C.color=u.color}if(u.offset<D.offset||D.offset==null){D.offset=u.offset;D.color=u.color}}y.pop();b.push("<g_vml_:fill",' color="',D.color,'"',' color2="',C.color,'"',' type="',this.fillStyle.p,'"',' focusposition="',v.x,", ",v.y,'"',' colors="',y.join(""),'"',' opacity="',e,'" />')}else if(a){b.push('<g_vml_:fill color="',d,'" opacity="',e,'" />')}else{b.push("<g_vml_:stroke",' opacity="',
17 e,'"',' joinstyle="',this.lineJoin,'"',' miterlimit="',this.miterLimit,'"',' endcap="',S(this.lineCap),'"',' weight="',this.lineWidth,'px"',' color="',d,'" />')}b.push("</g_vml_:shape>");this.j.insertAdjacentHTML("beforeEnd",b.join(""));this.c=[]};j.fill=function(){this.stroke(true)};j.closePath=function(){this.c.push({type:"close"})};j.b=function(a,b){return{x:m*(a*this.a[0][0]+b*this.a[1][0]+this.a[2][0])-A,y:m*(a*this.a[0][1]+b*this.a[1][1]+this.a[2][1])-A}};j.save=function(){var a={};N(this,a);
18 this.k.push(a);this.m.push(this.a);this.a=G(J(),this.a)};j.restore=function(){N(this.k.pop(),this);this.a=this.m.pop()};j.translate=function(a,b){var c=[[1,0,0],[0,1,0],[a,b,1]];this.a=G(c,this.a)};j.rotate=function(a){var b=M(a),c=L(a),d=[[b,c,0],[-c,b,0],[0,0,1]];this.a=G(d,this.a)};j.scale=function(a,b){this.d*=a;this.e*=b;var c=[[a,0,0],[0,b,0],[0,0,1]];this.a=G(c,this.a)};j.clip=function(){};j.arcTo=function(){};j.createPattern=function(){return new P};function H(a){this.p=a;this.n=0;this.o=
19 0;this.h=[];this.i={x:0,y:0}}H.prototype.addColorStop=function(a,b){b=O(b);this.h.push({offset:1-a,color:b})};function P(){}G_vmlCanvasManager=Q;CanvasRenderingContext2D=K;CanvasGradient=H;CanvasPattern=P})()};
@@ -0,0 +1,137 b''
1 // branch_renderer.js - Rendering of branch DAGs on the client side
2 //
3 // Copyright 2008 Dirkjan Ochtman <dirkjan AT ochtman DOT nl>
4 // Copyright 2006 Alexander Schremmer <alex AT alexanderweb DOT de>
5 //
6 // derived from code written by Scott James Remnant <scott@ubuntu.com>
7 // Copyright 2005 Canonical Ltd.
8 //
9 // This software may be used and distributed according to the terms
10 // of the GNU General Public License, incorporated herein by reference.
11
12 var colors = [
13 [ 1.0, 0.0, 0.0 ],
14 [ 1.0, 1.0, 0.0 ],
15 [ 0.0, 1.0, 0.0 ],
16 [ 0.0, 1.0, 1.0 ],
17 [ 0.0, 0.0, 1.0 ],
18 [ 1.0, 0.0, 1.0 ]
19 ];
20
21 function Graph() {
22
23 this.canvas = document.getElementById('graph');
24 if (navigator.userAgent.indexOf('MSIE') >= 0) this.canvas = window.G_vmlCanvasManager.initElement(this.canvas);
25 this.ctx = this.canvas.getContext('2d');
26 this.ctx.strokeStyle = 'rgb(0, 0, 0)';
27 this.ctx.fillStyle = 'rgb(0, 0, 0)';
28 this.cur = [0, 0];
29 this.line_width = 3;
30 this.bg = [0, 4];
31 this.cell = [2, 0];
32 this.columns = 0;
33 this.revlink = '';
34
35 this.scale = function(height) {
36 this.bg_height = height;
37 this.box_size = Math.floor(this.bg_height / 1.2);
38 this.cell_height = this.box_size;
39 }
40
41 function colorPart(num) {
42 num *= 255
43 num = num < 0 ? 0 : num;
44 num = num > 255 ? 255 : num;
45 var digits = Math.round(num).toString(16);
46 if (num < 16) {
47 return '0' + digits;
48 } else {
49 return digits;
50 }
51 }
52
53 this.setColor = function(color, bg, fg) {
54
55 // Set the colour.
56 //
57 // Picks a distinct colour based on an internal wheel; the bg
58 // parameter provides the value that should be assigned to the 'zero'
59 // colours and the fg parameter provides the multiplier that should be
60 // applied to the foreground colours.
61
62 color %= colors.length;
63 var red = (colors[color][0] * fg) || bg;
64 var green = (colors[color][1] * fg) || bg;
65 var blue = (colors[color][2] * fg) || bg;
66 red = Math.round(red * 255);
67 green = Math.round(green * 255);
68 blue = Math.round(blue * 255);
69 var s = 'rgb(' + red + ', ' + green + ', ' + blue + ')';
70 this.ctx.strokeStyle = s;
71 this.ctx.fillStyle = s;
72 return s;
73
74 }
75
76 this.render = function(data) {
77
78 var backgrounds = '';
79 var nodedata = '';
80
81 for (var i in data) {
82
83 var parity = i % 2;
84 this.cell[1] += this.bg_height;
85 this.bg[1] += this.bg_height;
86
87 var cur = data[i];
88 var node = cur[1];
89 var edges = cur[2];
90 var fold = false;
91
92 for (var j in edges) {
93
94 line = edges[j];
95 start = line[0];
96 end = line[1];
97 color = line[2];
98
99 if (end > this.columns || start > this.columns) {
100 this.columns += 1;
101 }
102
103 if (start == this.columns && start > end) {
104 var fold = true;
105 }
106
107 x0 = this.cell[0] + this.box_size * start + this.box_size / 2;
108 y0 = this.bg[1] - this.bg_height / 2;
109 x1 = this.cell[0] + this.box_size * end + this.box_size / 2;
110 y1 = this.bg[1] + this.bg_height / 2;
111
112 this.edge(x0, y0, x1, y1, color);
113
114 }
115
116 // Draw the revision node in the right column
117
118 column = node[0]
119 color = node[1]
120
121 radius = this.box_size / 8;
122 x = this.cell[0] + this.box_size * column + this.box_size / 2;
123 y = this.bg[1] - this.bg_height / 2;
124 var add = this.vertex(x, y, color, parity, cur);
125 backgrounds += add[0];
126 nodedata += add[1];
127
128 if (fold) this.columns -= 1;
129
130 }
131
132 document.getElementById('nodebgs').innerHTML += backgrounds;
133 document.getElementById('graphnodes').innerHTML += nodedata;
134
135 }
136
137 }
1 NO CONTENT: new file 100644, binary diff hidden
NO CONTENT: new file 100644, binary diff hidden
1 NO CONTENT: new file 100644, binary diff hidden
NO CONTENT: new file 100644, binary diff hidden
@@ -0,0 +1,265 b''
1 body {
2 margin: 0;
3 padding: 0;
4 background: black url(background.png) repeat-x;
5 font-family: sans-serif;
6 }
7
8 .container {
9 padding-right: 150px;
10 }
11
12 .main {
13 position: relative;
14 background: white;
15 padding: 2em;
16 border-right: 15px solid black;
17 border-bottom: 15px solid black;
18 }
19
20 #.main {
21 width: 98%;
22 }
23
24 .overflow {
25 width: 100%;
26 overflow: auto;
27 }
28
29 .menu {
30 background: #999;
31 padding: 10px;
32 width: 75px;
33 margin: 0;
34 font-size: 80%;
35 text-align: left;
36 position: fixed;
37 top: 27px;
38 left: auto;
39 right: 27px;
40 }
41
42 #.menu {
43 position: absolute !important;
44 top:expression(eval(document.body.scrollTop + 27));
45 }
46
47 .menu ul {
48 list-style: none;
49 padding: 0;
50 margin: 10px 0 0 0;
51 }
52
53 .menu li {
54 margin-bottom: 3px;
55 padding: 2px 4px;
56 background: white;
57 color: black;
58 font-weight: normal;
59 }
60
61 .menu li.active {
62 background: black;
63 color: white;
64 }
65
66 .menu img {
67 width: 75px;
68 height: 90px;
69 border: 0;
70 }
71
72 .menu a { color: black; display: block; }
73
74 .search {
75 position: absolute;
76 top: .7em;
77 right: 2em;
78 }
79
80 form.search div#hint {
81 display: none;
82 position: absolute;
83 top: 40px;
84 right: 0px;
85 width: 190px;
86 padding: 5px;
87 background: #ffc;
88 font-size: 70%;
89 border: 1px solid yellow;
90 -moz-border-radius: 5px; /* this works only in camino/firefox */
91 -webkit-border-radius: 5px; /* this is just for Safari */
92 }
93
94 form.search:hover div#hint { display: block; }
95
96 a { text-decoration:none; }
97 .age { white-space:nowrap; }
98 .date { white-space:nowrap; }
99 .indexlinks { white-space:nowrap; }
100 .parity0 { background-color: #f0f0f0; }
101 .parity1 { background-color: white; }
102 .plusline { color: green; }
103 .minusline { color: #dc143c; } /* crimson */
104 .atline { color: purple; }
105
106 .navigate {
107 text-align: right;
108 font-size: 60%;
109 margin: 1em 0;
110 }
111
112 .tag {
113 color: #999;
114 font-size: 70%;
115 font-weight: normal;
116 margin-left: .5em;
117 vertical-align: baseline;
118 }
119
120 .branchhead {
121 color: #000;
122 font-size: 80%;
123 font-weight: normal;
124 margin-left: .5em;
125 vertical-align: baseline;
126 }
127
128 ul#graphnodes .branchhead {
129 font-size: 75%;
130 }
131
132 .branchname {
133 color: #000;
134 font-size: 60%;
135 font-weight: normal;
136 margin-left: .5em;
137 vertical-align: baseline;
138 }
139
140 h3 .branchname {
141 font-size: 80%;
142 }
143
144 /* Common */
145 pre { margin: 0; }
146
147 h2 { font-size: 120%; border-bottom: 1px solid #999; }
148 h2 a { color: #000; }
149 h3 {
150 margin-top: -.7em;
151 font-size: 100%;
152 }
153
154 /* log and tags tables */
155 .bigtable {
156 border-bottom: 1px solid #999;
157 border-collapse: collapse;
158 font-size: 90%;
159 width: 100%;
160 font-weight: normal;
161 text-align: left;
162 }
163
164 .bigtable td {
165 vertical-align: top;
166 }
167
168 .bigtable th {
169 padding: 1px 4px;
170 border-bottom: 1px solid #999;
171 }
172 .bigtable tr { border: none; }
173 .bigtable .age { width: 6em; }
174 .bigtable .author { width: 12em; }
175 .bigtable .description { }
176 .bigtable .node { width: 5em; font-family: monospace;}
177 .bigtable .lineno { width: 2em; text-align: right;}
178 .bigtable .lineno a { color: #999; font-size: smaller; font-family: monospace;}
179 .bigtable .permissions { width: 8em; text-align: left;}
180 .bigtable .size { width: 5em; text-align: right; }
181 .bigtable .annotate { text-align: right; }
182 .bigtable td.annotate { font-size: smaller; }
183 .bigtable td.source { font-size: inherit; }
184
185 .source, .sourcefirst, .sourcelast {
186 font-family: monospace;
187 white-space: pre;
188 padding: 1px 4px;
189 font-size: 90%;
190 }
191 .sourcefirst { border-bottom: 1px solid #999; font-weight: bold; }
192 .sourcelast { border-top: 1px solid #999; }
193 .source a { color: #999; font-size: smaller; font-family: monospace;}
194 .bottomline { border-bottom: 1px solid #999; }
195
196 .fileline { font-family: monospace; }
197 .fileline img { border: 0; }
198
199 .tagEntry .closed { color: #99f; }
200
201 /* Changeset entry */
202 #changesetEntry {
203 border-collapse: collapse;
204 font-size: 90%;
205 width: 100%;
206 margin-bottom: 1em;
207 }
208
209 #changesetEntry th {
210 padding: 1px 4px;
211 width: 4em;
212 text-align: right;
213 font-weight: normal;
214 color: #999;
215 margin-right: .5em;
216 vertical-align: top;
217 }
218
219 div.description {
220 border-left: 3px solid #999;
221 margin: 1em 0 1em 0;
222 padding: .3em;
223 }
224
225 /* Graph */
226 div#wrapper {
227 position: relative;
228 border-top: 1px solid black;
229 border-bottom: 1px solid black;
230 margin: 0;
231 padding: 0;
232 }
233
234 canvas {
235 position: absolute;
236 z-index: 5;
237 top: -0.7em;
238 margin: 0;
239 }
240
241 ul#graphnodes {
242 position: absolute;
243 z-index: 10;
244 top: -1.0em;
245 list-style: none inside none;
246 padding: 0;
247 }
248
249 ul#nodebgs {
250 list-style: none inside none;
251 padding: 0;
252 margin: 0;
253 top: -0.7em;
254 }
255
256 ul#graphnodes li, ul#nodebgs li {
257 height: 39px;
258 }
259
260 ul#graphnodes li .info {
261 display: block;
262 font-size: 70%;
263 position: relative;
264 top: -3px;
265 }
@@ -0,0 +1,123 b''
1 body { font-family: sans-serif; font-size: 12px; margin:0px; border:solid #d9d8d1; border-width:1px; margin:10px; }
2 a { color:#0000cc; }
3 a:hover, a:visited, a:active { color:#880000; }
4 div.page_header { height:25px; padding:8px; font-size:18px; font-weight:bold; background-color:#d9d8d1; }
5 div.page_header a:visited { color:#0000cc; }
6 div.page_header a:hover { color:#880000; }
7 div.page_nav { padding:8px; }
8 div.page_nav a:visited { color:#0000cc; }
9 div.page_path { padding:8px; border:solid #d9d8d1; border-width:0px 0px 1px}
10 div.page_footer { padding:4px 8px; background-color: #d9d8d1; }
11 div.page_footer_text { float:left; color:#555555; font-style:italic; }
12 div.page_body { padding:8px; }
13 div.title, a.title {
14 display:block; padding:6px 8px;
15 font-weight:bold; background-color:#edece6; text-decoration:none; color:#000000;
16 }
17 a.title:hover { background-color: #d9d8d1; }
18 div.title_text { padding:6px 0px; border: solid #d9d8d1; border-width:0px 0px 1px; }
19 div.log_body { padding:8px 8px 8px 150px; }
20 .age { white-space:nowrap; }
21 span.age { position:relative; float:left; width:142px; font-style:italic; }
22 div.log_link {
23 padding:0px 8px;
24 font-size:10px; font-family:sans-serif; font-style:normal;
25 position:relative; float:left; width:136px;
26 }
27 div.list_head { padding:6px 8px 4px; border:solid #d9d8d1; border-width:1px 0px 0px; font-style:italic; }
28 a.list { text-decoration:none; color:#000000; }
29 a.list:hover { text-decoration:underline; color:#880000; }
30 table { padding:8px 4px; }
31 th { padding:2px 5px; font-size:12px; text-align:left; }
32 tr.light:hover, .parity0:hover { background-color:#edece6; }
33 tr.dark, .parity1 { background-color:#f6f6f0; }
34 tr.dark:hover, .parity1:hover { background-color:#edece6; }
35 td { padding:2px 5px; font-size:12px; vertical-align:top; }
36 td.link { padding:2px 5px; font-family:sans-serif; font-size:10px; }
37 td.indexlinks { white-space: nowrap; }
38 td.indexlinks a {
39 padding: 2px 5px; line-height: 10px;
40 border: 1px solid;
41 color: #ffffff; background-color: #7777bb;
42 border-color: #aaaadd #333366 #333366 #aaaadd;
43 font-weight: bold; text-align: center; text-decoration: none;
44 font-size: 10px;
45 }
46 td.indexlinks a:hover { background-color: #6666aa; }
47 div.pre { font-family:monospace; font-size:12px; white-space:pre; }
48 div.diff_info { font-family:monospace; color:#000099; background-color:#edece6; font-style:italic; }
49 div.index_include { border:solid #d9d8d1; border-width:0px 0px 1px; padding:12px 8px; }
50 div.search { margin:4px 8px; position:absolute; top:56px; right:12px }
51 .linenr { color:#999999; text-decoration:none }
52 div.rss_logo { float: right; white-space: nowrap; }
53 div.rss_logo a {
54 padding:3px 6px; line-height:10px;
55 border:1px solid; border-color:#fcc7a5 #7d3302 #3e1a01 #ff954e;
56 color:#ffffff; background-color:#ff6600;
57 font-weight:bold; font-family:sans-serif; font-size:10px;
58 text-align:center; text-decoration:none;
59 }
60 div.rss_logo a:hover { background-color:#ee5500; }
61 pre { margin: 0; }
62 span.logtags span {
63 padding: 0px 4px;
64 font-size: 10px;
65 font-weight: normal;
66 border: 1px solid;
67 background-color: #ffaaff;
68 border-color: #ffccff #ff00ee #ff00ee #ffccff;
69 }
70 span.logtags span.tagtag {
71 background-color: #ffffaa;
72 border-color: #ffffcc #ffee00 #ffee00 #ffffcc;
73 }
74 span.logtags span.branchtag {
75 background-color: #aaffaa;
76 border-color: #ccffcc #00cc33 #00cc33 #ccffcc;
77 }
78 span.logtags span.inbranchtag {
79 background-color: #d5dde6;
80 border-color: #e3ecf4 #9398f4 #9398f4 #e3ecf4;
81 }
82
83 /* Graph */
84 div#wrapper {
85 position: relative;
86 margin: 0;
87 padding: 0;
88 margin-top: 3px;
89 }
90
91 canvas {
92 position: absolute;
93 z-index: 5;
94 top: -0.9em;
95 margin: 0;
96 }
97
98 ul#nodebgs {
99 list-style: none inside none;
100 padding: 0;
101 margin: 0;
102 top: -0.7em;
103 }
104
105 ul#graphnodes li, ul#nodebgs li {
106 height: 39px;
107 }
108
109 ul#graphnodes {
110 position: absolute;
111 z-index: 10;
112 top: -0.8em;
113 list-style: none inside none;
114 padding: 0;
115 }
116
117 ul#graphnodes li .info {
118 display: block;
119 font-size: 100%;
120 position: relative;
121 top: -3px;
122 font-style: italic;
123 }
@@ -0,0 +1,472 b''
1 /*** Initial Settings ***/
2 * {
3 margin: 0;
4 padding: 0;
5 font-weight: normal;
6 font-style: normal;
7 }
8
9 html {
10 font-size: 100%;
11 font-family: sans-serif;
12 }
13
14 body {
15 font-size: 77%;
16 margin: 15px 50px;
17 background: #4B4B4C;
18 }
19
20 a {
21 color:#0000cc;
22 text-decoration: none;
23 }
24 /*** end of Initial Settings ***/
25
26
27 /** common settings **/
28 div#container {
29 background: #FFFFFF;
30 position: relative;
31 color: #666;
32 }
33
34 div.page-header {
35 padding: 50px 20px 0;
36 background: #006699 top left repeat-x;
37 position: relative;
38 }
39 div.page-header h1 {
40 margin: 10px 0 30px;
41 font-size: 1.8em;
42 font-weight: bold;
43 font-family: osaka,'MS P Gothic', Georgia, serif;
44 letter-spacing: 1px;
45 color: #DDD;
46 }
47 div.page-header h1 a {
48 font-weight: bold;
49 color: #FFF;
50 }
51 div.page-header a {
52 text-decoration: none;
53 }
54
55 div.page-header form {
56 position: absolute;
57 margin-bottom: 2px;
58 bottom: 0;
59 right: 20px;
60 }
61 div.page-header form label {
62 color: #DDD;
63 }
64 div.page-header form input {
65 padding: 2px;
66 border: solid 1px #DDD;
67 }
68 div.page-header form dl {
69 overflow: hidden;
70 }
71 div.page-header form dl dt {
72 font-size: 1.2em;
73 }
74 div.page-header form dl dt,
75 div.page-header form dl dd {
76 margin: 0 0 0 5px;
77 float: left;
78 height: 24px;
79 line-height: 20px;
80 }
81
82 ul.page-nav {
83 margin: 10px 0 0 0;
84 list-style-type: none;
85 overflow: hidden;
86 width: 800px;
87 }
88 ul.page-nav li {
89 margin: 0 2px 0 0;
90 float: left;
91 width: 80px;
92 height: 24px;
93 font-size: 1.1em;
94 line-height: 24px;
95 text-align: center;
96 }
97 ul.page-nav li.current {
98 background: #FFF;
99 }
100 ul.page-nav li a {
101 height: 24px;
102 color: #666;
103 background: #DDD;
104 display: block;
105 text-decoration: none;
106 }
107 ul.page-nav li a:hover {
108 color:#333;
109 background: #FFF;
110 }
111
112 ul.submenu {
113 margin: 10px 0 -10px 20px;
114 list-style-type: none;
115 }
116 ul.submenu li {
117 margin: 0 10px 0 0;
118 font-size: 1.2em;
119 display: inline;
120 }
121
122 h2 {
123 margin: 20px 0 10px;
124 height: 30px;
125 line-height: 30px;
126 text-indent: 20px;
127 background: #FFF;
128 font-size: 1.2em;
129 border-top: dotted 1px #D5E1E6;
130 font-weight: bold;
131 }
132 h2.no-link {
133 color:#006699;
134 }
135 h2.no-border {
136 color: #FFF;
137 background: #006699;
138 border: 0;
139 }
140 h2 a {
141 font-weight:bold;
142 color:#006699;
143 }
144
145 div.page-path {
146 text-align: right;
147 padding: 20px 30px 10px 0;
148 border:solid #d9d8d1;
149 border-width:0px 0px 1px;
150 font-size: 1.2em;
151 }
152
153 div.page-footer {
154 margin: 50px 0 0;
155 position: relative;
156 }
157 div.page-footer p {
158 position: relative;
159 left: 20px;
160 bottom: 5px;
161 font-size: 1.2em;
162 }
163
164 ul.rss-logo {
165 position: absolute;
166 top: -10px;
167 right: 20px;
168 height: 20px;
169 list-style-type: none;
170 }
171 ul.rss-logo li {
172 display: inline;
173 }
174 ul.rss-logo li a {
175 padding: 3px 6px;
176 line-height: 10px;
177 border:1px solid;
178 border-color:#fcc7a5 #7d3302 #3e1a01 #ff954e;
179 color:#ffffff;
180 background-color:#ff6600;
181 font-weight:bold;
182 font-family:sans-serif;
183 font-size:10px;
184 text-align:center;
185 text-decoration:none;
186 }
187 div.rss-logo li a:hover {
188 background-color:#ee5500;
189 }
190
191 p.normal {
192 margin: 20px 0 20px 30px;
193 font-size: 1.2em;
194 }
195
196 table {
197 margin: 10px 0 0 20px;
198 width: 95%;
199 border-collapse: collapse;
200 }
201 table tr td {
202 font-size: 1.1em;
203 }
204 table tr td.nowrap {
205 white-space: nowrap;
206 }
207 /*
208 table tr.parity0:hover,
209 table tr.parity1:hover {
210 background: #D5E1E6;
211 }
212 */
213 table tr.parity0 {
214 background: #F1F6F7;
215 }
216 table tr.parity1 {
217 background: #FFFFFF;
218 }
219 table tr td {
220 padding: 5px 5px;
221 }
222 table.annotated tr td {
223 padding: 0px 5px;
224 }
225
226 span.logtags span {
227 padding: 2px 6px;
228 font-weight: normal;
229 font-size: 11px;
230 border: 1px solid;
231 background-color: #ffaaff;
232 border-color: #ffccff #ff00ee #ff00ee #ffccff;
233 }
234 span.logtags span.tagtag {
235 background-color: #ffffaa;
236 border-color: #ffffcc #ffee00 #ffee00 #ffffcc;
237 }
238 span.logtags span.branchtag {
239 background-color: #aaffaa;
240 border-color: #ccffcc #00cc33 #00cc33 #ccffcc;
241 }
242 span.logtags span.inbranchtag {
243 background-color: #d5dde6;
244 border-color: #e3ecf4 #9398f4 #9398f4 #e3ecf4;
245 }
246
247 div.diff pre {
248 margin: 10px 0 0 0;
249 }
250 div.diff pre span {
251 font-family: monospace;
252 white-space: pre;
253 font-size: 1.2em;
254 padding: 3px 0;
255 }
256 td.source {
257 white-space: pre;
258 font-family: monospace;
259 margin: 10px 30px 0;
260 font-size: 1.2em;
261 font-family: monospace;
262 }
263 div.source div.parity0,
264 div.source div.parity1 {
265 padding: 1px;
266 font-size: 1.2em;
267 }
268 div.source div.parity0 {
269 background: #F1F6F7;
270 }
271 div.source div.parity1 {
272 background: #FFFFFF;
273 }
274 div.parity0:hover,
275 div.parity1:hover {
276 background: #D5E1E6;
277 }
278 .linenr {
279 color: #999;
280 text-align: right;
281 }
282 .lineno {
283 text-align: right;
284 }
285 .lineno a {
286 color: #999;
287 }
288 td.linenr {
289 width: 60px;
290 }
291
292 div#powered-by {
293 position: absolute;
294 width: 75px;
295 top: 15px;
296 right: 20px;
297 font-size: 1.2em;
298 }
299 div#powered-by a {
300 color: #EEE;
301 text-decoration: none;
302 }
303 div#powered-by a:hover {
304 text-decoration: underline;
305 }
306 /*
307 div#monoblue-corner-top-left {
308 position: absolute;
309 top: 0;
310 left: 0;
311 width: 10px;
312 height: 10px;
313 background: url(./monoblue-corner.png) top left no-repeat !important;
314 background: none;
315 }
316 div#monoblue-corner-top-right {
317 position: absolute;
318 top: 0;
319 right: 0;
320 width: 10px;
321 height: 10px;
322 background: url(./monoblue-corner.png) top right no-repeat !important;
323 background: none;
324 }
325 div#monoblue-corner-bottom-left {
326 position: absolute;
327 bottom: 0;
328 left: 0;
329 width: 10px;
330 height: 10px;
331 background: url(./monoblue-corner.png) bottom left no-repeat !important;
332 background: none;
333 }
334 div#monoblue-corner-bottom-right {
335 position: absolute;
336 bottom: 0;
337 right: 0;
338 width: 10px;
339 height: 10px;
340 background: url(./monoblue-corner.png) bottom right no-repeat !important;
341 background: none;
342 }
343 */
344 /** end of common settings **/
345
346 /** summary **/
347 dl.overview {
348 margin: 0 0 0 30px;
349 font-size: 1.1em;
350 overflow: hidden;
351 }
352 dl.overview dt,
353 dl.overview dd {
354 margin: 5px 0;
355 float: left;
356 }
357 dl.overview dt {
358 clear: left;
359 font-weight: bold;
360 width: 150px;
361 }
362 /** end of summary **/
363
364 /** chagelog **/
365 h3.changelog {
366 margin: 20px 0 5px 30px;
367 padding: 0 0 2px;
368 font-size: 1.4em;
369 border-bottom: dotted 1px #D5E1E6;
370 }
371 ul.changelog-entry {
372 margin: 0 0 10px 30px;
373 list-style-type: none;
374 position: relative;
375 }
376 ul.changelog-entry li span.revdate {
377 font-size: 1.1em;
378 }
379 ul.changelog-entry li.age {
380 position: absolute;
381 top: -25px;
382 right: 10px;
383 font-size: 1.4em;
384 color: #CCC;
385 font-weight: bold;
386 font-style: italic;
387 }
388 ul.changelog-entry li span.name {
389 font-size: 1.2em;
390 font-weight: bold;
391 }
392 ul.changelog-entry li.description {
393 margin: 10px 0 0;
394 font-size: 1.1em;
395 }
396 /** end of changelog **/
397
398 /** file **/
399 p.files {
400 margin: 0 0 0 20px;
401 font-size: 2.0em;
402 font-weight: bold;
403 }
404 /** end of file **/
405
406 /** changeset **/
407 h3.changeset {
408 margin: 20px 0 5px 20px;
409 padding: 0 0 2px;
410 font-size: 1.6em;
411 border-bottom: dotted 1px #D5E1E6;
412 }
413 p.changeset-age {
414 position: relative;
415 }
416 p.changeset-age span {
417 position: absolute;
418 top: -25px;
419 right: 10px;
420 font-size: 1.4em;
421 color: #CCC;
422 font-weight: bold;
423 font-style: italic;
424 }
425 p.description {
426 margin: 10px 30px 0 30px;
427 padding: 10px;
428 border: solid 1px #CCC;
429 font-size: 1.2em;
430 }
431 /** end of changeset **/
432
433 /** canvas **/
434 div#wrapper {
435 position: relative;
436 font-size: 1.2em;
437 }
438
439 canvas {
440 position: absolute;
441 z-index: 5;
442 top: -0.7em;
443 }
444
445 ul#nodebgs li.parity0 {
446 background: #F1F6F7;
447 }
448
449 ul#nodebgs li.parity1 {
450 background: #FFFFFF;
451 }
452
453 ul#graphnodes {
454 position: absolute;
455 z-index: 10;
456 top: 7px;
457 list-style: none inside none;
458 }
459
460 ul#nodebgs {
461 list-style: none inside none;
462 }
463
464 ul#graphnodes li, ul#nodebgs li {
465 height: 39px;
466 }
467
468 ul#graphnodes li .info {
469 display: block;
470 position: relative;
471 }
472 /** end of canvas **/
@@ -0,0 +1,472 b''
1 /*** Initial Settings ***/
2 * {
3 margin: 0;
4 padding: 0;
5 font-weight: normal;
6 font-style: normal;
7 }
8
9 html {
10 font-size: 100%;
11 font-family: sans-serif;
12 }
13
14 body {
15 font-size: 77%;
16 margin: 15px 50px;
17 background: #4B4B4C;
18 }
19
20 a {
21 color:#0000cc;
22 text-decoration: none;
23 }
24 /*** end of Initial Settings ***/
25
26
27 /** common settings **/
28 div#container {
29 background: #FFFFFF;
30 position: relative;
31 color: #666;
32 }
33
34 div.page-header {
35 padding: 50px 20px 0;
36 background: #006699 top left repeat-x;
37 position: relative;
38 }
39 div.page-header h1 {
40 margin: 10px 0 30px;
41 font-size: 1.8em;
42 font-weight: bold;
43 font-family: osaka,'MS P Gothic', Georgia, serif;
44 letter-spacing: 1px;
45 color: #DDD;
46 }
47 div.page-header h1 a {
48 font-weight: bold;
49 color: #FFF;
50 }
51 div.page-header a {
52 text-decoration: none;
53 }
54
55 div.page-header form {
56 position: absolute;
57 margin-bottom: 2px;
58 bottom: 0;
59 right: 20px;
60 }
61 div.page-header form label {
62 color: #DDD;
63 }
64 div.page-header form input {
65 padding: 2px;
66 border: solid 1px #DDD;
67 }
68 div.page-header form dl {
69 overflow: hidden;
70 }
71 div.page-header form dl dt {
72 font-size: 1.2em;
73 }
74 div.page-header form dl dt,
75 div.page-header form dl dd {
76 margin: 0 0 0 5px;
77 float: left;
78 height: 24px;
79 line-height: 20px;
80 }
81
82 ul.page-nav {
83 margin: 10px 0 0 0;
84 list-style-type: none;
85 overflow: hidden;
86 width: 800px;
87 }
88 ul.page-nav li {
89 margin: 0 2px 0 0;
90 float: left;
91 width: 80px;
92 height: 24px;
93 font-size: 1.1em;
94 line-height: 24px;
95 text-align: center;
96 }
97 ul.page-nav li.current {
98 background: #FFF;
99 }
100 ul.page-nav li a {
101 height: 24px;
102 color: #666;
103 background: #DDD;
104 display: block;
105 text-decoration: none;
106 }
107 ul.page-nav li a:hover {
108 color:#333;
109 background: #FFF;
110 }
111
112 ul.submenu {
113 margin: 10px 0 -10px 20px;
114 list-style-type: none;
115 }
116 ul.submenu li {
117 margin: 0 10px 0 0;
118 font-size: 1.2em;
119 display: inline;
120 }
121
122 h2 {
123 margin: 20px 0 10px;
124 height: 30px;
125 line-height: 30px;
126 text-indent: 20px;
127 background: #FFF;
128 font-size: 1.2em;
129 border-top: dotted 1px #D5E1E6;
130 font-weight: bold;
131 }
132 h2.no-link {
133 color:#006699;
134 }
135 h2.no-border {
136 color: #FFF;
137 background: #006699;
138 border: 0;
139 }
140 h2 a {
141 font-weight:bold;
142 color:#006699;
143 }
144
145 div.page-path {
146 text-align: right;
147 padding: 20px 30px 10px 0;
148 border:solid #d9d8d1;
149 border-width:0px 0px 1px;
150 font-size: 1.2em;
151 }
152
153 div.page-footer {
154 margin: 50px 0 0;
155 position: relative;
156 }
157 div.page-footer p {
158 position: relative;
159 left: 20px;
160 bottom: 5px;
161 font-size: 1.2em;
162 }
163
164 ul.rss-logo {
165 position: absolute;
166 top: -10px;
167 right: 20px;
168 height: 20px;
169 list-style-type: none;
170 }
171 ul.rss-logo li {
172 display: inline;
173 }
174 ul.rss-logo li a {
175 padding: 3px 6px;
176 line-height: 10px;
177 border:1px solid;
178 border-color:#fcc7a5 #7d3302 #3e1a01 #ff954e;
179 color:#ffffff;
180 background-color:#ff6600;
181 font-weight:bold;
182 font-family:sans-serif;
183 font-size:10px;
184 text-align:center;
185 text-decoration:none;
186 }
187 div.rss-logo li a:hover {
188 background-color:#ee5500;
189 }
190
191 p.normal {
192 margin: 20px 0 20px 30px;
193 font-size: 1.2em;
194 }
195
196 table {
197 margin: 10px 0 0 20px;
198 width: 95%;
199 border-collapse: collapse;
200 }
201 table tr td {
202 font-size: 1.1em;
203 }
204 table tr td.nowrap {
205 white-space: nowrap;
206 }
207 /*
208 table tr.parity0:hover,
209 table tr.parity1:hover {
210 background: #D5E1E6;
211 }
212 */
213 table tr.parity0 {
214 background: #F1F6F7;
215 }
216 table tr.parity1 {
217 background: #FFFFFF;
218 }
219 table tr td {
220 padding: 5px 5px;
221 }
222 table.annotated tr td {
223 padding: 0px 5px;
224 }
225
226 span.logtags span {
227 padding: 2px 6px;
228 font-weight: normal;
229 font-size: 11px;
230 border: 1px solid;
231 background-color: #ffaaff;
232 border-color: #ffccff #ff00ee #ff00ee #ffccff;
233 }
234 span.logtags span.tagtag {
235 background-color: #ffffaa;
236 border-color: #ffffcc #ffee00 #ffee00 #ffffcc;
237 }
238 span.logtags span.branchtag {
239 background-color: #aaffaa;
240 border-color: #ccffcc #00cc33 #00cc33 #ccffcc;
241 }
242 span.logtags span.inbranchtag {
243 background-color: #d5dde6;
244 border-color: #e3ecf4 #9398f4 #9398f4 #e3ecf4;
245 }
246
247 div.diff pre {
248 margin: 10px 0 0 0;
249 }
250 div.diff pre span {
251 font-family: monospace;
252 white-space: pre;
253 font-size: 1.2em;
254 padding: 3px 0;
255 }
256 td.source {
257 white-space: pre;
258 font-family: monospace;
259 margin: 10px 30px 0;
260 font-size: 1.2em;
261 font-family: monospace;
262 }
263 div.source div.parity0,
264 div.source div.parity1 {
265 padding: 1px;
266 font-size: 1.2em;
267 }
268 div.source div.parity0 {
269 background: #F1F6F7;
270 }
271 div.source div.parity1 {
272 background: #FFFFFF;
273 }
274 div.parity0:hover,
275 div.parity1:hover {
276 background: #D5E1E6;
277 }
278 .linenr {
279 color: #999;
280 text-align: right;
281 }
282 .lineno {
283 text-align: right;
284 }
285 .lineno a {
286 color: #999;
287 }
288 td.linenr {
289 width: 60px;
290 }
291
292 div#powered-by {
293 position: absolute;
294 width: 75px;
295 top: 15px;
296 right: 20px;
297 font-size: 1.2em;
298 }
299 div#powered-by a {
300 color: #EEE;
301 text-decoration: none;
302 }
303 div#powered-by a:hover {
304 text-decoration: underline;
305 }
306 /*
307 div#monoblue-corner-top-left {
308 position: absolute;
309 top: 0;
310 left: 0;
311 width: 10px;
312 height: 10px;
313 background: url(./monoblue-corner.png) top left no-repeat !important;
314 background: none;
315 }
316 div#monoblue-corner-top-right {
317 position: absolute;
318 top: 0;
319 right: 0;
320 width: 10px;
321 height: 10px;
322 background: url(./monoblue-corner.png) top right no-repeat !important;
323 background: none;
324 }
325 div#monoblue-corner-bottom-left {
326 position: absolute;
327 bottom: 0;
328 left: 0;
329 width: 10px;
330 height: 10px;
331 background: url(./monoblue-corner.png) bottom left no-repeat !important;
332 background: none;
333 }
334 div#monoblue-corner-bottom-right {
335 position: absolute;
336 bottom: 0;
337 right: 0;
338 width: 10px;
339 height: 10px;
340 background: url(./monoblue-corner.png) bottom right no-repeat !important;
341 background: none;
342 }
343 */
344 /** end of common settings **/
345
346 /** summary **/
347 dl.overview {
348 margin: 0 0 0 30px;
349 font-size: 1.1em;
350 overflow: hidden;
351 }
352 dl.overview dt,
353 dl.overview dd {
354 margin: 5px 0;
355 float: left;
356 }
357 dl.overview dt {
358 clear: left;
359 font-weight: bold;
360 width: 150px;
361 }
362 /** end of summary **/
363
364 /** chagelog **/
365 h3.changelog {
366 margin: 20px 0 5px 30px;
367 padding: 0 0 2px;
368 font-size: 1.4em;
369 border-bottom: dotted 1px #D5E1E6;
370 }
371 ul.changelog-entry {
372 margin: 0 0 10px 30px;
373 list-style-type: none;
374 position: relative;
375 }
376 ul.changelog-entry li span.revdate {
377 font-size: 1.1em;
378 }
379 ul.changelog-entry li.age {
380 position: absolute;
381 top: -25px;
382 right: 10px;
383 font-size: 1.4em;
384 color: #CCC;
385 font-weight: bold;
386 font-style: italic;
387 }
388 ul.changelog-entry li span.name {
389 font-size: 1.2em;
390 font-weight: bold;
391 }
392 ul.changelog-entry li.description {
393 margin: 10px 0 0;
394 font-size: 1.1em;
395 }
396 /** end of changelog **/
397
398 /** file **/
399 p.files {
400 margin: 0 0 0 20px;
401 font-size: 2.0em;
402 font-weight: bold;
403 }
404 /** end of file **/
405
406 /** changeset **/
407 h3.changeset {
408 margin: 20px 0 5px 20px;
409 padding: 0 0 2px;
410 font-size: 1.6em;
411 border-bottom: dotted 1px #D5E1E6;
412 }
413 p.changeset-age {
414 position: relative;
415 }
416 p.changeset-age span {
417 position: absolute;
418 top: -25px;
419 right: 10px;
420 font-size: 1.4em;
421 color: #CCC;
422 font-weight: bold;
423 font-style: italic;
424 }
425 p.description {
426 margin: 10px 30px 0 30px;
427 padding: 10px;
428 border: solid 1px #CCC;
429 font-size: 1.2em;
430 }
431 /** end of changeset **/
432
433 /** canvas **/
434 div#wrapper {
435 position: relative;
436 font-size: 1.2em;
437 }
438
439 canvas {
440 position: absolute;
441 z-index: 5;
442 top: -0.7em;
443 }
444
445 ul#nodebgs li.parity0 {
446 background: #F1F6F7;
447 }
448
449 ul#nodebgs li.parity1 {
450 background: #FFFFFF;
451 }
452
453 ul#graphnodes {
454 position: absolute;
455 z-index: 10;
456 top: 7px;
457 list-style: none inside none;
458 }
459
460 ul#nodebgs {
461 list-style: none inside none;
462 }
463
464 ul#graphnodes li, ul#nodebgs li {
465 height: 39px;
466 }
467
468 ul#graphnodes li .info {
469 display: block;
470 position: relative;
471 }
472 /** end of canvas **/
@@ -0,0 +1,254 b''
1 body {
2 margin: 0;
3 padding: 0;
4 background: white;
5 font-family: sans-serif;
6 }
7
8 .container {
9 padding-left: 115px;
10 }
11
12 .main {
13 position: relative;
14 background: white;
15 padding: 2em 2em 2em 0;
16 }
17
18 #.main {
19 width: 98%;
20 }
21
22 .overflow {
23 width: 100%;
24 overflow: auto;
25 }
26
27 .menu {
28 width: 90px;
29 margin: 0;
30 font-size: 80%;
31 text-align: left;
32 position: absolute;
33 top: 20px;
34 left: 20px;
35 right: auto;
36 }
37
38 .menu ul {
39 list-style: none;
40 padding: 0;
41 margin: 10px 0 0 0;
42 border-left: 2px solid #999;
43 }
44
45 .menu li {
46 margin-bottom: 3px;
47 padding: 2px 4px;
48 background: white;
49 color: black;
50 font-weight: normal;
51 }
52
53 .menu li.active {
54 font-weight: bold;
55 }
56
57 .menu img {
58 width: 75px;
59 height: 90px;
60 border: 0;
61 }
62
63 .menu a { color: black; display: block; }
64
65 .search {
66 position: absolute;
67 top: .7em;
68 right: 2em;
69 }
70
71 form.search div#hint {
72 display: none;
73 position: absolute;
74 top: 40px;
75 right: 0px;
76 width: 190px;
77 padding: 5px;
78 background: #ffc;
79 font-size: 70%;
80 border: 1px solid yellow;
81 -moz-border-radius: 5px; /* this works only in camino/firefox */
82 -webkit-border-radius: 5px; /* this is just for Safari */
83 }
84
85 form.search:hover div#hint { display: block; }
86
87 a { text-decoration:none; }
88 .age { white-space:nowrap; }
89 .date { white-space:nowrap; }
90 .indexlinks { white-space:nowrap; }
91 .parity0 { background-color: #f0f0f0; }
92 .parity1 { background-color: white; }
93 .plusline { color: green; }
94 .minusline { color: #dc143c; } /* crimson */
95 .atline { color: purple; }
96
97 .navigate {
98 text-align: right;
99 font-size: 60%;
100 margin: 1em 0;
101 }
102
103 .tag {
104 color: #999;
105 font-size: 70%;
106 font-weight: normal;
107 margin-left: .5em;
108 vertical-align: baseline;
109 }
110
111 .branchhead {
112 color: #000;
113 font-size: 80%;
114 font-weight: normal;
115 margin-left: .5em;
116 vertical-align: baseline;
117 }
118
119 ul#graphnodes .branchhead {
120 font-size: 75%;
121 }
122
123 .branchname {
124 color: #000;
125 font-size: 60%;
126 font-weight: normal;
127 margin-left: .5em;
128 vertical-align: baseline;
129 }
130
131 h3 .branchname {
132 font-size: 80%;
133 }
134
135 /* Common */
136 pre { margin: 0; }
137
138 h2 { font-size: 120%; border-bottom: 1px solid #999; }
139 h2 a { color: #000; }
140 h3 {
141 margin-top: -.7em;
142 font-size: 100%;
143 }
144
145 /* log and tags tables */
146 .bigtable {
147 border-bottom: 1px solid #999;
148 border-collapse: collapse;
149 font-size: 90%;
150 width: 100%;
151 font-weight: normal;
152 text-align: left;
153 }
154
155 .bigtable td {
156 vertical-align: top;
157 }
158
159 .bigtable th {
160 padding: 1px 4px;
161 border-bottom: 1px solid #999;
162 }
163 .bigtable tr { border: none; }
164 .bigtable .age { width: 7em; }
165 .bigtable .author { width: 12em; }
166 .bigtable .description { }
167 .bigtable .node { width: 5em; font-family: monospace;}
168 .bigtable .permissions { width: 8em; text-align: left;}
169 .bigtable .size { width: 5em; text-align: right; }
170 .bigtable .annotate { text-align: right; }
171 .bigtable td.annotate { font-size: smaller; }
172 .bigtable td.source { font-size: inherit; }
173
174 .source, .sourcefirst, .sourcelast {
175 font-family: monospace;
176 white-space: pre;
177 padding: 1px 4px;
178 font-size: 90%;
179 }
180 .sourcefirst { border-bottom: 1px solid #999; font-weight: bold; }
181 .sourcelast { border-top: 1px solid #999; }
182 .source a { color: #999; font-size: smaller; font-family: monospace;}
183 .bottomline { border-bottom: 1px solid #999; }
184
185 .fileline { font-family: monospace; }
186 .fileline img { border: 0; }
187
188 .tagEntry .closed { color: #99f; }
189
190 /* Changeset entry */
191 #changesetEntry {
192 border-collapse: collapse;
193 font-size: 90%;
194 width: 100%;
195 margin-bottom: 1em;
196 }
197
198 #changesetEntry th {
199 padding: 1px 4px;
200 width: 4em;
201 text-align: right;
202 font-weight: normal;
203 color: #999;
204 margin-right: .5em;
205 vertical-align: top;
206 }
207
208 div.description {
209 border-left: 2px solid #999;
210 margin: 1em 0 1em 0;
211 padding: .3em;
212 }
213
214 /* Graph */
215 div#wrapper {
216 position: relative;
217 border-top: 1px solid black;
218 border-bottom: 1px solid black;
219 margin: 0;
220 padding: 0;
221 }
222
223 canvas {
224 position: absolute;
225 z-index: 5;
226 top: -0.7em;
227 margin: 0;
228 }
229
230 ul#graphnodes {
231 position: absolute;
232 z-index: 10;
233 top: -1.0em;
234 list-style: none inside none;
235 padding: 0;
236 }
237
238 ul#nodebgs {
239 list-style: none inside none;
240 padding: 0;
241 margin: 0;
242 top: -0.7em;
243 }
244
245 ul#graphnodes li, ul#nodebgs li {
246 height: 39px;
247 }
248
249 ul#graphnodes li .info {
250 display: block;
251 font-size: 70%;
252 position: relative;
253 top: -3px;
254 }
@@ -0,0 +1,105 b''
1 a { text-decoration:none; }
2 .age { white-space:nowrap; }
3 .date { white-space:nowrap; }
4 .indexlinks { white-space:nowrap; }
5 .parity0 { background-color: #ddd; }
6 .parity1 { background-color: #eee; }
7 .lineno { width: 60px; color: #aaa; font-size: smaller;
8 text-align: right; }
9 .plusline { color: green; }
10 .minusline { color: red; }
11 .atline { color: purple; }
12 .annotate { font-size: smaller; text-align: right; padding-right: 1em; }
13 .buttons a {
14 background-color: #666;
15 padding: 2pt;
16 color: white;
17 font-family: sans;
18 font-weight: bold;
19 }
20 .navigate a {
21 background-color: #ccc;
22 padding: 2pt;
23 font-family: sans;
24 color: black;
25 }
26
27 .metatag {
28 background-color: #888;
29 color: white;
30 text-align: right;
31 }
32
33 /* Common */
34 pre { margin: 0; }
35
36 .logo {
37 float: right;
38 clear: right;
39 }
40
41 /* Changelog/Filelog entries */
42 .logEntry { width: 100%; }
43 .logEntry .age { width: 15%; }
44 .logEntry th { font-weight: normal; text-align: right; vertical-align: top; }
45 .logEntry th.age, .logEntry th.firstline { font-weight: bold; }
46 .logEntry th.firstline { text-align: left; width: inherit; }
47
48 /* Shortlog entries */
49 .slogEntry { width: 100%; }
50 .slogEntry .age { width: 8em; }
51 .slogEntry td { font-weight: normal; text-align: left; vertical-align: top; }
52 .slogEntry td.author { width: 15em; }
53
54 /* Tag entries */
55 #tagEntries { list-style: none; margin: 0; padding: 0; }
56 #tagEntries .tagEntry { list-style: none; margin: 0; padding: 0; }
57
58 /* Changeset entry */
59 #changesetEntry { }
60 #changesetEntry th { font-weight: normal; background-color: #888; color: #fff; text-align: right; }
61 #changesetEntry th.files, #changesetEntry th.description { vertical-align: top; }
62
63 /* File diff view */
64 #filediffEntry { }
65 #filediffEntry th { font-weight: normal; background-color: #888; color: #fff; text-align: right; }
66
67 /* Graph */
68 div#wrapper {
69 position: relative;
70 margin: 0;
71 padding: 0;
72 }
73
74 canvas {
75 position: absolute;
76 z-index: 5;
77 top: -0.6em;
78 margin: 0;
79 }
80
81 ul#nodebgs {
82 list-style: none inside none;
83 padding: 0;
84 margin: 0;
85 top: -0.7em;
86 }
87
88 ul#graphnodes li, ul#nodebgs li {
89 height: 39px;
90 }
91
92 ul#graphnodes {
93 position: absolute;
94 z-index: 10;
95 top: -0.85em;
96 list-style: none inside none;
97 padding: 0;
98 }
99
100 ul#graphnodes li .info {
101 display: block;
102 font-size: 70%;
103 position: relative;
104 top: -1px;
105 }
@@ -0,0 +1,45 b''
1 ## -*- coding: utf-8 -*-
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml">
4 <head>
5 <link rel="icon" href="${c.staticurl}hgicon.png" type="image/png" />
6 <meta name="robots" content="index, nofollow"/>
7 <link rel="stylesheet" href="${c.staticurl}style-monoblue.css" type="text/css" />
8 <title> Mercurial repositories add</title>
9 </head>
10
11 <body>
12 <div id="container">
13 <div class="page-header">
14 <h1><a href="/">Home</a> / Admin</h1>
15 <ul class="page-nav">
16 </ul>
17 </div>
18 <table cellspacing="0">
19 <tr>
20 <td><h1>${c.msg}</h1></td>
21 </tr>
22 <tr>
23 <td><h2>${c.new_repo}</h2></td>
24 </tr>
25 </table>
26 <div class="page-footer">
27 Mercurial Repository: admin
28 </div>
29
30 <div id="powered-by">
31 <p>
32 <a href="http://mercurial.selenic.com/" title="Mercurial">
33 <img src="${c.staticurl}hglogo.png" width=75 height=90 border=0 alt="mercurial"></a>
34 </p>
35 </div>
36
37 <div id="corner-top-left"></div>
38 <div id="corner-top-right"></div>
39 <div id="corner-bottom-left"></div>
40 <div id="corner-bottom-right"></div>
41
42 </div>
43 </body>
44 </html>
45 No newline at end of file
@@ -0,0 +1,30 b''
1 {header}
2 <title>{repo|escape}: Branches</title>
3 <link rel="alternate" type="application/atom+xml"
4 href="{url}atom-tags" title="Atom feed for {repo|escape}"/>
5 <link rel="alternate" type="application/rss+xml"
6 href="{url}rss-tags" title="RSS feed for {repo|escape}"/>
7 </head>
8 <body>
9
10 <div class="page_header">
11 <a href="http://mercurial.selenic.com/" title="Mercurial" style="float: right;">Mercurial</a><a href="{url}summary{sessionvars%urlparameter}">{repo|escape}</a> / branches
12 </div>
13
14 <div class="page_nav">
15 <a href="{url}summary{sessionvars%urlparameter}">summary</a> |
16 <a href="{url}shortlog{sessionvars%urlparameter}">shortlog</a> |
17 <a href="{url}log{sessionvars%urlparameter}">changelog</a> |
18 <a href="{url}graph{sessionvars%urlparameter}">graph</a> |
19 <a href="{url}tags{sessionvars%urlparameter}">tags</a> |
20 branches |
21 <a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a>
22 <br/>
23 </div>
24
25 <div class="title">&nbsp;</div>
26 <table cellspacing="0">
27 {entries%branchentry}
28 </table>
29
30 {footer}
@@ -0,0 +1,39 b''
1 {header}
2 <title>{repo|escape}: Changelog</title>
3 <link rel="alternate" type="application/atom+xml"
4 href="{url}atom-log" title="Atom feed for {repo|escape}"/>
5 <link rel="alternate" type="application/rss+xml"
6 href="{url}rss-log" title="RSS feed for {repo|escape}"/>
7 </head>
8 <body>
9
10 <div class="page_header">
11 <a href="http://mercurial.selenic.com/" title="Mercurial" style="float: right;">Mercurial</a><a href="{url}summary{sessionvars%urlparameter}">{repo|escape}</a> / changelog
12 </div>
13
14 <form action="{url}log">
15 {sessionvars%hiddenformentry}
16 <div class="search">
17 <input type="text" name="rev" />
18 </div>
19 </form>
20
21 <div class="page_nav">
22 <a href="{url}summary{sessionvars%urlparameter}">summary</a> |
23 <a href="{url}shortlog/{rev}{sessionvars%urlparameter}">shortlog</a> |
24 changelog |
25 <a href="{url}graph{sessionvars%urlparameter}">graph</a> |
26 <a href="{url}tags{sessionvars%urlparameter}">tags</a> |
27 <a href="{url}branches{sessionvars%urlparameter}">branches</a> |
28 <a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a>{archives%archiveentry}
29 <br/>
30 {changenav%naventry}<br/>
31 </div>
32
33 {entries%changelogentry}
34
35 <div class="page_nav">
36 {changenav%naventry}<br/>
37 </div>
38
39 {footer}
@@ -0,0 +1,14 b''
1 <div>
2 <a class="title" href="{url}rev/{node|short}{sessionvars%urlparameter}"><span class="age">{date|age}</span>{desc|strip|firstline|escape|nonempty}<span class="logtags"> {inbranch%inbranchtag}{branches%branchtag}{tags%tagtag}</span></a>
3 </div>
4 <div class="title_text">
5 <div class="log_link">
6 <a href="{url}rev/{node|short}{sessionvars%urlparameter}">changeset</a><br/>
7 </div>
8 <i>{author|obfuscate} [{date|rfc822date}] rev {rev}</i><br/>
9 </div>
10 <div class="log_body">
11 {desc|strip|escape|addbreaks|nonempty}
12 <br/>
13 <br/>
14 </div>
@@ -0,0 +1,50 b''
1 {header}
2 <title>{repo|escape}: changeset {rev}:{node|short}</title>
3 <link rel="alternate" type="application/atom+xml"
4 href="{url}atom-log" title="Atom feed for {repo|escape}"/>
5 <link rel="alternate" type="application/rss+xml"
6 href="{url}rss-log" title="RSS feed for {repo|escape}"/>
7 </head>
8 <body>
9
10 <div class="page_header">
11 <a href="http://mercurial.selenic.com/" title="Mercurial" style="float: right;">Mercurial</a><a href="{url}summary{sessionvars%urlparameter}">{repo|escape}</a> / changeset
12 </div>
13
14 <div class="page_nav">
15 <a href="{url}summary{sessionvars%urlparameter}">summary</a> |
16 <a href="{url}shortlog/{rev}{sessionvars%urlparameter}">shortlog</a> |
17 <a href="{url}log/{rev}{sessionvars%urlparameter}">changelog</a> |
18 <a href="{url}graph{sessionvars%urlparameter}">graph</a> |
19 <a href="{url}tags{sessionvars%urlparameter}">tags</a> |
20 <a href="{url}branches{sessionvars%urlparameter}">branches</a> |
21 <a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a> |
22 changeset |
23 <a href="{url}raw-rev/{node|short}">raw</a> {archives%archiveentry}<br/>
24 </div>
25
26 <div>
27 <a class="title" href="{url}raw-rev/{node|short}">{desc|strip|escape|firstline|nonempty} <span class="logtags">{inbranch%inbranchtag}{branches%branchtag}{tags%tagtag}</span></a>
28 </div>
29 <div class="title_text">
30 <table cellspacing="0">
31 <tr><td>author</td><td>{author|obfuscate}</td></tr>
32 <tr><td></td><td>{date|date} ({date|age})</td></tr>
33 {branch%changesetbranch}
34 <tr><td>changeset {rev}</td><td style="font-family:monospace">{node|short}</td></tr>
35 {parent%changesetparent}
36 {child%changesetchild}
37 </table></div>
38
39 <div class="page_body">
40 {desc|strip|escape|addbreaks|nonempty}
41 </div>
42 <div class="list_head"></div>
43 <div class="title_text">
44 <table cellspacing="0">
45 {files}
46 </table></div>
47
48 <div class="page_body">{diff}</div>
49
50 {footer}
@@ -0,0 +1,25 b''
1 {header}
2 <title>{repo|escape}: Error</title>
3 <link rel="alternate" type="application/atom+xml"
4 href="{url}atom-log" title="Atom feed for {repo|escape}"/>
5 <link rel="alternate" type="application/rss+xml"
6 href="{url}rss-log" title="RSS feed for {repo|escape}"/>
7 </head>
8 <body>
9
10 <div class="page_header">
11 <a href="http://mercurial.selenic.com/" title="Mercurial" style="float: right;">Mercurial</a><a href="{url}summary{sessionvars%urlparameter}">{repo|escape}</a> / error
12 </div>
13
14 <div class="page_nav">
15 <a href="{url}summary{sessionvars%urlparameter}">summary</a> | <a href="{url}shortlog{sessionvars%urlparameter}">shortlog</a> | <a href="{url}log{sessionvars%urlparameter}">changelog</a> | <a href="{url}tags{sessionvars%urlparameter}">tags</a> | <a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a><br/>
16 </div>
17
18 <div class="page_body">
19 <br/>
20 <i>An error occurred while processing your request</i><br/>
21 <br/>
22 {error|escape}
23 </div>
24
25 {footer}
@@ -0,0 +1,61 b''
1 {header}
2 <title>{repo|escape}: {file|escape}@{node|short} (annotated)</title>
3 <link rel="alternate" type="application/atom+xml"
4 href="{url}atom-log" title="Atom feed for {repo|escape}"/>
5 <link rel="alternate" type="application/rss+xml"
6 href="{url}rss-log" title="RSS feed for {repo|escape}"/>
7 </head>
8 <body>
9
10 <div class="page_header">
11 <a href="http://mercurial.selenic.com/" title="Mercurial" style="float: right;">Mercurial</a><a href="{url}summary{sessionvars%urlparameter}">{repo|escape}</a> / annotate
12 </div>
13
14 <div class="page_nav">
15 <a href="{url}summary{sessionvars%urlparameter}">summary</a> |
16 <a href="{url}shortlog{sessionvars%urlparameter}">shortlog</a> |
17 <a href="{url}log{sessionvars%urlparameter}">changelog</a> |
18 <a href="{url}graph{sessionvars%urlparameter}">graph</a> |
19 <a href="{url}tags{sessionvars%urlparameter}">tags</a> |
20 <a href="{url}branches{sessionvars%urlparameter}">branches</a> |
21 <a href="{url}file/{node|short}{path|urlescape}{sessionvars%urlparameter}">files</a> |
22 <a href="{url}rev/{node|short}{sessionvars%urlparameter}">changeset</a> |
23 <a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">file</a> |
24 <a href="{url}log/{node|short}/{file|urlescape}{sessionvars%urlparameter}">revisions</a> |
25 annotate |
26 <a href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">diff</a> |
27 <a href="{url}raw-annotate/{node|short}/{file|urlescape}">raw</a><br/>
28 </div>
29
30 <div class="title">{file|escape}</div>
31
32 <div class="title_text">
33 <table cellspacing="0">
34 <tr>
35 <td>author</td>
36 <td>{author|obfuscate}</td></tr>
37 <tr>
38 <td></td>
39 <td>{date|date} ({date|age})</td></tr>
40 {branch%filerevbranch}
41 <tr>
42 <td>changeset {rev}</td>
43 <td style="font-family:monospace"><a class="list" href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td></tr>
44 {parent%fileannotateparent}
45 {child%fileannotatechild}
46 <tr>
47 <td>permissions</td>
48 <td style="font-family:monospace">{permissions|permissions}</td></tr>
49 </table>
50 </div>
51
52 <div class="page_path">
53 {desc|strip|escape|addbreaks|nonempty}
54 </div>
55 <div class="page_body">
56 <table>
57 {annotate%annotateline}
58 </table>
59 </div>
60
61 {footer}
@@ -0,0 +1,47 b''
1 {header}
2 <title>{repo|escape}: diff {file|escape}</title>
3 <link rel="alternate" type="application/atom+xml"
4 href="{url}atom-log" title="Atom feed for {repo|escape}"/>
5 <link rel="alternate" type="application/rss+xml"
6 href="{url}rss-log" title="RSS feed for {repo|escape}"/>
7 </head>
8 <body>
9
10 <div class="page_header">
11 <a href="http://mercurial.selenic.com/" title="Mercurial" style="float: right;">Mercurial</a><a href="{url}summary{sessionvars%urlparameter}">{repo|escape}</a> / diff
12 </div>
13
14 <div class="page_nav">
15 <a href="{url}summary{sessionvars%urlparameter}">summary</a> |
16 <a href="{url}shortlog{sessionvars%urlparameter}">shortlog</a> |
17 <a href="{url}log{sessionvars%urlparameter}">changelog</a> |
18 <a href="{url}graph{sessionvars%urlparameter}">graph</a> |
19 <a href="{url}tags{sessionvars%urlparameter}">tags</a> |
20 <a href="{url}branches{sessionvars%urlparameter}">branches</a> |
21 <a href="{url}file/{node|short}{path|urlescape}{sessionvars%urlparameter}">files</a> |
22 <a href="{url}rev/{node|short}{sessionvars%urlparameter}">changeset</a> |
23 <a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">file</a> |
24 <a href="{url}log/{node|short}/{file|urlescape}{sessionvars%urlparameter}">revisions</a> |
25 <a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">annotate</a> |
26 diff |
27 <a href="{url}raw-diff/{node|short}/{file|urlescape}">raw</a><br/>
28 </div>
29
30 <div class="title">{file|escape}</div>
31
32 <table>
33 {branch%filerevbranch}
34 <tr>
35 <td>changeset {rev}</td>
36 <td style="font-family:monospace"><a class="list" href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td></tr>
37 {parent%filediffparent}
38 {child%filediffchild}
39 </table>
40
41 <div class="list_head"></div>
42
43 <div class="page_body">
44 {diff}
45 </div>
46
47 {footer}
@@ -0,0 +1,40 b''
1 {header}
2 <title>{repo|escape}: File revisions</title>
3 <link rel="alternate" type="application/atom+xml"
4 href="{url}atom-log" title="Atom feed for {repo|escape}"/>
5 <link rel="alternate" type="application/rss+xml"
6 href="{url}rss-log" title="RSS feed for {repo|escape}"/>
7 </head>
8 <body>
9
10 <div class="page_header">
11 <a href="http://mercurial.selenic.com/" title="Mercurial" style="float: right;">Mercurial</a><a href="{url}summary{sessionvars%urlparameter}">{repo|escape}</a> / file revisions
12 </div>
13
14 <div class="page_nav">
15 <a href="{url}summary{sessionvars%urlparameter}">summary</a> |
16 <a href="{url}shortlog{sessionvars%urlparameter}">shortlog</a> |
17 <a href="{url}log{sessionvars%urlparameter}">changelog</a> |
18 <a href="{url}graph{sessionvars%urlparameter}">graph</a> |
19 <a href="{url}tags{sessionvars%urlparameter}">tags</a> |
20 <a href="{url}branches{sessionvars%urlparameter}">branches</a> |
21 <a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">file</a> |
22 revisions |
23 <a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">annotate</a> |
24 <a href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">diff</a> |
25 <a href="{url}rss-log/{node|short}/{file|urlescape}">rss</a>
26 <br/>
27 {nav%filenaventry}
28 </div>
29
30 <div class="title" >{file|urlescape}</div>
31
32 <table>
33 {entries%filelogentry}
34 </table>
35
36 <div class="page_nav">
37 {nav%filenaventry}
38 </div>
39
40 {footer}
@@ -0,0 +1,60 b''
1 {header}
2 <title>{repo|escape}: {file|escape}@{node|short}</title>
3 <link rel="alternate" type="application/atom+xml"
4 href="{url}atom-log" title="Atom feed for {repo|escape}"/>
5 <link rel="alternate" type="application/rss+xml"
6 href="{url}rss-log" title="RSS feed for {repo|escape}"/>
7 </head>
8 <body>
9
10 <div class="page_header">
11 <a href="http://mercurial.selenic.com/" title="Mercurial" style="float: right;">Mercurial</a><a href="{url}summary{sessionvars%urlparameter}">{repo|escape}</a> / file revision
12 </div>
13
14 <div class="page_nav">
15 <a href="{url}summary{sessionvars%urlparameter}">summary</a> |
16 <a href="{url}shortlog{sessionvars%urlparameter}">shortlog</a> |
17 <a href="{url}log{sessionvars%urlparameter}">changelog</a> |
18 <a href="{url}graph{sessionvars%urlparameter}">graph</a> |
19 <a href="{url}tags{sessionvars%urlparameter}">tags</a> |
20 <a href="{url}branches{sessionvars%urlparameter}">branches</a> |
21 <a href="{url}file/{node|short}{path|urlescape}{sessionvars%urlparameter}">files</a> |
22 <a href="{url}rev/{node|short}{sessionvars%urlparameter}">changeset</a> |
23 file |
24 <a href="{url}log/{node|short}/{file|urlescape}{sessionvars%urlparameter}">revisions</a> |
25 <a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">annotate</a> |
26 <a href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">diff</a> |
27 <a href="{url}raw-file/{node|short}/{file|urlescape}">raw</a><br/>
28 </div>
29
30 <div class="title">{file|escape}</div>
31
32 <div class="title_text">
33 <table cellspacing="0">
34 <tr>
35 <td>author</td>
36 <td>{author|obfuscate}</td></tr>
37 <tr>
38 <td></td>
39 <td>{date|date} ({date|age})</td></tr>
40 {branch%filerevbranch}
41 <tr>
42 <td>changeset {rev}</td>
43 <td style="font-family:monospace"><a class="list" href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td></tr>
44 {parent%filerevparent}
45 {child%filerevchild}
46 <tr>
47 <td>permissions</td>
48 <td style="font-family:monospace">{permissions|permissions}</td></tr>
49 </table>
50 </div>
51
52 <div class="page_path">
53 {desc|strip|escape|addbreaks|nonempty}
54 </div>
55
56 <div class="page_body">
57 {text%fileline}
58 </div>
59
60 {footer}
@@ -0,0 +1,11 b''
1 <div class="page_footer">
2 <div class="page_footer_text">{repo|escape}</div>
3 <div class="rss_logo">
4 <a href="{url}rss-log">RSS</a>
5 <a href="{url}atom-log">Atom</a>
6 </div>
7 <br />
8 {motd}
9 </div>
10 </body>
11 </html>
@@ -0,0 +1,121 b''
1 {header}
2 <title>{repo|escape}: Graph</title>
3 <link rel="alternate" type="application/atom+xml"
4 href="{url}atom-log" title="Atom feed for {repo|escape}"/>
5 <link rel="alternate" type="application/rss+xml"
6 href="{url}rss-log" title="RSS feed for {repo|escape}"/>
7 <!--[if IE]><script type="text/javascript" src="{staticurl}excanvas.js"></script><![endif]-->
8 </head>
9 <body>
10
11 <div class="page_header">
12 <a href="http://mercurial.selenic.com/" title="Mercurial" style="float: right;">Mercurial</a><a href="{url}summary{sessionvars%urlparameter}">{repo|escape}</a> / graph
13 </div>
14
15 <form action="{url}log">
16 {sessionvars%hiddenformentry}
17 <div class="search">
18 <input type="text" name="rev" />
19 </div>
20 </form>
21 <div class="page_nav">
22 <a href="{url}summary{sessionvars%urlparameter}">summary</a> |
23 <a href="{url}shortlog{sessionvars%urlparameter}">shortlog</a> |
24 <a href="{url}log/{rev}{sessionvars%urlparameter}">changelog</a> |
25 graph |
26 <a href="{url}tags{sessionvars%urlparameter}">tags</a> |
27 <a href="{url}branches{sessionvars%urlparameter}">branches</a> |
28 <a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a>
29 <br/>
30 <a href="{url}graph/{rev}{lessvars%urlparameter}">less</a>
31 <a href="{url}graph/{rev}{morevars%urlparameter}">more</a>
32 | {changenav%navgraphentry}<br/>
33 </div>
34
35 <div class="title">&nbsp;</div>
36
37 <noscript>The revision graph only works with JavaScript-enabled browsers.</noscript>
38
39 <div id="wrapper">
40 <ul id="nodebgs"></ul>
41 <canvas id="graph" width="224" height="{canvasheight}"></canvas>
42 <ul id="graphnodes"></ul>
43 </div>
44
45 <script type="text/javascript" src="{staticurl}graph.js"></script>
46 <script>
47 <!-- hide script content
48
49 var data = {jsdata|json};
50 var graph = new Graph();
51 graph.scale({bg_height});
52
53 graph.edge = function(x0, y0, x1, y1, color) {
54
55 this.setColor(color, 0.0, 0.65);
56 this.ctx.beginPath();
57 this.ctx.moveTo(x0, y0);
58 this.ctx.lineTo(x1, y1);
59 this.ctx.stroke();
60
61 }
62
63 var revlink = '<li style="_STYLE"><span class="desc">';
64 revlink += '<a class="list" href="{url}rev/_NODEID{sessionvars%urlparameter}" title="_NODEID"><b>_DESC</b></a>';
65 revlink += '</span> _TAGS';
66 revlink += '<span class="info">_DATE, by _USER</span></li>';
67
68 graph.vertex = function(x, y, color, parity, cur) {
69
70 this.ctx.beginPath();
71 color = this.setColor(color, 0.25, 0.75);
72 this.ctx.arc(x, y, radius, 0, Math.PI * 2, true);
73 this.ctx.fill();
74
75 var bg = '<li class="bg parity' + parity + '"></li>';
76 var left = (this.columns + 1) * this.bg_height;
77 var nstyle = 'padding-left: ' + left + 'px;';
78 var item = revlink.replace(/_STYLE/, nstyle);
79 item = item.replace(/_PARITY/, 'parity' + parity);
80 item = item.replace(/_NODEID/, cur[0]);
81 item = item.replace(/_NODEID/, cur[0]);
82 item = item.replace(/_DESC/, cur[3]);
83 item = item.replace(/_USER/, cur[4]);
84 item = item.replace(/_DATE/, cur[5]);
85
86 var tagspan = '';
87 if (cur[7].length || (cur[6][0] != 'default' || cur[6][1])) {
88 tagspan = '<span class="logtags">';
89 if (cur[6][1]) {
90 tagspan += '<span class="branchtag" title="' + cur[6][0] + '">';
91 tagspan += cur[6][0] + '</span> ';
92 } else if (!cur[6][1] && cur[6][0] != 'default') {
93 tagspan += '<span class="inbranchtag" title="' + cur[6][0] + '">';
94 tagspan += cur[6][0] + '</span> ';
95 }
96 if (cur[7].length) {
97 for (var t in cur[7]) {
98 var tag = cur[7][t];
99 tagspan += '<span class="tagtag">' + tag + '</span> ';
100 }
101 }
102 tagspan += '</span>';
103 }
104
105 item = item.replace(/_TAGS/, tagspan);
106 return [bg, item];
107
108 }
109
110 graph.render(data);
111
112 // stop hiding script -->
113 </script>
114
115 <div class="page_nav">
116 <a href="{url}graph/{rev}{lessvars%urlparameter}">less</a>
117 <a href="{url}graph/{rev}{morevars%urlparameter}">more</a>
118 | {changenav%navgraphentry}
119 </div>
120
121 {footer}
@@ -0,0 +1,8 b''
1 <?xml version="1.0" encoding="{encoding}"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US">
4 <head>
5 <link rel="icon" href="{staticurl}hgicon.png" type="image/png" />
6 <meta name="robots" content="index, nofollow"/>
7 <link rel="stylesheet" href="{staticurl}style-gitweb.css" type="text/css" />
8
@@ -0,0 +1,26 b''
1 {header}
2 <title>Mercurial repositories index</title>
3 </head>
4 <body>
5
6 <div class="page_header">
7 <a href="http://mercurial.selenic.com/" title="Mercurial" style="float: right;">Mercurial</a>
8 Repositories list
9 </div>
10
11 <table cellspacing="0">
12 <tr>
13 <td><a href="?sort={sort_name}">Name</a></td>
14 <td><a href="?sort={sort_description}">Description</a></td>
15 <td><a href="?sort={sort_contact}">Contact</a></td>
16 <td><a href="?sort={sort_lastchange}">Last change</a></td>
17 <td>&nbsp;</td>
18 <td>&nbsp;</td>
19 </tr>
20 {entries%indexentry}
21 </table>
22 <div class="page_footer">
23 {motd}
24 </div>
25 </body>
26 </html>
@@ -0,0 +1,38 b''
1 {header}
2 <title>{repo|escape}: files</title>
3 <link rel="alternate" type="application/atom+xml"
4 href="{url}atom-log" title="Atom feed for {repo|escape}"/>
5 <link rel="alternate" type="application/rss+xml"
6 href="{url}rss-log" title="RSS feed for {repo|escape}"/>
7 </head>
8 <body>
9
10 <div class="page_header">
11 <a href="http://mercurial.selenic.com/" title="Mercurial" style="float: right;">Mercurial</a><a href="{url}summary{sessionvars%urlparameter}">{repo|escape}</a> / files
12 </div>
13
14 <div class="page_nav">
15 <a href="{url}summary{sessionvars%urlparameter}">summary</a> |
16 <a href="{url}shortlog{sessionvars%urlparameter}">shortlog</a> |
17 <a href="{url}log{sessionvars%urlparameter}">changelog</a> |
18 <a href="{url}graph{sessionvars%urlparameter}">graph</a> |
19 <a href="{url}tags{sessionvars%urlparameter}">tags</a> |
20 <a href="{url}branches{sessionvars%urlparameter}">branches</a> |
21 files |
22 <a href="{url}rev/{node|short}{sessionvars%urlparameter}">changeset</a> {archives%archiveentry}<br/>
23 </div>
24
25 <div class="title">{path|escape} <span class="logtags">{inbranch%inbranchtag}{branches%branchtag}{tags%tagtag}</span></div>
26 <table cellspacing="0">
27 <tr class="parity{upparity}">
28 <td style="font-family:monospace">drwxr-xr-x</td>
29 <td style="font-family:monospace"></td>
30 <td style="font-family:monospace"></td>
31 <td><a href="{url}file/{node|short}{up|urlescape}{sessionvars%urlparameter}">[up]</a></td>
32 <td class="link">&nbsp;</td>
33 </tr>
34 {dentries%direntry}
35 {fentries%fileentry}
36 </table>
37
38 {footer}
@@ -0,0 +1,248 b''
1 default = 'summary'
2 mimetype = 'text/html; charset={encoding}'
3 header = header.tmpl
4 footer = footer.tmpl
5 search = search.tmpl
6 changelog = changelog.tmpl
7 summary = summary.tmpl
8 error = error.tmpl
9 notfound = notfound.tmpl
10 naventry = '<a href="{url}log/{node|short}{sessionvars%urlparameter}">{label|escape}</a> '
11 navshortentry = '<a href="{url}shortlog/{node|short}{sessionvars%urlparameter}">{label|escape}</a> '
12 navgraphentry = '<a href="{url}graph/{node|short}{sessionvars%urlparameter}">{label|escape}</a> '
13 filenaventry = '<a href="{url}log/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{label|escape}</a> '
14 filedifflink = '<a href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{file|escape}</a> '
15 filenodelink = '
16 <tr class="parity{parity}">
17 <td><a class="list" href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{file|escape}</a></td>
18 <td></td>
19 <td class="link">
20 <a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">file</a> |
21 <a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">annotate</a> |
22 <a href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">diff</a> |
23 <a href="{url}log/{node|short}/{file|urlescape}{sessionvars%urlparameter}">revisions</a>
24 </td>
25 </tr>'
26 filenolink = '
27 <tr class="parity{parity}">
28 <td><a class="list" href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{file|escape}</a></td>
29 <td></td>
30 <td class="link">
31 file |
32 annotate |
33 <a href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">diff</a> |
34 <a href="{url}log/{node|short}/{file|urlescape}{sessionvars%urlparameter}">revisions</a>
35 </td>
36 </tr>'
37 fileellipses = '...'
38 changelogentry = changelogentry.tmpl
39 searchentry = changelogentry.tmpl
40 changeset = changeset.tmpl
41 manifest = manifest.tmpl
42 direntry = '
43 <tr class="parity{parity}">
44 <td style="font-family:monospace">drwxr-xr-x</td>
45 <td style="font-family:monospace"></td>
46 <td style="font-family:monospace"></td>
47 <td>
48 <a href="{url}file/{node|short}{path|urlescape}{sessionvars%urlparameter}">{basename|escape}</a>
49 <a href="{url}file/{node|short}{path|urlescape}/{emptydirs|urlescape}{sessionvars%urlparameter}">{emptydirs|escape}</a>
50 </td>
51 <td class="link">
52 <a href="{url}file/{node|short}{path|urlescape}{sessionvars%urlparameter}">files</a>
53 </td>
54 </tr>'
55 fileentry = '
56 <tr class="parity{parity}">
57 <td style="font-family:monospace">{permissions|permissions}</td>
58 <td style="font-family:monospace" align=right>{date|isodate}</td>
59 <td style="font-family:monospace" align=right>{size}</td>
60 <td class="list">
61 <a class="list" href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{basename|escape}</a>
62 </td>
63 <td class="link">
64 <a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">file</a> |
65 <a href="{url}log/{node|short}/{file|urlescape}{sessionvars%urlparameter}">revisions</a> |
66 <a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">annotate</a>
67 </td>
68 </tr>'
69 filerevision = filerevision.tmpl
70 fileannotate = fileannotate.tmpl
71 filediff = filediff.tmpl
72 filelog = filelog.tmpl
73 fileline = '
74 <div style="font-family:monospace" class="parity{parity}">
75 <pre><a class="linenr" href="#{lineid}" id="{lineid}">{linenumber}</a> {line|escape}</pre>
76 </div>'
77 annotateline = '
78 <tr style="font-family:monospace" class="parity{parity}">
79 <td class="linenr" style="text-align: right;">
80 <a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}#l{targetline}"
81 title="{node|short}: {desc|escape|firstline}">{author|user}@{rev}</a>
82 </td>
83 <td><pre><a class="linenr" href="#{lineid}" id="{lineid}">{linenumber}</a></pre></td>
84 <td><pre>{line|escape}</pre></td>
85 </tr>'
86 difflineplus = '<span style="color:#008800;"><a class="linenr" href="#{lineid}" id="{lineid}">{linenumber}</a> {line|escape}</span>'
87 difflineminus = '<span style="color:#cc0000;"><a class="linenr" href="#{lineid}" id="{lineid}">{linenumber}</a> {line|escape}</span>'
88 difflineat = '<span style="color:#990099;"><a class="linenr" href="#{lineid}" id="{lineid}">{linenumber}</a> {line|escape}</span>'
89 diffline = '<span><a class="linenr" href="#{lineid}" id="{lineid}">{linenumber}</a> {line|escape}</span>'
90 changelogparent = '
91 <tr>
92 <th class="parent">parent {rev}:</th>
93 <td class="parent">
94 <a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a>
95 </td>
96 </tr>'
97 changesetbranch = '<tr><td>branch</td><td>{name}</td></tr>'
98 changesetparent = '
99 <tr>
100 <td>parent {rev}</td>
101 <td style="font-family:monospace">
102 <a class="list" href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a>
103 </td>
104 </tr>'
105 filerevbranch = '<tr><td>branch</td><td>{name}</td></tr>'
106 filerevparent = '
107 <tr>
108 <td>parent {rev}</td>
109 <td style="font-family:monospace">
110 <a class="list" href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">
111 {rename%filerename}{node|short}
112 </a>
113 </td>
114 </tr>'
115 filerename = '{file|escape}@'
116 filelogrename = '| <a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">base</a>'
117 fileannotateparent = '
118 <tr>
119 <td>parent {rev}</td>
120 <td style="font-family:monospace">
121 <a class="list" href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">
122 {rename%filerename}{node|short}
123 </a>
124 </td>
125 </tr>'
126 changelogchild = '
127 <tr>
128 <th class="child">child {rev}:</th>
129 <td class="child"><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td>
130 </tr>'
131 changesetchild = '
132 <tr>
133 <td>child {rev}</td>
134 <td style="font-family:monospace">
135 <a class="list" href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a>
136 </td>
137 </tr>'
138 filerevchild = '
139 <tr>
140 <td>child {rev}</td>
141 <td style="font-family:monospace">
142 <a class="list" href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></td>
143 </tr>'
144 fileannotatechild = '
145 <tr>
146 <td>child {rev}</td>
147 <td style="font-family:monospace">
148 <a class="list" href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></td>
149 </tr>'
150 tags = tags.tmpl
151 tagentry = '
152 <tr class="parity{parity}">
153 <td class="age"><i>{date|age}</i></td>
154 <td><a class="list" href="{url}rev/{node|short}{sessionvars%urlparameter}"><b>{tag|escape}</b></a></td>
155 <td class="link">
156 <a href="{url}rev/{node|short}{sessionvars%urlparameter}">changeset</a> |
157 <a href="{url}log/{node|short}{sessionvars%urlparameter}">changelog</a> |
158 <a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a>
159 </td>
160 </tr>'
161 branches = branches.tmpl
162 branchentry = '
163 <tr class="parity{parity}">
164 <td class="age"><i>{date|age}</i></td>
165 <td><a class="list" href="{url}shortlog/{node|short}{sessionvars%urlparameter}"><b>{node|short}</b></a></td>
166 <td class="{status}">{branch|escape}</td>
167 <td class="link">
168 <a href="{url}changeset/{node|short}{sessionvars%urlparameter}">changeset</a> |
169 <a href="{url}log/{node|short}{sessionvars%urlparameter}">changelog</a> |
170 <a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a>
171 </td>
172 </tr>'
173 diffblock = '<pre>{lines}</pre>'
174 filediffparent = '
175 <tr>
176 <td>parent {rev}</td>
177 <td style="font-family:monospace">
178 <a class="list" href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">
179 {node|short}
180 </a>
181 </td>
182 </tr>'
183 filelogparent = '
184 <tr>
185 <td align="right">parent {rev}:&nbsp;</td>
186 <td><a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></td>
187 </tr>'
188 filediffchild = '
189 <tr>
190 <td>child {rev}</td>
191 <td style="font-family:monospace">
192 <a class="list" href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a>
193 </td>
194 </tr>'
195 filelogchild = '
196 <tr>
197 <td align="right">child {rev}:&nbsp;</td>
198 <td><a href="{url}file{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></td>
199 </tr>'
200 shortlog = shortlog.tmpl
201 graph = graph.tmpl
202 tagtag = '<span class="tagtag" title="{name}">{name}</span> '
203 branchtag = '<span class="branchtag" title="{name}">{name}</span> '
204 inbranchtag = '<span class="inbranchtag" title="{name}">{name}</span> '
205 shortlogentry = '
206 <tr class="parity{parity}">
207 <td class="age"><i>{date|age}</i></td>
208 <td><i>{author|person}</i></td>
209 <td>
210 <a class="list" href="{url}rev/{node|short}{sessionvars%urlparameter}">
211 <b>{desc|strip|firstline|escape|nonempty}</b>
212 <span class="logtags">{inbranch%inbranchtag}{branches%branchtag}{tags%tagtag}</span>
213 </a>
214 </td>
215 <td class="link" nowrap>
216 <a href="{url}rev/{node|short}{sessionvars%urlparameter}">changeset</a> |
217 <a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a>
218 </td>
219 </tr>'
220 filelogentry = '
221 <tr class="parity{parity}">
222 <td class="age"><i>{date|age}</i></td>
223 <td>
224 <a class="list" href="{url}rev/{node|short}{sessionvars%urlparameter}">
225 <b>{desc|strip|firstline|escape|nonempty}</b>
226 </a>
227 </td>
228 <td class="link">
229 <a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">file</a>&nbsp;|&nbsp;<a href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">diff</a>&nbsp;|&nbsp;<a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">annotate</a> {rename%filelogrename}</td>
230 </tr>'
231 archiveentry = ' | <a href="{url}archive/{node|short}{extension}">{type|escape}</a> '
232 indexentry = '
233 <tr class="parity{parity}">
234 <td>
235 <a class="list" href="{url}{sessionvars%urlparameter}">
236 <b>{name|escape}</b>
237 </a>
238 </td>
239 <td>{description}</td>
240 <td>{contact|obfuscate}</td>
241 <td class="age">{lastchange|age}</td>
242 <td class="indexlinks">{archives%indexarchiveentry}</td>
243 <td><div class="rss_logo"><a href="{url}rss-log">RSS</a> <a href="{url}atom-log">Atom</a></div></td>
244 </tr>\n'
245 indexarchiveentry = ' <a href="{url}archive/{node|short}{extension}">{type|escape}</a> '
246 index = index.tmpl
247 urlparameter = '{separator}{name}={value|urlescape}'
248 hiddenformentry = '<input type="hidden" name="{name}" value="{value|escape}" />'
@@ -0,0 +1,18 b''
1 {header}
2 <title>Mercurial repository not found</title>
3 </head>
4
5 <body>
6
7 <div class="page_header">
8 <a href="http://mercurial.selenic.com/" title="Mercurial" style="float: right;">Mercurial</a> Not found: {repo|escape}
9 </div>
10
11 <div class="page_body">
12 The specified repository "{repo|escape}" is unknown, sorry.
13 <br/>
14 <br/>
15 Please go back to the <a href="{url}">main repository list page</a>.
16 </div>
17
18 {footer}
@@ -0,0 +1,36 b''
1 {header}
2 <title>{repo|escape}: Search</title>
3 <link rel="alternate" type="application/atom+xml"
4 href="{url}atom-log" title="Atom feed for {repo|escape}"/>
5 <link rel="alternate" type="application/rss+xml"
6 href="{url}rss-log" title="RSS feed for {repo|escape}"/>
7 </head>
8 <body>
9
10 <div class="page_header">
11 <a href="http://mercurial.selenic.com/" title="Mercurial" style="float: right;">Mercurial</a><a href="{url}summary{sessionvars%urlparameter}">{repo|escape}</a> / search
12
13 <form action="{url}log">
14 {sessionvars%hiddenformentry}
15 <div class="search">
16 <input type="text" name="rev" value="{query|escape}" />
17 </div>
18 </form>
19 </div>
20
21 <div class="page_nav">
22 <a href="{url}summary{sessionvars%urlparameter}">summary</a> |
23 <a href="{url}shortlog{sessionvars%urlparameter}">shortlog</a> |
24 <a href="{url}log{sessionvars%urlparameter}">changelog</a> |
25 <a href="{url}graph{sessionvars%urlparameter}">graph</a> |
26 <a href="{url}tags{sessionvars%urlparameter}">tags</a> |
27 <a href="{url}branches{sessionvars%urlparameter}">branches</a> |
28 <a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a>{archives%archiveentry}
29 <br/>
30 </div>
31
32 <div class="title">searching for {query|escape}</div>
33
34 {entries}
35
36 {footer}
@@ -0,0 +1,41 b''
1 {header}
2 <title>{repo|escape}: Shortlog</title>
3 <link rel="alternate" type="application/atom+xml"
4 href="{url}atom-log" title="Atom feed for {repo|escape}"/>
5 <link rel="alternate" type="application/rss+xml"
6 href="{url}rss-log" title="RSS feed for {repo|escape}"/>
7 </head>
8 <body>
9
10 <div class="page_header">
11 <a href="http://mercurial.selenic.com/" title="Mercurial" style="float: right;">Mercurial</a><a href="{url}summary{sessionvars%urlparameter}">{repo|escape}</a> / shortlog
12 </div>
13
14 <form action="{url}log">
15 {sessionvars%hiddenformentry}
16 <div class="search">
17 <input type="text" name="rev" />
18 </div>
19 </form>
20 <div class="page_nav">
21 <a href="{url}summary{sessionvars%urlparameter}">summary</a> |
22 shortlog |
23 <a href="{url}log/{rev}{sessionvars%urlparameter}">changelog</a> |
24 <a href="{url}graph{sessionvars%urlparameter}">graph</a> |
25 <a href="{url}tags{sessionvars%urlparameter}">tags</a> |
26 <a href="{url}branches{sessionvars%urlparameter}">branches</a> |
27 <a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a>{archives%archiveentry}
28 <br/>
29 {changenav%navshortentry}<br/>
30 </div>
31
32 <div class="title">&nbsp;</div>
33 <table cellspacing="0">
34 {entries%shortlogentry}
35 </table>
36
37 <div class="page_nav">
38 {changenav%navshortentry}
39 </div>
40
41 {footer}
@@ -0,0 +1,58 b''
1 {header}
2 <title>{repo|escape}: Summary</title>
3 <link rel="alternate" type="application/atom+xml"
4 href="{url}atom-log" title="Atom feed for {repo|escape}"/>
5 <link rel="alternate" type="application/rss+xml"
6 href="{url}rss-log" title="RSS feed for {repo|escape}"/>
7 </head>
8 <body>
9
10 <div class="page_header">
11 <a href="http://mercurial.selenic.com/" title="Mercurial" style="float: right;">Mercurial</a><a href="{url}summary{sessionvars%urlparameter}">{repo|escape}</a> / summary
12
13 <form action="{url}log">
14 {sessionvars%hiddenformentry}
15 <div class="search">
16 <input type="text" name="rev" />
17 </div>
18 </form>
19 </div>
20
21 <div class="page_nav">
22 summary |
23 <a href="{url}shortlog{sessionvars%urlparameter}">shortlog</a> |
24 <a href="{url}log{sessionvars%urlparameter}">changelog</a> |
25 <a href="{url}graph{sessionvars%urlparameter}">graph</a> |
26 <a href="{url}tags{sessionvars%urlparameter}">tags</a> |
27 <a href="{url}branches{sessionvars%urlparameter}">branches</a> |
28 <a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a>{archives%archiveentry}
29 <br/>
30 </div>
31
32 <div class="title">&nbsp;</div>
33 <table cellspacing="0">
34 <tr><td>description</td><td>{desc}</td></tr>
35 <tr><td>owner</td><td>{owner|obfuscate}</td></tr>
36 <tr><td>last change</td><td>{lastchange|rfc822date}</td></tr>
37 </table>
38
39 <div><a class="title" href="{url}shortlog{sessionvars%urlparameter}">changes</a></div>
40 <table cellspacing="0">
41 {shortlog}
42 <tr class="light"><td colspan="4"><a class="list" href="{url}shortlog{sessionvars%urlparameter}">...</a></td></tr>
43 </table>
44
45 <div><a class="title" href="{url}tags{sessionvars%urlparameter}">tags</a></div>
46 <table cellspacing="0">
47 {tags}
48 <tr class="light"><td colspan="3"><a class="list" href="{url}tags{sessionvars%urlparameter}">...</a></td></tr>
49 </table>
50
51 <div><a class="title" href="#">branches</a></div>
52 <table cellspacing="0">
53 {branches%branchentry}
54 <tr class="light">
55 <td colspan="4"><a class="list" href="#">...</a></td>
56 </tr>
57 </table>
58 {footer}
@@ -0,0 +1,30 b''
1 {header}
2 <title>{repo|escape}: Tags</title>
3 <link rel="alternate" type="application/atom+xml"
4 href="{url}atom-tags" title="Atom feed for {repo|escape}"/>
5 <link rel="alternate" type="application/rss+xml"
6 href="{url}rss-tags" title="RSS feed for {repo|escape}"/>
7 </head>
8 <body>
9
10 <div class="page_header">
11 <a href="http://mercurial.selenic.com/" title="Mercurial" style="float: right;">Mercurial</a><a href="{url}summary{sessionvars%urlparameter}">{repo|escape}</a> / tags
12 </div>
13
14 <div class="page_nav">
15 <a href="{url}summary{sessionvars%urlparameter}">summary</a> |
16 <a href="{url}shortlog{sessionvars%urlparameter}">shortlog</a> |
17 <a href="{url}log{sessionvars%urlparameter}">changelog</a> |
18 <a href="{url}graph{sessionvars%urlparameter}">graph</a> |
19 tags |
20 <a href="{url}branches{sessionvars%urlparameter}">branches</a> |
21 <a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a>
22 <br/>
23 </div>
24
25 <div class="title">&nbsp;</div>
26 <table cellspacing="0">
27 {entries%tagentry}
28 </table>
29
30 {footer}
@@ -0,0 +1,36 b''
1 {header}
2 <title>{repo|escape}: Branches</title>
3 <link rel="alternate" type="application/atom+xml" href="{url}atom-log" title="Atom feed for {repo|escape}"/>
4 <link rel="alternate" type="application/rss+xml" href="{url}rss-log" title="RSS feed for {repo|escape}"/>
5 </head>
6
7 <body>
8 <div id="container">
9 <div class="page-header">
10 <h1><a href="/">Home</a> / <a href="{url}summary{sessionvars%urlparameter}">{repo|escape}</a> / Branches</h1>
11
12 <form action="{url}log">
13 {sessionvars%hiddenformentry}
14 <dl class="search">
15 <dt><label>Search: </label></dt>
16 <dd><input type="text" name="rev" /></dd>
17 </dl>
18 </form>
19
20 <ul class="page-nav">
21 <li><a href="{url}summary{sessionvars%urlparameter}">summary</a></li>
22 <li><a href="{url}shortlog{sessionvars%urlparameter}">shortlog</a></li>
23 <li><a href="{url}changelog{sessionvars%urlparameter}">changelog</a></li>
24 <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
25 <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
26 <li class="current">branches</li>
27 <li><a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a></li>
28 </ul>
29 </div>
30
31 <h2 class="no-link no-border">branches</h2>
32 <table cellspacing="0">
33 {entries%branchentry}
34 </table>
35
36 {footer}
@@ -0,0 +1,40 b''
1 {header}
2 <title>{repo|escape}: changelog</title>
3 <link rel="alternate" type="application/atom+xml" href="{url}atom-log" title="Atom feed for {repo|escape}"/>
4 <link rel="alternate" type="application/rss+xml" href="{url}rss-log" title="RSS feed for {repo|escape}"/>
5 </head>
6
7 <body>
8 <div id="container">
9 <div class="page-header">
10 <h1><a href="/">Home</a> / <a href="{url}summary{sessionvars%urlparameter}">{repo|escape}</a> / changelog</h1>
11
12 <form action="{url}log">
13 {sessionvars%hiddenformentry}
14 <dl class="search">
15 <dt><label>Search: </label></dt>
16 <dd><input type="text" name="rev" /></dd>
17 </dl>
18 </form>
19
20 <ul class="page-nav">
21 <li><a href="{url}summary{sessionvars%urlparameter}">summary</a></li>
22 <li><a href="{url}shortlog{sessionvars%urlparameter}">shortlog</a></li>
23 <li class="current">changelog</li>
24 <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
25 <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
26 <li><a href="{url}branches{sessionvars%urlparameter}">branches</a></li>
27 <li><a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a>{archives%archiveentry}</li>
28 </ul>
29 </div>
30
31 <h2 class="no-link no-border">changelog</h2>
32 <div>
33 {entries%changelogentry}
34 </div>
35
36 <div class="page-path">
37 {changenav%naventry}
38 </div>
39
40 {footer}
@@ -0,0 +1,6 b''
1 <h3 class="changelog"><a class="title" href="{url}rev/{node|short}{sessionvars%urlparameter}">{desc|strip|firstline|escape|nonempty}<span class="logtags"> {inbranch%inbranchtag}{branches%branchtag}{tags%tagtag}</span></a></h3>
2 <ul class="changelog-entry">
3 <li class="age">{date|age}</li>
4 <li>by <span class="name">{author|obfuscate}</span> <span class="revdate">[{date|rfc822date}] rev {rev}</span></li>
5 <li class="description">{desc|strip|escape|addbreaks|nonempty}</li>
6 </ul>
@@ -0,0 +1,63 b''
1 {header}
2 <title>{repo|escape}: changeset {rev}:{node|short}</title>
3 <link rel="alternate" type="application/atom+xml" href="{url}atom-log" title="Atom feed for {repo|escape}"/>
4 <link rel="alternate" type="application/rss+xml" href="{url}rss-log" title="RSS feed for {repo|escape}"/>
5 </head>
6
7 <body>
8 <div id="container">
9 <div class="page-header">
10 <h1><a href="/">Home</a> / <a href="{url}summary{sessionvars%urlparameter}">{repo|escape}</a> / files</h1>
11
12 <form action="{url}log">
13 {sessionvars%hiddenformentry}
14 <dl class="search">
15 <dt><label>Search: </label></dt>
16 <dd><input type="text" name="rev" /></dd>
17 </dl>
18 </form>
19
20 <ul class="page-nav">
21 <li><a href="{url}summary{sessionvars%urlparameter}">summary</a></li>
22 <li><a href="{url}shortlog{sessionvars%urlparameter}">shortlog</a></li>
23 <li><a href="{url}changelog{sessionvars%urlparameter}">changelog</a></li>
24 <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
25 <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
26 <li><a href="{url}branches{sessionvars%urlparameter}">branches</a></li>
27 <li><a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a></li>
28 </ul>
29 </div>
30
31 <ul class="submenu">
32 <li class="current">changeset</li>
33 <li><a href="{url}raw-rev/{node|short}">raw</a> {archives%archiveentry}</li>
34 </ul>
35
36 <h2 class="no-link no-border">changeset</h2>
37
38 <h3 class="changeset"><a href="{url}raw-rev/{node|short}">{desc|strip|escape|firstline|nonempty} <span class="logtags">{inbranch%inbranchtag}{branches%branchtag}{tags%tagtag}</span></a></h3>
39 <p class="changeset-age"><span>{date|age}</span></p>
40
41 <dl class="overview">
42 <dt>author</dt>
43 <dd>{author|obfuscate}</dd>
44 <dt>date</dt>
45 <dd>{date|date}</dd>
46 {branch%changesetbranch}
47 <dt>changeset {rev}</dt>
48 <dd>{node|short}</dd>
49 {parent%changesetparent}
50 {child%changesetchild}
51 </dl>
52
53 <p class="description">{desc|strip|escape|addbreaks|nonempty}</p>
54
55 <table>
56 {files}
57 </table>
58
59 <div class="diff">
60 {diff}
61 </div>
62
63 {footer}
@@ -0,0 +1,34 b''
1 {header}
2 <title>{repo|escape}: Error</title>
3 <link rel="alternate" type="application/atom+xml" href="{url}atom-log" title="Atom feed for {repo|escape}"/>
4 <link rel="alternate" type="application/rss+xml" href="{url}rss-log" title="RSS feed for {repo|escape}"/>
5 </head>
6
7 <body>
8 <div id="container">
9 <div class="page-header">
10 <h1><a href="{url}summary{sessionvars%urlparameter}">{repo|escape}</a> / Not found: {repo|escape}</h1>
11
12 <form action="{url}log">
13 {sessionvars%hiddenformentry}
14 <dl class="search">
15 <dt><label>Search: </label></dt>
16 <dd><input type="text" name="rev" /></dd>
17 </dl>
18 </form>
19
20 <ul class="page-nav">
21 <li class="current">summary</li>
22 <li><a href="{url}shortlog{sessionvars%urlparameter}">shortlog</a></li>
23 <li><a href="{url}log{sessionvars%urlparameter}">changelog</a></li>
24 <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
25 <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
26 <li><a href="{url}branches{sessionvars%urlparameter}">branches</a></li>
27 <li><a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a></li>
28 </ul>
29 </div>
30
31 <h2 class="no-link no-border">An error occurred while processing your request</h2>
32 <p class="normal">{error|escape}</p>
33
34 {footer}
@@ -0,0 +1,63 b''
1 {header}
2 <title>{repo|escape}: {file|escape}@{node|short} (annotated)</title>
3 <link rel="alternate" type="application/atom+xml" href="{url}atom-log" title="Atom feed for {repo|escape}"/>
4 <link rel="alternate" type="application/rss+xml" href="{url}rss-log" title="RSS feed for {repo|escape}"/>
5 </head>
6
7 <body>
8 <div id="container">
9 <div class="page-header">
10 <h1><a href="/">Home</a> / <a href="{url}summary{sessionvars%urlparameter}">{repo|escape}</a> / annotate</h1>
11
12 <form action="{url}log">
13 {sessionvars%hiddenformentry}
14 <dl class="search">
15 <dt><label>Search: </label></dt>
16 <dd><input type="text" name="rev" /></dd>
17 </dl>
18 </form>
19
20 <ul class="page-nav">
21 <li><a href="{url}summary{sessionvars%urlparameter}">summary</a></li>
22 <li><a href="{url}shortlog{sessionvars%urlparameter}">shortlog</a></li>
23 <li><a href="{url}log{sessionvars%urlparameter}">changelog</a></li>
24 <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
25 <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
26 <li><a href="{url}branches{sessionvars%urlparameter}">branches</a></li>
27 <li><a href="{url}file/{node|short}{path|urlescape}{sessionvars%urlparameter}">files</a></li>
28 </ul>
29 </div>
30
31 <ul class="submenu">
32 <li><a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">file</a></li>
33 <li><a href="{url}log/{node|short}/{file|urlescape}{sessionvars%urlparameter}">revisions</a></li>
34 <li class="current">annotate</li>
35 <li><a href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">diff</a></li>
36 <li><a href="{url}raw-annotate/{node|short}/{file|urlescape}">raw</a></li>
37 </ul>
38
39 <h2 class="no-link no-border">{file|escape}@{node|short} (annotated)</h2>
40 <h3 class="changeset">{file|escape}</h3>
41 <p class="changeset-age"><span>{date|age}</span></p>
42
43 <dl class="overview">
44 <dt>author</dt>
45 <dd>{author|obfuscate}</dd>
46 <dt>date</dt>
47 <dd>{date|date}</dd>
48 {branch%filerevbranch}
49 <dt>changeset {rev}</dt>
50 <dd><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></dd>
51 {parent%fileannotateparent}
52 {child%fileannotatechild}
53 <dt>permissions</dt>
54 <dd>{permissions|permissions}</dd>
55 </dl>
56
57 <p class="description">{desc|strip|escape|addbreaks|nonempty}</p>
58
59 <table class="annotated">
60 {annotate%annotateline}
61 </table>
62
63 {footer}
@@ -0,0 +1,54 b''
1 {header}
2 <title>{repo|escape}: diff {file|escape}</title>
3 <link rel="alternate" type="application/atom+xml" href="{url}atom-log" title="Atom feed for {repo|escape}"/>
4 <link rel="alternate" type="application/rss+xml" href="{url}rss-log" title="RSS feed for {repo|escape}"/>
5 </head>
6
7 <body>
8 <div id="container">
9 <div class="page-header">
10 <h1><a href="/">Home</a> / <a href="{url}summary{sessionvars%urlparameter}">{repo|escape}</a> / file diff</h1>
11
12 <form action="{url}log">
13 {sessionvars%hiddenformentry}
14 <dl class="search">
15 <dt><label>Search: </label></dt>
16 <dd><input type="text" name="rev" /></dd>
17 </dl>
18 </form>
19
20 <ul class="page-nav">
21 <li><a href="{url}summary{sessionvars%urlparameter}">summary</a></li>
22 <li><a href="{url}shortlog{sessionvars%urlparameter}">shortlog</a></li>
23 <li><a href="{url}log{sessionvars%urlparameter}">changelog</a></li>
24 <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
25 <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
26 <li><a href="{url}branches{sessionvars%urlparameter}">branches</a></li>
27 <li><a href="{url}file/{node|short}{path|urlescape}{sessionvars%urlparameter}">files</a></li>
28 </ul>
29 </div>
30
31 <ul class="submenu">
32 <li><a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">file</a></li>
33 <li><a href="{url}log/{node|short}/{file|urlescape}{sessionvars%urlparameter}">revisions</a></li>
34 <li><a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">annotate</a></li>
35 <li class="current">diff</li>
36 <li><a href="{url}raw-diff/{node|short}/{file|urlescape}">raw</a></li>
37 </ul>
38
39 <h2 class="no-link no-border">diff: {file|escape}</h2>
40 <h3 class="changeset">{file|escape}</h3>
41
42 <dl class="overview">
43 {branch%filerevbranch}
44 <dt>changeset {rev}</dt>
45 <dd><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></dd>
46 {parent%filediffparent}
47 {child%filediffchild}
48 </dl>
49
50 <div class="diff">
51 {diff}
52 </div>
53
54 {footer}
@@ -0,0 +1,49 b''
1 {header}
2 <title>{repo|escape}: File revisions</title>
3 <link rel="alternate" type="application/atom+xml" href="{url}atom-log" title="Atom feed for {repo|escape}"/>
4 <link rel="alternate" type="application/rss+xml" href="{url}rss-log" title="RSS feed for {repo|escape}"/>
5 </head>
6
7 <body>
8 <div id="container">
9 <div class="page-header">
10 <h1><a href="/">Home</a> / <a href="{url}summary{sessionvars%urlparameter}">{repo|escape}</a> / file revisions</h1>
11
12 <form action="{url}log">
13 {sessionvars%hiddenformentry}
14 <dl class="search">
15 <dt><label>Search: </label></dt>
16 <dd><input type="text" name="rev" /></dd>
17 </dl>
18 </form>
19
20 <ul class="page-nav">
21 <li><a href="{url}summary{sessionvars%urlparameter}">summary</a></li>
22 <li><a href="{url}shortlog{sessionvars%urlparameter}">shortlog</a></li>
23 <li><a href="{url}log{sessionvars%urlparameter}">changelog</a></li>
24 <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
25 <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
26 <li><a href="{url}branches{sessionvars%urlparameter}">branches</a></li>
27 <li><a href="{url}file/{node|short}{path|urlescape}{sessionvars%urlparameter}">files</a></li>
28 </ul>
29 </div>
30
31 <ul class="submenu">
32 <li><a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">file</a></li>
33 <li class="current">revisions</li>
34 <li><a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">annotate</a></li>
35 <li><a href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">diff</a></li>
36 <li><a href="{url}rss-log/{node|short}/{file|urlescape}">rss</a></li>
37 </ul>
38
39 <h2 class="no-link no-border">{file|urlescape}</h2>
40
41 <table>
42 {entries%filelogentry}
43 </table>
44
45 <div class="page-path">
46 {nav%filenaventry}
47 </div>
48
49 {footer}
@@ -0,0 +1,63 b''
1 {header}
2 <title>{repo|escape}: {file|escape}@{node|short}</title>
3 <link rel="alternate" type="application/atom+xml" href="{url}atom-log" title="Atom feed for {repo|escape}"/>
4 <link rel="alternate" type="application/rss+xml" href="{url}rss-log" title="RSS feed for {repo|escape}"/>
5 </head>
6
7 <body>
8 <div id="container">
9 <div class="page-header">
10 <h1><a href="/">Home</a> / <a href="{url}summary{sessionvars%urlparameter}">{repo|escape}</a> / file revision</h1>
11
12 <form action="{url}log">
13 {sessionvars%hiddenformentry}
14 <dl class="search">
15 <dt><label>Search: </label></dt>
16 <dd><input type="text" name="rev" /></dd>
17 </dl>
18 </form>
19
20 <ul class="page-nav">
21 <li><a href="{url}summary{sessionvars%urlparameter}">summary</a></li>
22 <li><a href="{url}shortlog{sessionvars%urlparameter}">shortlog</a></li>
23 <li><a href="{url}changelog{sessionvars%urlparameter}">changelog</a></li>
24 <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
25 <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
26 <li><a href="{url}branches{sessionvars%urlparameter}">branches</a></li>
27 <li><a href="{url}file/{node|short}{path|urlescape}{sessionvars%urlparameter}">files</a></li>
28 </ul>
29 </div>
30
31 <ul class="submenu">
32 <li class="current">file</li>
33 <li><a href="{url}log/{node|short}/{file|urlescape}{sessionvars%urlparameter}">revisions</a></li>
34 <li><a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">annotate</a></li>
35 <li><a href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">diff</a></li>
36 <li><a href="{url}raw-file/{node|short}/{file|urlescape}">raw</a></li>
37 </ul>
38
39 <h2 class="no-link no-border">{file|escape}@{node|short}</h2>
40 <h3 class="changeset">{file|escape}</h3>
41 <p class="changeset-age"><span>{date|age}</span></p>
42
43 <dl class="overview">
44 <dt>author</dt>
45 <dd>{author|obfuscate}</dd>
46 <dt>date</dt>
47 <dd>{date|date}</dd>
48 {branch%filerevbranch}
49 <dt>changeset {rev}</dt>
50 <dd><a class="list" href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></dd>
51 {parent%filerevparent}
52 {child%filerevchild}
53 <dt>permissions</dt>
54 <dd>{permissions|permissions}</dd>
55 </dl>
56
57 <p class="description">{desc|strip|escape|addbreaks|nonempty}</p>
58
59 <div class="source">
60 {text%fileline}
61 </div>
62
63 {footer}
@@ -0,0 +1,22 b''
1 <div class="page-footer">
2 <p>Mercurial Repository: {repo|escape}</p>
3 <ul class="rss-logo">
4 <li><a href="{url}rss-log">RSS</a></li>
5 <li><a href="{url}atom-log">Atom</a></li>
6 </ul>
7 {motd}
8 </div>
9
10 <div id="powered-by">
11 <p><a href="http://mercurial.selenic.com/" title="Mercurial"><img src="{staticurl}hglogo.png" width=75 height=90 border=0 alt="mercurial"></a></p>
12 </div>
13
14 <div id="corner-top-left"></div>
15 <div id="corner-top-right"></div>
16 <div id="corner-bottom-left"></div>
17 <div id="corner-bottom-right"></div>
18
19 </div>
20
21 </body>
22 </html>
@@ -0,0 +1,118 b''
1 {header}
2 <title>{repo|escape}: graph</title>
3 <link rel="alternate" type="application/atom+xml" href="{url}atom-log" title="Atom feed for {repo|escape}"/>
4 <link rel="alternate" type="application/rss+xml" href="{url}rss-log" title="RSS feed for {repo|escape}"/>
5 <!--[if IE]><script type="text/javascript" src="{staticurl}excanvas.js"></script><![endif]-->
6 </head>
7
8 <body>
9 <div id="container">
10 <div class="page-header">
11 <h1><a href="/">Home</a> / <a href="{url}summary{sessionvars%urlparameter}">{repo|escape}</a> / graph</h1>
12
13 <form action="{url}log">
14 {sessionvars%hiddenformentry}
15 <dl class="search">
16 <dt><label>Search: </label></dt>
17 <dd><input type="text" name="rev" /></dd>
18 </dl>
19 </form>
20
21 <ul class="page-nav">
22 <li><a href="{url}summary{sessionvars%urlparameter}">summary</a></li>
23 <li><a href="{url}shortlog{sessionvars%urlparameter}">shortlog</a></li>
24 <li><a href="{url}changelog{sessionvars%urlparameter}">changelog</a></li>
25 <li class="current">graph</li>
26 <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
27 <li><a href="{url}branches{sessionvars%urlparameter}">branches</a></li>
28 <li><a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a></li>
29 </ul>
30 </div>
31
32 <h2 class="no-link no-border">graph</h2>
33
34 <div id="noscript">The revision graph only works with JavaScript-enabled browsers.</div>
35 <div id="wrapper">
36 <ul id="nodebgs"></ul>
37 <canvas id="graph" width="224" height="{canvasheight}"></canvas>
38 <ul id="graphnodes"></ul>
39 </div>
40
41 <script type="text/javascript" src="{staticurl}graph.js"></script>
42 <script>
43 <!-- hide script content
44
45 document.getElementById('noscript').style.display = 'none';
46
47 var data = {jsdata|json};
48 var graph = new Graph();
49 graph.scale({bg_height});
50
51 graph.edge = function(x0, y0, x1, y1, color) {
52
53 this.setColor(color, 0.0, 0.65);
54 this.ctx.beginPath();
55 this.ctx.moveTo(x0, y0);
56 this.ctx.lineTo(x1, y1);
57 this.ctx.stroke();
58
59 }
60
61 var revlink = '<li style="_STYLE"><span class="desc">';
62 revlink += '<a href="{url}rev/_NODEID{sessionvars%urlparameter}" title="_NODEID">_DESC</a>';
63 revlink += '</span>_TAGS<span class="info">_DATE, by _USER</span></li>';
64
65 graph.vertex = function(x, y, color, parity, cur) {
66
67 this.ctx.beginPath();
68 color = this.setColor(color, 0.25, 0.75);
69 this.ctx.arc(x, y, radius, 0, Math.PI * 2, true);
70 this.ctx.fill();
71
72 var bg = '<li class="bg parity' + parity + '"></li>';
73 var left = (this.columns + 1) * this.bg_height;
74 var nstyle = 'padding-left: ' + left + 'px;';
75 var item = revlink.replace(/_STYLE/, nstyle);
76 item = item.replace(/_PARITY/, 'parity' + parity);
77 item = item.replace(/_NODEID/, cur[0]);
78 item = item.replace(/_NODEID/, cur[0]);
79 item = item.replace(/_DESC/, cur[3]);
80 item = item.replace(/_USER/, cur[4]);
81 item = item.replace(/_DATE/, cur[5]);
82
83 var tagspan = '';
84 if (cur[7].length || (cur[6][0] != 'default' || cur[6][1])) {
85 tagspan = '<span class="logtags">';
86 if (cur[6][1]) {
87 tagspan += '<span class="branchtag" title="' + cur[6][0] + '">';
88 tagspan += cur[6][0] + '</span> ';
89 } else if (!cur[6][1] && cur[6][0] != 'default') {
90 tagspan += '<span class="inbranchtag" title="' + cur[6][0] + '">';
91 tagspan += cur[6][0] + '</span> ';
92 }
93 if (cur[7].length) {
94 for (var t in cur[7]) {
95 var tag = cur[7][t];
96 tagspan += '<span class="tagtag">' + tag + '</span> ';
97 }
98 }
99 tagspan += '</span>';
100 }
101
102 item = item.replace(/_TAGS/, tagspan);
103 return [bg, item];
104
105 }
106
107 graph.render(data);
108
109 // stop hiding script -->
110 </script>
111
112 <div class="page-path">
113 <a href="{url}graph/{rev}{lessvars%urlparameter}">less</a>
114 <a href="{url}graph/{rev}{morevars%urlparameter}">more</a>
115 | {changenav%navgraphentry}
116 </div>
117
118 {footer}
@@ -0,0 +1,6 b''
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
3 <head>
4 <link rel="icon" href="{staticurl}hgicon.png" type="image/png" />
5 <meta name="robots" content="index, nofollow"/>
6 <link rel="stylesheet" href="{staticurl}style-monoblue.css" type="text/css" />
@@ -0,0 +1,39 b''
1 {header}
2 <title>{repo|escape}: Mercurial repositories index</title>
3 </head>
4
5 <body>
6 <div id="container">
7 <div class="page-header">
8 <h1> Mercurial Repositories</h1>
9 <ul class="page-nav">
10 </ul>
11 </div>
12
13 <table cellspacing="0">
14 <tr>
15 <td><a href="?sort={sort_name}">Name</a></td>
16 <td><a href="?sort={sort_description}">Description</a></td>
17 <td><a href="?sort={sort_contact}">Contact</a></td>
18 <td><a href="?sort={sort_lastchange}">Last change</a></td>
19 <td>&nbsp;</td>
20 <td>&nbsp;</td>
21 </tr>
22 {entries%indexentry}
23 </table>
24 <div class="page-footer">
25 {motd}
26 </div>
27
28 <div id="powered-by">
29 <p><a href="http://mercurial.selenic.com/" title="Mercurial"><img src="{staticurl}hglogo.png" width=75 height=90 border=0 alt="mercurial"></a></p>
30 </div>
31
32 <div id="corner-top-left"></div>
33 <div id="corner-top-right"></div>
34 <div id="corner-bottom-left"></div>
35 <div id="corner-bottom-right"></div>
36
37 </div>
38 </body>
39 </html>
@@ -0,0 +1,51 b''
1 {header}
2 <title>{repo|escape}: files</title>
3 <link rel="alternate" type="application/atom+xml" href="{url}atom-log" title="Atom feed for {repo|escape}"/>
4 <link rel="alternate" type="application/rss+xml" href="{url}rss-log" title="RSS feed for {repo|escape}"/>
5 </head>
6
7 <body>
8 <div id="container">
9 <div class="page-header">
10 <h1><a href="/">Home</a> / <a href="{url}summary{sessionvars%urlparameter}">{repo|escape}</a> / files</h1>
11
12 <form action="{url}log">
13 {sessionvars%hiddenformentry}
14 <dl class="search">
15 <dt><label>Search: </label></dt>
16 <dd><input type="text" name="rev" /></dd>
17 </dl>
18 </form>
19
20 <ul class="page-nav">
21 <li><a href="{url}summary{sessionvars%urlparameter}">summary</a></li>
22 <li><a href="{url}shortlog{sessionvars%urlparameter}">shortlog</a></li>
23 <li><a href="{url}changelog{sessionvars%urlparameter}">changelog</a></li>
24 <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
25 <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
26 <li><a href="{url}branches{sessionvars%urlparameter}">branches</a></li>
27 <li class="current">files</li>
28 </ul>
29 </div>
30
31 <ul class="submenu">
32 <li><a href="{url}rev/{node|short}{sessionvars%urlparameter}">changeset</a> {archives%archiveentry}</li>
33 {archives%archiveentry}
34 </ul>
35
36 <h2 class="no-link no-border">files</h2>
37 <p class="files">{path|escape} <span class="logtags">{inbranch%inbranchtag}{branches%branchtag}{tags%tagtag}</span></p>
38
39 <table>
40 <tr class="parity{upparity}">
41 <td>drwxr-xr-x</td>
42 <td></td>
43 <td></td>
44 <td><a href="{url}file/{node|short}{up|urlescape}{sessionvars%urlparameter}">[up]</a></td>
45 <td class="link">&nbsp;</td>
46 </tr>
47 {dentries%direntry}
48 {fentries%fileentry}
49 </table>
50
51 {footer}
@@ -0,0 +1,214 b''
1 default = 'summary'
2 mimetype = 'text/html; charset={encoding}'
3 header = header.tmpl
4 footer = footer.tmpl
5 search = search.tmpl
6 changelog = changelog.tmpl
7 summary = summary.tmpl
8 error = error.tmpl
9 notfound = notfound.tmpl
10 naventry = '<a href="{url}log/{node|short}{sessionvars%urlparameter}">{label|escape}</a> '
11 navshortentry = '<a href="{url}shortlog/{node|short}{sessionvars%urlparameter}">{label|escape}</a> '
12 navgraphentry = '<a href="{url}graph/{node|short}{sessionvars%urlparameter}">{label|escape}</a> '
13 filenaventry = '<a href="{url}log/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{label|escape}</a>'
14 filedifflink = '<a href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{file|escape}</a> '
15 filenodelink = '
16 <tr class="parity{parity}">
17 <td><a href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{file|escape}</a></td>
18 <td></td>
19 <td>
20 <a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">file</a> |
21 <a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">annotate</a> |
22 <a href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">diff</a> |
23 <a href="{url}log/{node|short}/{file|urlescape}{sessionvars%urlparameter}">revisions</a>
24 </td>
25 </tr>'
26 filenolink = '
27 <tr class="parity{parity}">
28 <td>
29 <a href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{file|escape}</a></td><td></td><td>file |
30 annotate |
31 <a href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">diff</a> |
32 <a href="{url}log/{node|short}/{file|urlescape}{sessionvars%urlparameter}">revisions</a>
33 </td>
34 </tr>'
35 fileellipses = '...'
36 changelogentry = changelogentry.tmpl
37 searchentry = changelogentry.tmpl
38 changeset = changeset.tmpl
39 manifest = manifest.tmpl
40 direntry = '
41 <tr class="parity{parity}">
42 <td>drwxr-xr-x</td>
43 <td></td>
44 <td></td>
45 <td><a href="{url}file/{node|short}{path|urlescape}{sessionvars%urlparameter}">{basename|escape}</a></td>
46 <td><a href="{url}file/{node|short}{path|urlescape}{sessionvars%urlparameter}">files</a></td>
47 </tr>'
48 fileentry = '
49 <tr class="parity{parity}">
50 <td>{permissions|permissions}</td>
51 <td>{date|isodate}</td>
52 <td>{size}</td>
53 <td><a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{basename|escape}</a></td>
54 <td>
55 <a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">file</a> |
56 <a href="{url}log/{node|short}/{file|urlescape}{sessionvars%urlparameter}">revisions</a> |
57 <a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">annotate</a>
58 </td>
59 </tr>'
60 filerevision = filerevision.tmpl
61 fileannotate = fileannotate.tmpl
62 filediff = filediff.tmpl
63 filelog = filelog.tmpl
64 fileline = '
65 <div style="font-family:monospace" class="parity{parity}">
66 <pre><a class="linenr" href="#{lineid}" id="{lineid}">{linenumber}</a> {line|escape}</pre>
67 </div>'
68 annotateline = '
69 <tr class="parity{parity}">
70 <td class="linenr">
71 <a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}#{targetline}"
72 title="{node|short}: {desc|escape|firstline}">{author|user}@{rev}</a>
73 </td>
74 <td class="lineno">
75 <a href="#{lineid}" id="{lineid}">{linenumber}</a>
76 </td>
77 <td class="source">{line|escape}</td>
78 </tr>'
79 difflineplus = '<span style="color:#008800;"><a class="linenr" href="#{lineid}" id="{lineid}">{linenumber}</a> {line|escape}</span>'
80 difflineminus = '<span style="color:#cc0000;"><a class="linenr" href="#{lineid}" id="{lineid}">{linenumber}</a> {line|escape}</span>'
81 difflineat = '<span style="color:#990099;"><a class="linenr" href="#{lineid}" id="{lineid}">{linenumber}</a> {line|escape}</span>'
82 diffline = '<span><a class="linenr" href="#{lineid}" id="{lineid}">{linenumber}</a> {line|escape}</span>'
83 changelogparent = '
84 <tr>
85 <th class="parent">parent {rev}:</th>
86 <td class="parent">
87 <a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a>
88 </td>
89 </tr>'
90 changesetbranch = '<dt>branch</dt><dd>{name}</dd>'
91 changesetparent = '
92 <dt>parent {rev}</dt>
93 <dd><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></dd>'
94 filerevbranch = '<dt>branch</dt><dd>{name}</dd>'
95 filerevparent = '
96 <dt>parent {rev}</dt>
97 <dd>
98 <a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">
99 {rename%filerename}{node|short}
100 </a>
101 </dd>'
102 filerename = '{file|escape}@'
103 filelogrename = '| <a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">base</a>'
104 fileannotateparent = '
105 <dt>parent {rev}</dt>
106 <dd>
107 <a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">
108 {rename%filerename}{node|short}
109 </a>
110 </dd>'
111 changelogchild = '
112 <dt>child {rev}:</dt>
113 <dd><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></dd>'
114 changesetchild = '
115 <dt>child {rev}</dt>
116 <dd><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></dd>'
117 filerevchild = '
118 <dt>child {rev}</dt>
119 <dd>
120 <a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a>
121 </dd>'
122 fileannotatechild = '
123 <dt>child {rev}</dt>
124 <dd>
125 <a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a>
126 </dd>'
127 tags = tags.tmpl
128 tagentry = '
129 <tr class="parity{parity}">
130 <td class="nowrap">{date|age}</td>
131 <td><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{tag|escape}</a></td>
132 <td class="nowrap">
133 <a href="{url}rev/{node|short}{sessionvars%urlparameter}">changeset</a> |
134 <a href="{url}log/{node|short}{sessionvars%urlparameter}">changelog</a> |
135 <a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a>
136 </td>
137 </tr>'
138 branches = branches.tmpl
139 branchentry = '
140 <tr class="parity{parity}">
141 <td class="nowrap">{date|age}</td>
142 <td><a href="{url}shortlog/{node|short}{sessionvars%urlparameter}">{node|short}</a></td>
143 <td class="{status}">{branch|escape}</td>
144 <td class="nowrap">
145 <a href="{url}rev/{node|short}{sessionvars%urlparameter}">changeset</a> |
146 <a href="{url}log/{node|short}{sessionvars%urlparameter}">changelog</a> |
147 <a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a>
148 </td>
149 </tr>'
150 diffblock = '<pre>{lines}</pre>'
151 filediffparent = '
152 <dt>parent {rev}</dt>
153 <dd><a href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></dd>'
154 filelogparent = '
155 <tr>
156 <td align="right">parent {rev}:&nbsp;</td>
157 <td><a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></td>
158 </tr>'
159 filediffchild = '
160 <dt>child {rev}</dt>
161 <dd><a href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></dd>'
162 filelogchild = '
163 <tr>
164 <td align="right">child {rev}:&nbsp;</td>
165 <td><a href="{url}file{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></td>
166 </tr>'
167 shortlog = shortlog.tmpl
168 tagtag = '<span class="tagtag" title="{name}">{name}</span> '
169 branchtag = '<span class="branchtag" title="{name}">{name}</span> '
170 inbranchtag = '<span class="inbranchtag" title="{name}">{name}</span> '
171 shortlogentry = '
172 <tr class="parity{parity}">
173 <td class="nowrap">{date|age}</td>
174 <td>{author|person}</td>
175 <td>
176 <a href="{url}rev/{node|short}{sessionvars%urlparameter}">
177 {desc|strip|firstline|escape|nonempty}
178 <span class="logtags">{inbranch%inbranchtag}{branches%branchtag}{tags%tagtag}</span>
179 </a>
180 </td>
181 <td class="nowrap">
182 <a href="{url}rev/{node|short}{sessionvars%urlparameter}">changeset</a> |
183 <a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a>
184 </td>
185 </tr>'
186 filelogentry = '
187 <tr class="parity{parity}">
188 <td class="nowrap">{date|age}</td>
189 <td><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{desc|strip|firstline|escape|nonempty}</a></td>
190 <td class="nowrap">
191 <a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">file</a>&nbsp;|&nbsp;<a href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">diff</a>&nbsp;|&nbsp;<a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">annotate</a>
192 {rename%filelogrename}
193 </td>
194 </tr>'
195 archiveentry = '<li><a href="{url}archive/{node|short}{extension}">{type|escape}</a></li>'
196 indexentry = '
197 <tr class="parity{parity}">
198 <td><a href="{url}{sessionvars%urlparameter}">{name|escape}</a></td>
199 <td>{description}</td>
200 <td>{contact|obfuscate}</td>
201 <td>{lastchange|age}</td>
202 <td class="indexlinks">{archives%indexarchiveentry}</td>
203 <td>
204 <div class="rss_logo">
205 <a href="{url}rss-log">RSS</a>
206 <a href="{url}atom-log">Atom</a>
207 </div>
208 </td>
209 </tr>\n'
210 indexarchiveentry = '<a href="{url}archive/{node|short}{extension}">{type|escape}</a> '
211 index = index.tmpl
212 urlparameter = '{separator}{name}={value|urlescape}'
213 hiddenformentry = '<input type="hidden" name="{name}" value="{value|escape}" />'
214 graph = graph.tmpl
@@ -0,0 +1,39 b''
1 {header}
2 <title>{repo|escape}: Mercurial repository not found</title>
3 <link rel="alternate" type="application/atom+xml" href="{url}atom-log" title="Atom feed for {repo|escape}"/>
4 <link rel="alternate" type="application/rss+xml" href="{url}rss-log" title="RSS feed for {repo|escape}"/>
5 </head>
6
7 <body>
8 <div id="container">
9 <div class="page-header">
10 <h1>Not found: {repo|escape}</h1>
11
12 <div style="height: 50px">
13 </div>
14 </div>
15
16 <h2 class="no-link no-border">Not Found</h2>
17 <p class="normal">The specified repository "{repo|escape}" is unknown, sorry.</p>
18 <p class="normal">Please go back to the <a href="{url}">main repository list page</a>.</p>
19
20 <div class="page-footer">
21 <p>Mercurial Repository: atom-log</p>
22 </div>
23
24 <div id="powered-by">
25 <p><a href="http://mercurial.selenic.com/" title="Mercurial"><img src="/hg_static/hglogo.png" width=75 height=90 border=0 alt="mercurial"></a></p>
26
27 </div>
28
29 <div id="corner-top-left"></div>
30 <div id="corner-top-right"></div>
31 <div id="corner-bottom-left"></div>
32 <div id="corner-bottom-right"></div>
33
34 </div>
35
36 </body>
37 </html>
38
39
@@ -0,0 +1,34 b''
1 {header}
2 <title>{repo|escape}: Search</title>
3 <link rel="alternate" type="application/atom+xml" href="{url}atom-log" title="Atom feed for {repo|escape}"/>
4 <link rel="alternate" type="application/rss+xml" href="{url}rss-log" title="RSS feed for {repo|escape}"/>
5 </head>
6
7 <body>
8 <div id="container">
9 <div class="page-header">
10 <h1><a href="/">Home</a> / <a href="{url}summary{sessionvars%urlparameter}">{repo|escape}</a> / search</h1>
11
12 <form action="{url}log">
13 {sessionvars%hiddenformentry}
14 <dl class="search">
15 <dt><label>Search: </label></dt>
16 <dd><input type="text" name="rev" value="{query|escape}" /></dd>
17 </dl>
18 </form>
19
20 <ul class="page-nav">
21 <li><a href="{url}summary{sessionvars%urlparameter}">summary</a></li>
22 <li><a href="{url}shortlog{sessionvars%urlparameter}">shortlog</a></li>
23 <li><a href="{url}log{sessionvars%urlparameter}">changelog</a></li>
24 <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
25 <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
26 <li><a href="{url}branches{sessionvars%urlparameter}">branches</a></li>
27 <li><a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a>{archives%archiveentry}
28 </ul>
29 </div>
30
31 <h2 class="no-link no-border">searching for {query|escape}</h2>
32 {entries}
33
34 {footer}
@@ -0,0 +1,41 b''
1 {header}
2 <title>{repo|escape}: shortlog</title>
3 <link rel="alternate" type="application/atom+xml" href="{url}atom-log" title="Atom feed for {repo|escape}"/>
4 <link rel="alternate" type="application/rss+xml" href="{url}rss-log" title="RSS feed for {repo|escape}"/>
5 </head>
6
7 <body>
8 <div id="container">
9 <div class="page-header">
10 <h1><a href="/">Home</a> / <a href="{url}summary{sessionvars%urlparameter}">{repo|escape}</a> / shortlog</h1>
11
12 <form action="{url}log">
13 {sessionvars%hiddenformentry}
14 <dl class="search">
15 <dt><label>Search: </label></dt>
16 <dd><input type="text" name="rev" /></dd>
17 </dl>
18 </form>
19
20 <ul class="page-nav">
21 <li><a href="{url}summary{sessionvars%urlparameter}">summary</a></li>
22 <li class="current">shortlog</li>
23 <li><a href="{url}log{sessionvars%urlparameter}">changelog</a></li>
24 <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
25 <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
26 <li><a href="{url}branches{sessionvars%urlparameter}">branches</a></li>
27 <li><a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a>{archives%archiveentry}</li>
28 </ul>
29 </div>
30
31 <h2 class="no-link no-border">shortlog</h2>
32
33 <table>
34 {entries%shortlogentry}
35 </table>
36
37 <div class="page-path">
38 {changenav%navshortentry}
39 </div>
40
41 {footer}
@@ -0,0 +1,66 b''
1 {header}
2 <title>{repo|escape}: Summary</title>
3 <link rel="alternate" type="application/atom+xml" href="{url}atom-log" title="Atom feed for {repo|escape}"/>
4 <link rel="alternate" type="application/rss+xml" href="{url}rss-log" title="RSS feed for {repo|escape}"/>
5 </head>
6
7 <body>
8 <div id="container">
9 <div class="page-header">
10 <h1><a href="/">Home</a> / <a href="{url}summary{sessionvars%urlparameter}">{repo|escape}</a> / summary</h1>
11
12 <form action="{url}log">
13 {sessionvars%hiddenformentry}
14 <dl class="search">
15 <dt><label>Search: </label></dt>
16 <dd><input type="text" name="rev" /></dd>
17 </dl>
18 </form>
19
20 <ul class="page-nav">
21 <li class="current">summary</li>
22 <li><a href="{url}shortlog{sessionvars%urlparameter}">shortlog</a></li>
23 <li><a href="{url}log{sessionvars%urlparameter}">changelog</a></li>
24 <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
25 <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
26 <li><a href="{url}branches{sessionvars%urlparameter}">branches</a></li>
27 <li><a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a></li>
28 </ul>
29 </div>
30
31 <h2 class="no-link no-border">Mercurial Repository Overview</h2>
32 <dl class="overview">
33 <dt>name</dt>
34 <dd>{repo|escape}</dd>
35 <dt>description</dt>
36 <dd>{desc}</dd>
37 <dt>owner</dt>
38 <dd>{owner|obfuscate}</dd>
39 <dt>last change</dt>
40 <dd>{lastchange|rfc822date}</dd>
41 </dl>
42
43 <h2><a href="{url}shortlog{sessionvars%urlparameter}">Changes</a></h2>
44 <table>
45 {shortlog}
46 <tr class="light">
47 <td colspan="4"><a class="list" href="{url}shortlog{sessionvars%urlparameter}">...</a></td>
48 </tr>
49 </table>
50
51 <h2><a href="{url}tags{sessionvars%urlparameter}">Tags</a></h2>
52 <table>
53 {tags}
54 <tr class="light">
55 <td colspan="3"><a class="list" href="{url}tags{sessionvars%urlparameter}">...</a></td>
56 </tr>
57 </table>
58
59 <h2 class="no-link">Branches</h2>
60 <table>
61 {branches%branchentry}
62 <tr class="light">
63 <td colspan="4"><a class="list" href="#">...</a></td>
64 </tr>
65 </table>
66 {footer}
@@ -0,0 +1,36 b''
1 {header}
2 <title>{repo|escape}: Tags</title>
3 <link rel="alternate" type="application/atom+xml" href="{url}atom-log" title="Atom feed for {repo|escape}"/>
4 <link rel="alternate" type="application/rss+xml" href="{url}rss-log" title="RSS feed for {repo|escape}"/>
5 </head>
6
7 <body>
8 <div id="container">
9 <div class="page-header">
10 <h1><a href="/">Home</a> / <a href="{url}summary{sessionvars%urlparameter}">{repo|escape}</a> / Tags</h1>
11
12 <form action="{url}log">
13 {sessionvars%hiddenformentry}
14 <dl class="search">
15 <dt><label>Search: </label></dt>
16 <dd><input type="text" name="rev" /></dd>
17 </dl>
18 </form>
19
20 <ul class="page-nav">
21 <li><a href="{url}summary{sessionvars%urlparameter}">summary</a></li>
22 <li><a href="{url}shortlog{sessionvars%urlparameter}">shortlog</a></li>
23 <li><a href="{url}changelog{sessionvars%urlparameter}">changelog</a></li>
24 <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
25 <li class="current">tags</li>
26 <li><a href="{url}branches{sessionvars%urlparameter}">branches</a></li>
27 <li><a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a></li>
28 </ul>
29 </div>
30
31 <h2 class="no-link no-border">tags</h2>
32 <table cellspacing="0">
33 {entries%tagentry}
34 </table>
35
36 {footer}
@@ -0,0 +1,31 b''
1 {header}
2 <div id="container">
3 <div class="page-header">
4 <h1><a href="{url}summary{sessionvars%urlparameter}">{repo|escape}</a> / changelog</h1>
5
6 <ul class="object-tools">
7 <li><a href="{url}summary{sessionvars%urlparameter}">summary</a></li>
8 <li><a href="{url}shortlog{sessionvars%urlparameter}">shortlog</a></li>
9 <li class="current"><a href="{url}log{sessionvars%urlparameter}">changelog</a></li>
10 <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
11 <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
12 <li><a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a></li>
13 </ul>
14 <br class="clear"/>
15 <ul class="object-tools" style="margin-top:-2em">
16 <li class="current"><a href="{url}rev/{node|short}">changeset</a></li>
17 <li><a href="{url}raw-rev/{node|short}">raw</a> </li>
18 {archives%archiveentry}
19 </ul>
20 </div>
21
22 <div class="module">
23 <h2>changelog</h2>
24 {entries%changelogentry}
25 </div>
26
27 <div class="page-path">
28 {changenav%naventry}
29 </div>
30
31 {footer}
@@ -0,0 +1,4 b''
1 <h3 class="changelog"><a class="title" href="{url}rev/{node|short}{sessionvars%urlparameter}">{desc|strip|firstline|escape}<span class="logtags"> {inbranch%inbranchtag}{branches%branchtag}{tags%tagtag}</span></a></h3>
2 <h4>{date|age} ago, by {author|obfuscate} [{date|rfc822date}] rev {rev}</h4>
3 <p>{desc|strip|escape|addbreaks}</p>
4 <hr/>
@@ -0,0 +1,50 b''
1 {header}
2 <div id="container">
3 <div class="page-header">
4 <h1><a href="{url}summary{sessionvars%urlparameter}">{repo|escape}</a> / files</h1>
5
6 <ul class="object-tools">
7 <li><a href="{url}summary{sessionvars%urlparameter}">summary</a></li>
8 <li><a href="{url}shortlog{sessionvars%urlparameter}">shortlog</a></li>
9 <li><a href="{url}changelog{sessionvars%urlparameter}">changelog</a></li>
10 <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
11 <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
12 <li><a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a></li>
13 </ul>
14 <br class="clear"/>
15 <ul class="object-tools" style="margin-top:-2em">
16 <li class="current"><a href="{url}rev/{node|short}">changeset</a></li>
17 <li><a href="{url}raw-rev/{node|short}">raw</a></li>
18 {archives%archiveentry}
19 </ul>
20 </div>
21
22
23
24 <div class="module">
25 <h2 class="no-link no-border">changeset</h2>
26
27 <h3 class="changeset"><a href="{url}raw-rev/{node|short}">{desc|strip|escape|firstline} <span class="logtags">{inbranch%inbranchtag}{branches%branchtag}{tags%tagtag}</span></a>, <span>{date|age} ago</span></h3>
28
29 <dl class="overview">
30 <dt>author</dt>
31 <dd>{author|obfuscate}</dd>
32 <dt>date</dt>
33 <dd>{date|date}</dd>
34 {branch%changesetbranch}
35 <dt>changeset {rev}</dt>
36 <dd>{node|short}</dd>
37 {parent%changesetparent}
38 {child%changesetchild}
39 </dl>
40
41 <pre class="description">{desc|strip|escape|addbreaks}</pre>
42
43 <table>
44 {files}
45 </table>
46
47 {diff}
48
49 </div>
50 {footer}
@@ -0,0 +1,33 b''
1 {header}
2 <title>{repo|escape}: Error</title>
3 <link rel="alternate" type="application/atom+xml" href="{url}atom-log" title="Atom feed for {repo|escape}"/>
4 <link rel="alternate" type="application/rss+xml" href="{url}rss-log" title="RSS feed for {repo|escape}"/>
5 </head>
6
7 <body>
8 <div id="container">
9 <div class="page-header">
10 <h1><a href="{url}summary{sessionvars%urlparameter}">{repo|escape}</a> / Not found: {repo|escape}</h1>
11
12 <form action="{url}log">
13 {sessionvars%hiddenformentry}
14 <dl class="search">
15 <dt><label>Search: </label></dt>
16 <dd><input type="text" name="rev" /></dd>
17 </dl>
18 </form>
19
20 <ul class="page-nav">
21 <li class="current">summary</li>
22 <li><a href="{url}shortlog{sessionvars%urlparameter}">shortlog</a></li>
23 <li><a href="{url}log{sessionvars%urlparameter}">changelog</a></li>
24 <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
25 <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
26 <li><a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a></li>
27 </ul>
28 </div>
29
30 <h2 class="no-link no-border">An error occurred while processing your request</h2>
31 <p class="normal">{error|escape}</p>
32
33 {footer}
@@ -0,0 +1,53 b''
1 {header}
2 <div id="container">
3 <div class="page-header">
4 <h1><a href="{url}summary{sessionvars%urlparameter}">{repo|escape}</a> / annotate</h1>
5
6 <ul class="object-tools">
7 <li><a href="{url}summary{sessionvars%urlparameter}">summary</a></li>
8 <li><a href="{url}shortlog{sessionvars%urlparameter}">shortlog</a></li>
9 <li><a href="{url}log{sessionvars%urlparameter}">changelog</a></li>
10 <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
11 <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
12 <li><a href="{url}file/{node|short}{path|urlescape}{sessionvars%urlparameter}">files</a></li>
13 </ul>
14 <br class="clear"/>
15 <ul class="object-tools" style="margin-top:-2em">
16 <li><a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">file</a></li>
17 <li><a href="{url}log/{node|short}/{file|urlescape}{sessionvars%urlparameter}">revisions</a></li>
18 <li class="current"><a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">annotate</a></li>
19 <li><a href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">diff</a></li>
20 <li><a href="{url}raw-annotate/{node|short}/{file|urlescape}">raw</a></li>
21 </ul>
22 </div>
23
24
25
26 <div class="module">
27 <h2 class="no-link no-border">{file|escape}@{node|short}, <span>{date|age} ago</span> (annotated)</h2>
28 <h3 class="changeset">{file|escape}</h3>
29
30 <dl class="overview">
31 <dt>author</dt>
32 <dd>{author|obfuscate}</dd>
33 <dt>date</dt>
34 <dd>{date|date}</dd>
35 {branch%filerevbranch}
36 <dt>changeset {rev}</dt>
37 <dd><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></dd>
38 {parent%fileannotateparent}
39 {child%fileannotatechild}
40 <dt>permissions</dt>
41 <dd>{permissions|permissions}</dd>
42 </dl>
43
44 <pre class="description">{desc|strip|escape|addbreaks}</pre>
45
46 <table class="module" width="100%";>
47 <thead>
48 <tr><th>user</th><th></th><th></th></tr>
49 </thead>
50 {annotate%annotateline}
51 </table>
52 </div>
53 {footer}
@@ -0,0 +1,38 b''
1 {header}
2 <div id="container">
3 <div class="page-header">
4 <h1><a href="{url}summary{sessionvars%urlparameter}">{repo|escape}</a> / file diff</h1>
5
6 <ul class="object-tools">
7 <li><a href="{url}summary{sessionvars%urlparameter}">summary</a></li>
8 <li><a href="{url}shortlog{sessionvars%urlparameter}">shortlog</a></li>
9 <li><a href="{url}log{sessionvars%urlparameter}">changelog</a></li>
10 <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
11 <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
12 <li><a href="{url}file/{node|short}{path|urlescape}{sessionvars%urlparameter}">files</a></li>
13 </ul>
14 <br class="clear"/>
15 <ul class="object-tools" style="margin-top:-2em">
16 <li><a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">file</a></li>
17 <li><a href="{url}log/{node|short}/{file|urlescape}{sessionvars%urlparameter}">revisions</a></li>
18 <li><a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">annotate</a></li>
19 <li class="current"><a href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">diff</a></li>
20 <li><a href="{url}raw-diff/{node|short}/{file|urlescape}">raw</a></li>
21 </ul>
22 </div>
23
24 <div class="module">
25 <h2 class="no-link no-border">diff: {file|escape}</h2>
26 <h3 class="changeset">{file|escape}</h3>
27
28 <dl class="overview">
29 {branch%filerevbranch}
30 <dt>changeset {rev}</dt>
31 <dd><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></dd>
32 {parent%filediffparent}
33 {child%filediffchild}
34 </dl>
35
36 {diff}
37 </div>
38 {footer}
@@ -0,0 +1,44 b''
1 {header}
2 <div id="container">
3 <div class="page-header">
4 <h1><a href="{url}summary{sessionvars%urlparameter}">{repo|escape}</a> / file revisions</h1>
5
6 <ul class="object-tools">
7 <li><a href="{url}summary{sessionvars%urlparameter}">summary</a></li>
8 <li><a href="{url}shortlog{sessionvars%urlparameter}">shortlog</a></li>
9 <li><a href="{url}log{sessionvars%urlparameter}">changelog</a></li>
10 <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
11 <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
12 <li><a href="{url}file/{node|short}{path|urlescape}{sessionvars%urlparameter}">files</a></li>
13 </ul>
14 <br class="clear"/>
15 <ul class="object-tools" style="margin-top:-2em">
16 <li><a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">file</a></li>
17 <li class="current"><a href="{url}log/{node|short}/{file|urlescape}{sessionvars%urlparameter}">revisions</a></li>
18 <li><a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">annotate</a></li>
19 <li><a href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">diff</a></li>
20 <li><a href="{url}rss-log/{node|short}/{file|urlescape}">rss</a></li>
21 </ul>
22 </div>
23
24
25 <table class="module">
26 <caption class="no-link no-border">{file|urlescape}</caption>
27 <thead>
28 <tr>
29 <th>ago</th>
30 <th>message</th>
31 <th></th>
32 </tr>
33 </thead>
34 <tbody>
35 {entries%filelogentry}
36 </tbody>
37 </table>
38 </div>
39
40 <div class="page-path">
41 {nav%filenaventry}
42 </div>
43
44 {footer}
@@ -0,0 +1,59 b''
1 {header}
2 <div id="container">
3 <div class="page-header">
4 <h1><a href="{url}summary{sessionvars%urlparameter}">{repo|escape}</a> / file revision</h1>
5
6 <ul class="object-tools">
7 <li><a href="{url}summary{sessionvars%urlparameter}">summary</a></li>
8 <li><a href="{url}shortlog{sessionvars%urlparameter}">shortlog</a></li>
9 <li><a href="{url}changelog{sessionvars%urlparameter}">changelog</a></li>
10 <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
11 <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
12 <li><a href="{url}file/{node|short}{path|urlescape}{sessionvars%urlparameter}">files</a></li>
13 </ul>
14 <br class="clear"/>
15 <ul class="object-tools" style="margin-top:-2em">
16 <li class="current"><a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">file</a></li>
17 <li><a href="{url}log/{node|short}/{file|urlescape}{sessionvars%urlparameter}">revisions</a></li>
18 <li><a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">annotate</a></li>
19 <li><a href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">diff</a></li>
20 <li><a href="{url}raw-file/{node|short}/{file|urlescape}">raw</a></li>
21 </ul>
22 </div>
23
24 <div class="module">
25 <h2 class="no-link no-border">{file|escape}@{node|short}, <span>{date|age} ago</span></h2>
26 <h3 class="changeset">{file|escape}</h3>
27
28 <dl class="overview ">
29 <dt>author</dt>
30 <dd>{author|obfuscate}</dd>
31 <dt>date</dt>
32 <dd>{date|date}</dd>
33 {branch%filerevbranch}
34 <dt>changeset {rev}</dt>
35 <dd><a class="list" href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></dd>
36 {parent%filerevparent}
37 {child%filerevchild}
38 <dt>permissions</dt>
39 <dd>{permissions|permissions}</dd>
40 </dl>
41
42 <div class="source">
43 <pre class="description">{desc|strip|escape|addbreaks}</pre>
44 <table style="width:100%; class="module">
45 <thead>
46 <tr>
47 <th style="width: 10px">#</th>
48 <th> </th>
49 </tr>
50 </thead>
51 <tbody>
52 {text%fileline}
53 </tbody>
54 </table>
55 </div>
56
57 </div>
58
59 {footer}
@@ -0,0 +1,11 b''
1 <div class="page-footer">
2 <p>
3 Mercurial Repository: {repo|escape}
4 </p>
5 <ul class="object-tools">
6 <li><a href="{url}rss-log">RSS</a></li>
7 <li><a href="{url}atom-log">Atom</a></li>
8 <li><a href="http://www.selenic.com/mercurial/" title="Mercurial">Powered by Mercurial</a></li>
9 </ul>
10 {motd}
11 </div>
@@ -0,0 +1,103 b''
1 {header}
2 <!--[if IE]><script type="text/javascript" src="{staticurl}excanvas.js"></script><![endif]-->
3 <div id="container">
4 <div class="page-header">
5 <h1><a href="{url}summary{sessionvars%urlparameter}">{repo|escape}</a> / graph</h1>
6
7 <ul class="object-tools">
8 <li><a href="{url}summary{sessionvars%urlparameter}">summary</a></li>
9 <li><a href="{url}shortlog{sessionvars%urlparameter}">shortlog</a></li>
10 <li><a href="{url}changelog{sessionvars%urlparameter}">changelog</a></li>
11 <li class="current"><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
12 <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
13 <li><a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a></li>
14 </ul>
15 </div>
16
17
18 <div id="noscript">The revision graph only works with JavaScript-enabled browsers.</div>
19 <div id="wrapper">
20 <ul id="nodebgs"></ul>
21 <canvas id="graph" width="224" height="{canvasheight}"></canvas>
22 <ul id="graphnodes"></ul>
23 <div>
24 </div>
25
26 <script type="text/javascript" src="{staticurl}graph.js"></script>
27 <script>
28 <!-- hide script content
29
30 document.getElementById('noscript').style.display = 'none';
31
32 var data = {jsdata|json};
33 var graph = new Graph();
34 graph.scale({bg_height});
35
36 graph.edge = function(x0, y0, x1, y1, color) {
37
38 this.setColor(color, 0.0, 0.65);
39 this.ctx.beginPath();
40 this.ctx.moveTo(x0, y0);
41 this.ctx.lineTo(x1, y1);
42 this.ctx.stroke();
43
44 }
45
46 var revlink = '<li style="_STYLE"><span class="desc">';
47 revlink += '<a href="{url}rev/_NODEID{sessionvars%urlparameter}" title="_NODEID">_DESC</a>';
48 revlink += '</span>_TAGS<span class="info">_DATE ago, by _USER</span></li>';
49
50 graph.vertex = function(x, y, color, parity, cur) {
51
52 this.ctx.beginPath();
53 color = this.setColor(color, 0.25, 0.75);
54 this.ctx.arc(x, y, radius, 0, Math.PI * 2, true);
55 this.ctx.fill();
56
57 var bg = '<li class="bg parity' + parity + '"></li>';
58 var left = (this.columns + 1) * this.bg_height;
59 var nstyle = 'padding-left: ' + left + 'px;';
60 var item = revlink.replace(/_STYLE/, nstyle);
61 item = item.replace(/_PARITY/, 'parity' + parity);
62 item = item.replace(/_NODEID/, cur[0]);
63 item = item.replace(/_NODEID/, cur[0]);
64 item = item.replace(/_DESC/, cur[3]);
65 item = item.replace(/_USER/, cur[4]);
66 item = item.replace(/_DATE/, cur[5]);
67
68 var tagspan = '';
69 if (cur[7].length || (cur[6][0] != 'default' || cur[6][1])) {
70 tagspan = '<span class="logtags">';
71 if (cur[6][1]) {
72 tagspan += '<span class="branchtag" title="' + cur[6][0] + '">';
73 tagspan += cur[6][0] + '</span> ';
74 } else if (!cur[6][1] && cur[6][0] != 'default') {
75 tagspan += '<span class="inbranchtag" title="' + cur[6][0] + '">';
76 tagspan += cur[6][0] + '</span> ';
77 }
78 if (cur[7].length) {
79 for (var t in cur[7]) {
80 var tag = cur[7][t];
81 tagspan += '<span class="tagtag">' + tag + '</span> ';
82 }
83 }
84 tagspan += '</span>';
85 }
86
87 item = item.replace(/_TAGS/, tagspan);
88 return [bg, item];
89
90 }
91
92 graph.render(data);
93
94 // stop hiding script -->
95 </script>
96
97 <div class="page-path">
98 <a href="{url}graph/{rev}{lessvars%urlparameter}">less</a>
99 <a href="{url}graph/{rev}{morevars%urlparameter}">more</a>
100 | {changenav%navgraphentry}
101 </div>
102
103 {footer}
@@ -0,0 +1,1 b''
1
@@ -0,0 +1,29 b''
1 {header}
2 <div id="container">
3 <div class="page-header">
4 <h1>Mercurial Repositories</h1>
5 </div>
6
7 <table cellspacing="0">
8 <tr>
9 <td><a href="?sort={sort_name}">Name</a></td>
10 <td><a href="?sort={sort_description}">Description</a></td>
11 <td><a href="?sort={sort_contact}">Contact</a></td>
12 <td><a href="?sort={sort_lastchange}">Last change</a></td>
13 <td>&nbsp;</td>
14 <td>&nbsp;</td>
15 </tr>
16 {entries%indexentry}
17 </table>
18 <div class="page-footer">
19 {motd}
20 </div>
21
22 <div id="powered-by">
23 <p><a href="http://www.selenic.com/mercurial/" title="Mercurial"><img src="{staticurl}hglogo.png" width=75 height=90 border=0 alt="mercurial"></a></p>
24 </div>
25 <div id="corner-top-left"></div>
26 <div id="corner-top-right"></div>
27 <div id="corner-bottom-left"></div>
28 <div id="corner-bottom-right"></div>
29 </div>
@@ -0,0 +1,48 b''
1 {header}
2 <div id="container">
3 <div class="page-header">
4 <h1><a href="{url}summary{sessionvars%urlparameter}">{repo|escape}</a> / files</h1>
5
6 <ul class="object-tools">
7 <li><a href="{url}summary{sessionvars%urlparameter}">summary</a></li>
8 <li><a href="{url}shortlog{sessionvars%urlparameter}">shortlog</a></li>
9 <li><a href="{url}changelog{sessionvars%urlparameter}">changelog</a></li>
10 <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
11 <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
12 <li class="current"><a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a></li>
13 </ul>
14 <br class="clear"/>
15 <ul class="object-tools" style="margin-top:-2em">
16 <li><a href="{url}rev/{node|short}{sessionvars%urlparameter}">changeset</a></li>
17 {archives%archiveentry}
18 </ul>
19 </div>
20
21 <div class="module">
22 <h2>files</h2>
23 <div class="breadcrumbs">{path|escape} <span class="logtags" style="color:#000000">{inbranch%inbranchtag}{branches%branchtag}{tags%tagtag}</span></div>
24 <table width="100%" cellspacing="0">
25 <thead>
26 <tr>
27 <th width="120px">perms</th>
28 <th width="150px">modified</th>
29 <th width="60px">size</th>
30 <th></th>
31 <th width="120px">&nbsp;</th>
32 </tr>
33 </thead>
34 <tbody>
35 <tr class="row#upparity#">
36 <td>drwxr-xr-x</td>
37 <td></td>
38 <td></td>
39 <td><a href="{url}file/{node|short}{up|urlescape}{sessionvars%urlparameter}">[up]</a></td>
40 <td class="link">&nbsp;</td>
41 </tr>
42 {dentries%direntry}
43 {fentries%fileentry}
44 </tbody>
45 </table>
46 </div
47
48 {footer}
@@ -0,0 +1,66 b''
1 default = 'summary'
2 mimetype = 'text/html; charset={encoding}'
3 header = header.tmpl
4 footer = footer.tmpl
5 search = search.tmpl
6 changelog = changelog.tmpl
7 summary = summary.tmpl
8 error = error.tmpl
9 notfound = notfound.tmpl
10 naventry = '<a href="{url}log/{node|short}{sessionvars%urlparameter}">{label|escape}</a> '
11 navshortentry = '<a href="{url}shortlog/{node|short}{sessionvars%urlparameter}">{label|escape}</a> '
12 navgraphentry = '<a href="{url}graph/{node|short}{sessionvars%urlparameter}">{label|escape}</a> '
13 filenaventry = '<a href="{url}log/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{label|escape}</a>'
14 filedifflink = '<a href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{file|escape}</a> '
15 filenodelink = '<tr class="parity{parity}"><td><a href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{file|escape}</a></td><td></td><td><a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">file</a> | <a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">annotate</a> | <a href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">diff</a> | <a href="{url}log/{node|short}/{file|urlescape}{sessionvars%urlparameter}">revisions</a></td></tr>'
16 filenolink = '<tr class="parity{parity}"><td><a href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{file|escape}</a></td><td></td><td>file | annotate | <a href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">diff</a> | <a href="{url}log/{node|short}/{file|urlescape}{sessionvars%urlparameter}">revisions</a></td></tr>'
17 fileellipses = '...'
18 changelogentry = changelogentry.tmpl
19 searchentry = changelogentry.tmpl
20 changeset = changeset.tmpl
21 manifest = manifest.tmpl
22 direntry = '<tr class="row{parity}"><td>drwxr-xr-x</td><td></td><td></td><td><a href="{url}file/{node|short}{path|urlescape}{sessionvars%urlparameter}">{basename|escape}</a></td><td><a href="{url}file/{node|short}{path|urlescape}{sessionvars%urlparameter}">files</a></td></tr>'
23 fileentry = '<tr class="row{parity}"><td>{permissions|permissions}</td><td>{date|isodate}</td><td>{size}</td><td><a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{basename|escape}</a></td><td><a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">file</a> | <a href="{url}log/{node|short}/{file|urlescape}{sessionvars%urlparameter}">revisions</a> | <a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">annotate</a></td></tr>'
24 filerevision = filerevision.tmpl
25 fileannotate = fileannotate.tmpl
26 filediff = filediff.tmpl
27 filelog = filelog.tmpl
28 fileline = '<tr class="row{parity}"><td class="linenr"><a class="linenr" href="#{lineid}" id="{lineid}">{linenumber}</a></td><td class="source">{line|escape}</td></tr>'
29 annotateline = '<tr class="row{parity}"><td class="linenr"><a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}#{targetline}" title="{node|short}: {desc|escape|firstline}">{author|user}@{rev}</a></td><td class="linenr"><a href="#{lineid}" id="{lineid}">{linenumber}</a></td><td class="source">{line|escape}</td></tr>'
30 difflineplus = '<span style="color:#008800;"><a href="#{lineid}" id="{lineid}">{linenumber}</a> {line|escape}</span>'
31 difflineminus = '<span style="color:#cc0000;"><a href="#{lineid}" id="{lineid}">{linenumber}</a> {line|escape}</span>'
32 difflineat = '<span style="color:#990099;"><a href="#{lineid}" id="{lineid}">{linenumber}</a> {line|escape}</span>'
33 diffline = '<span><a href="#{lineid}" id="{lineid}">{linenumber}</a> {line|escape}</span>'
34 changelogparent = '<tr><th class="parent">parent {rev}:</th><td class="parent"><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td></tr>'
35 changesetbranch = '<dt>branch</dt><dd>{name}</dd>'
36 changesetparent = '<dt>parent {rev}</dt><dd><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></dd>'
37 filerevbranch = '<dt>branch</dt><dd>{name}</dd>'
38 filerevparent = '<dt>parent {rev}</dt><dd><a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{rename%filerename}{node|short}</a></dd>'
39 filerename = '{file|escape}@'
40 filelogrename = '| <a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">base</a>'
41 fileannotateparent = '<dt>parent {rev}</dt><dd><a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{rename%filerename}{node|short}</a></dd>'
42 changelogchild = '<dt>child {rev}:</dt><dd><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></dd>'
43 changesetchild = '<dt>child {rev}</dt><dd><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></dd>'
44 filerevchild = '<dt>child {rev}</dt><dd><a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></dd>'
45 fileannotatechild = '<dt>child {rev}</dt><dd><a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></dd>'
46 tags = tags.tmpl
47 tagentry = '<tr class="parity{parity}"><td class="nowrap">{date|age} ago</td><td><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{tag|escape}</a></td><td class="nowrap"><a href="{url}rev/{node|short}{sessionvars%urlparameter}">changeset</a> | <a href="{url}log/{node|short}{sessionvars%urlparameter}">changelog</a> | <a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a></td></tr>'
48 branchentry = '<tr class="row{parity}"><td class="nowrap">{date|age} ago</td><td><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td><td>{branch|escape}</td><td class="nowrap"><a href="{url}rev/{node|short}{sessionvars%urlparameter}">changeset</a> | <a href="{url}log/{node|short}{sessionvars%urlparameter}">changelog</a> | <a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a></td></tr>'
49 diffblock = '<pre>{lines}</pre>'
50 filediffparent = '<dt>parent {rev}</dt><dd><a href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></dd>'
51 filelogparent = '<tr><td align="right">parent {rev}:&nbsp;</td><td><a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></td></tr>'
52 filediffchild = '<tr><td>child {rev}</td><td style="font-family:monospace"><a href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></td></tr>'
53 filelogchild = '<tr><td align="right">child {rev}:&nbsp;</td><td><a href="{url}file{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></td></tr>'
54 shortlog = shortlog.tmpl
55 tagtag = '<span class="tagtag" title="{name}">{name}</span> '
56 branchtag = '<span class="branchtag" title="{name}">{name}</span> '
57 inbranchtag = '<span class="inbranchtag" title="{name}">{name}</span> '
58 shortlogentry = '<tr class="row{parity}"><td class="nowrap">{date|age} ago</td><td>{author|person}</td><td><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{desc|strip|firstline|escape} <span class="logtags">{inbranch%inbranchtag}{branches%branchtag}{tags%tagtag}</span></a></td><td class="nowrap"><a href="{url}rev/{node|short}{sessionvars%urlparameter}">changeset</a> | <a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a></td></tr>'
59 filelogentry = '<tr class="row{parity}"><td class="nowrap">{date|age} ago</td><td><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{desc|strip|firstline|escape}</a></td><td class="nowrap"><a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">file</a>&nbsp;|&nbsp;<a href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">diff</a>&nbsp;|&nbsp;<a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">annotate</a> {rename%filelogrename}</td></tr>'
60 archiveentry = '<li><a href="{url}archive/{node|short}{extension}">{type|escape}</a></li>'
61 indexentry = '<tr class="row{parity}"><td><a href="{url}{sessionvars%urlparameter}">{name|escape}</a></td><td>{description}</td><td>{contact|obfuscate}</td><td>{lastchange|age} ago</td><td class="indexlinks">{archives%indexarchiveentry}</td><td><div class="rss_logo"><a href="{url}rss-log">RSS</a> <a href="{url}atom-log">Atom</a></div></td></tr>\n'
62 indexarchiveentry = '<a href="{url}archive/{node|short}{extension}">{type|escape}</a> '
63 index = index.tmpl
64 urlparameter = '{separator}{name}={value|urlescape}'
65 hiddenformentry = '<input type="hidden" name="{name}" value="{value|escape}" />'
66 graph = graph.tmpl
@@ -0,0 +1,34 b''
1 {header}
2 <title>{repo|escape}: Mercurial repository not found</title>
3 <link rel="alternate" type="application/atom+xml" href="{url}atom-log" title="Atom feed for {repo|escape}"/>
4 <link rel="alternate" type="application/rss+xml" href="{url}rss-log" title="RSS feed for {repo|escape}"/>
5 </head>
6
7 <body>
8 <div id="container">
9 <div class="page-header">
10 <h1><a href="{url}summary{sessionvars%urlparameter}">{repo|escape}</a> / Not found: {repo|escape}</h1>
11
12 <form action="{url}log">
13 {sessionvars%hiddenformentry}
14 <dl class="search">
15 <dt><label>Search: </label></dt>
16 <dd><input type="text" name="rev" /></dd>
17 </dl>
18 </form>
19
20 <ul class="page-nav">
21 <li class="current">summary</li>
22 <li><a href="{url}shortlog{sessionvars%urlparameter}">shortlog</a></li>
23 <li><a href="{url}log{sessionvars%urlparameter}">changelog</a></li>
24 <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
25 <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
26 <li><a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a>{archives%archiveentry}</li>
27 </ul>
28 </div>
29
30 <h2 class="no-link no-border">Not Found</h2>
31 <p class="normal">The specified repository "{repo|escape}" is unknown, sorry.</p>
32 <p class="normal">Please go back to the <a href="{url}">main repository list page</a>.</p>
33
34 {footer}
@@ -0,0 +1,33 b''
1 {header}
2 <title>{repo|escape}: Search</title>
3 <link rel="alternate" type="application/atom+xml" href="{url}atom-log" title="Atom feed for {repo|escape}"/>
4 <link rel="alternate" type="application/rss+xml" href="{url}rss-log" title="RSS feed for {repo|escape}"/>
5 </head>
6
7 <body>
8 <div id="container">
9 <div class="page-header">
10 <h1><a href="{url}summary{sessionvars%urlparameter}">{repo|escape}</a> / search</h1>
11
12 <form action="{url}log">
13 {sessionvars%hiddenformentry}
14 <dl class="search">
15 <dt><label>Search: </label></dt>
16 <dd><input type="text" name="rev" value="{query|escape}" /></dd>
17 </dl>
18 </form>
19
20 <ul class="page-nav">
21 <li><a href="{url}summary{sessionvars%urlparameter}">summary</a></li>
22 <li><a href="{url}shortlog{sessionvars%urlparameter}">shortlog</a></li>
23 <li><a href="{url}log{sessionvars%urlparameter}">changelog</a></li>
24 <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
25 <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
26 <li><a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a>{archives%archiveentry}
27 </ul>
28 </div>
29
30 <h2 class="no-link no-border">searching for {query|escape}</h2>
31 {entries}
32
33 {footer}
@@ -0,0 +1,32 b''
1 {header}
2 <div id="container">
3 <div class="page-header">
4 <h1><a href="{url}summary{sessionvars%urlparameter}">{repo|escape}</a> / shortlog</h1>
5
6 <ul class="object-tools">
7 <li><a href="{url}summary{sessionvars%urlparameter}">summary</a></li>
8 <li class="current"><a href="{url}shortlog">shortlog</a></li>
9 <li><a href="{url}log{sessionvars%urlparameter}">changelog</a></li>
10 <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
11 <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
12 <li><a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a></li>
13 </ul>
14 <br class="clear"/>
15 <ul class="object-tools" style="margin-top:-2em">
16 <li class="current"><a href="{url}rev/{node|short}">changeset</a></li>
17 {archives%archiveentry}
18 </ul>
19 </div>
20
21 <div id="changelist" class="module">
22 <table cellspacing="0" id="changes_list">
23 <caption>shortlog</caption>
24 {entries%shortlogentry}
25 </table>
26 </div>
27
28 <div class="page-path">
29 {changenav%navshortentry}
30 </div>
31
32 {footer}
@@ -0,0 +1,94 b''
1 {header}
2 <div id="container">
3 <div class="page-header">
4 <h1><a href="{url}summary{sessionvars%urlparameter}">{repo|escape}</a> / summary</h1>
5
6 <ul class="object-tools">
7 <li class="current"><a href='{url}summary{sessionvars%urlparameter}'>summary</a></li>
8 <li><a href="{url}shortlog{sessionvars%urlparameter}">shortlog</a></li>
9 <li><a href="{url}log{sessionvars%urlparameter}">changelog</a></li>
10 <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
11 <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
12 <li><a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a></li>
13 </ul>
14 <br class="clear"/>
15 <ul class="object-tools" style="margin-top:-2em">
16 <li class="current"><a href="{url}rev/{node|short}">changeset</a></li>
17 {archives%archiveentry}
18 </ul>
19 </div>
20
21 <div class="module">
22 <h2 class="no-link no-border">Mercurial Repository Overview</h2>
23 <div style="float:right; margin:10px;">
24 <form action="{url}log">
25 {sessionvars%hiddenformentry}
26 <label>Search: </label>
27 <input type="text" name="rev" />
28 </form>
29 </div>
30 <dl class="overview">
31 <dt>name</dt>
32 <dd>{repo|escape}</dd>
33 <dt>description</dt>
34 <dd>{desc}</dd>
35 <dt>owner</dt>
36 <dd>{owner|obfuscate}</dd>
37 <dt>last change</dt>
38 <dd>{lastchange|rfc822date}</dd>
39 </dl>
40 </div>
41 <div id="changelist" class="module">
42 <table cellspacing="0" id="changes_list">
43 <caption>Changes</caption>
44 <thead>
45 <th width="10%">Age</th>
46 <th width="10%">Author</th>
47 <th width="60%">Message</th>
48 <th width="15%"> </th>
49 </thead>
50 <tbody>
51 {shortlog}
52 <tr class="light">
53 <td colspan="4"><a class="list" href="{url}shortlog{sessionvars%urlparameter}">...</a></td>
54 </tr>
55 </tbody>
56 </table>
57 </div>
58
59 <div id="changelist" class="module">
60 <table>
61 <caption>Tags</caption>
62 <thead>
63 <th>Age</th>
64 <th>Name</th>
65 <th> </th>
66 </thead>
67 <tbody>
68 {tags}
69 <tr class="light">
70 <td colspan="3"><a class="list" href="{url}tags{sessionvars%urlparameter}">...</a></td>
71 </tr>
72 </tbody>
73 </table>
74 </div>
75
76 <div id="changelist" class="module">
77 <table>
78 <caption>Branches</caption>
79 <thead>
80 <th>Ago </th>
81 <th>Rev</th>
82 <th>Name </th>
83 <th> </th>
84 </thead>
85 <tbody>
86 {branches%branchentry}
87 <tr class="light">
88 <td colspan="4"><a class="list" href="#">...</a></td>
89 </tr>
90 </tbody>
91 </table>
92 </div>
93 {footer}
94 </div>
@@ -0,0 +1,21 b''
1 {header}
2 <div id="container">
3 <div class="page-header">
4 <h1><a href="{url}summary{sessionvars%urlparameter}">{repo|escape}</a> / tags</h1>
5
6 <ul class="object-tools">
7 <li><a href="{url}summary{sessionvars%urlparameter}">summary</a></li>
8 <li><a href="{url}shortlog{sessionvars%urlparameter}">shortlog</a></li>
9 <li><a href="{url}changelog{sessionvars%urlparameter}">changelog</a></li>
10 <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
11 <li class="current"><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
12 <li><a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a></li>
13 </ul>
14 </div>
15
16 <table cellspacing="0" class="module">
17 <caption>tags</caption>
18 {entries%tagentry}
19 </table>
20
21 {footer}
@@ -26,7 +26,7 b' port = 5000'
26 [app:main]
26 [app:main]
27 use = egg:pylons_app
27 use = egg:pylons_app
28 full_stack = true
28 full_stack = true
29 static_files = false
29 static_files = true
30 lang=en
30 lang=en
31 cache_dir = %(here)s/data
31 cache_dir = %(here)s/data
32
32
@@ -11,9 +11,10 b' push_ssl = false'
11 contact = develop@etelko.pl
11 contact = develop@etelko.pl
12 allow_archive = gz zip bz2
12 allow_archive = gz zip bz2
13 allow_push = *
13 allow_push = *
14 style = gitweb
14 templates=/home/marcink/python_workspace/hg_app/pylons_app/templates/
15 style = monoblue_custom
15 pygments_style = trac
16 pygments_style = trac
16 staticurl = /static
17 staticurl = /hg_static/
17 baseurl = /
18 baseurl = /
18
19
19 [paths]
20 [paths]
@@ -1,7 +1,7 b''
1 #!/usr/bin/python
1 #!/usr/bin/python
2 # -*- coding: utf-8 -*-
2 # -*- coding: utf-8 -*-
3 import logging
3 import logging
4 from pylons_app.lib.base import BaseController
4 from pylons_app.lib.base import BaseController, render
5 from pylons import c, g, session, h, request
5 from pylons import c, g, session, h, request
6 from mako.template import Template
6 from mako.template import Template
7 from pprint import pprint
7 from pprint import pprint
@@ -20,27 +20,26 b' class HgController(BaseController):'
20 return g.hgapp(request.environ, self.start_response)
20 return g.hgapp(request.environ, self.start_response)
21
21
22 def add_repo(self, new_repo):
22 def add_repo(self, new_repo):
23 tmpl = u'''
23 c.staticurl = g.statics
24 <html>
24
25 <body>
26 %(msg)s%(new_repo)s!<br \>
27 <a href="/">repos</a>
28 </body>
29 </html>
30 '''
31 #extra check it can be add since it's the command
25 #extra check it can be add since it's the command
32 if new_repo == 'add':
26 if new_repo == 'add':
33 return [tmpl % ({'new_repo':'', 'msg':'you basstard ! this repo is a command'})]
27 c.msg = 'you basstard ! this repo is a command'
28 c.new_repo = ''
29 return render('add.html')
34
30
35 new_repo = new_repo.replace(" ", "_")
31 new_repo = new_repo.replace(" ", "_")
36 new_repo = new_repo.replace("-", "_")
32 new_repo = new_repo.replace("-", "_")
37
33
38 try:
34 try:
39 self._create_repo(new_repo)
35 self._create_repo(new_repo)
36 c.new_repo = new_repo
37 c.msg = 'added repo'
40 except Exception as e:
38 except Exception as e:
41 return [tmpl % ({'new_repo':' Exception when adding: ' + new_repo, 'msg':str(e)})]
39 c.new_repo = 'Exception when adding: %s' % new_repo
40 c.msg = str(e)
42
41
43 return [tmpl % ({'new_repo':new_repo, 'msg':'added repo: '})]
42 return render('add.html')
44
43
45 def _check_repo(self, repo_name):
44 def _check_repo(self, repo_name):
46 p = os.path.dirname(os.path.dirname(os.path.dirname(__file__)))
45 p = os.path.dirname(os.path.dirname(os.path.dirname(__file__)))
@@ -2,7 +2,10 b''
2 #uncomment the following if you want to serve a single repo
2 #uncomment the following if you want to serve a single repo
3 #from mercurial.hgweb.hgweb_mod import hgweb
3 #from mercurial.hgweb.hgweb_mod import hgweb
4 from mercurial.hgweb.hgwebdir_mod import hgwebdir
4 from mercurial.hgweb.hgwebdir_mod import hgwebdir
5 from mercurial import templater
5 from mercurial.hgweb.request import wsgiapplication
6 from mercurial.hgweb.request import wsgiapplication
7 from mercurial import ui, config
8 import os
6 class Globals(object):
9 class Globals(object):
7
10
8 """Globals acts as a container for objects available throughout the
11 """Globals acts as a container for objects available throughout the
@@ -21,7 +24,40 b' class Globals(object):'
21 #self.hgapp = self.make_web_app()
24 #self.hgapp = self.make_web_app()
22 self.hgapp = wsgiapplication(self.make_web_app)
25 self.hgapp = wsgiapplication(self.make_web_app)
23
26
27
24 def make_web_app(self):
28 def make_web_app(self):
25 repos = "hgwebdir.config"
29 repos = "hgwebdir.config"
26 hgwebapp = hgwebdir(repos)
30 baseui = ui.ui()
31 cfg = config.config()
32 cfg.read(repos)
33 paths = cfg.items('paths')
34 self.check_repo_dir(paths)
35 self.set_statics(cfg)
36
37 for k, v in cfg.items('web'):
38 baseui.setconfig('web', k, v)
39 #magic trick to make our custom template dir working
40 templater.path.append(cfg.get('web', 'templates', None))
41 hgwebapp = hgwebdir(paths, baseui = baseui)
27 return hgwebapp
42 return hgwebapp
43
44
45 def set_statics(self, cfg):
46 '''
47 set's the statics for use in mako templates
48 @param cfg:
49 '''
50 self.statics = cfg.get('web', 'staticurl', '/static')
51 if not self.statics.endswith('/'):
52 self.statics += '/'
53
54
55 def check_repo_dir(self, paths):
56 repos_path = paths[0][1].split('/')
57 if repos_path[-1] in ['*', '**']:
58 repos_path = repos_path[:-1]
59 if repos_path[0] != '/':
60 repos_path[0] = '/'
61 if not os.path.isdir(os.path.join(*repos_path)):
62 raise Exception('Not a valid repository in %s' % paths[0][1])
63
General Comments 0
You need to be logged in to leave comments. Login now