##// END OF EJS Templates
hgweb: improve colors for comparison page...
Matt Mackall -
r17243:106cdea0 stable
parent child Browse files
Show More
@@ -1,325 +1,325 b''
1 1 body {
2 2 margin: 0;
3 3 padding: 0;
4 4 background: black url(background.png) repeat-x;
5 5 font-family: sans-serif;
6 6 }
7 7
8 8 .container {
9 9 padding-right: 150px;
10 10 }
11 11
12 12 .main {
13 13 position: relative;
14 14 background: white;
15 15 padding: 2em;
16 16 border-right: 15px solid black;
17 17 border-bottom: 15px solid black;
18 18 }
19 19
20 20 #.main {
21 21 width: 98%;
22 22 }
23 23
24 24 .overflow {
25 25 width: 100%;
26 26 overflow: auto;
27 27 }
28 28
29 29 .menu {
30 30 background: #999;
31 31 padding: 10px;
32 32 width: 75px;
33 33 margin: 0;
34 34 font-size: 80%;
35 35 text-align: left;
36 36 position: fixed;
37 37 top: 27px;
38 38 left: auto;
39 39 right: 27px;
40 40 }
41 41
42 42 #.menu {
43 43 position: absolute !important;
44 44 top:expression(eval(document.body.scrollTop + 27));
45 45 }
46 46
47 47 .menu ul {
48 48 list-style: none;
49 49 padding: 0;
50 50 margin: 10px 0 0 0;
51 51 }
52 52
53 53 .menu li {
54 54 margin-bottom: 3px;
55 55 padding: 2px 4px;
56 56 background: white;
57 57 color: black;
58 58 font-weight: normal;
59 59 }
60 60
61 61 .menu li.active {
62 62 background: black;
63 63 color: white;
64 64 }
65 65
66 66 .menu img {
67 67 width: 75px;
68 68 height: 90px;
69 69 border: 0;
70 70 }
71 71
72 72 .menu a { color: black; display: block; }
73 73
74 74 .search {
75 75 position: absolute;
76 76 top: .7em;
77 77 right: 2em;
78 78 }
79 79
80 80 form.search div#hint {
81 81 display: none;
82 82 position: absolute;
83 83 top: 40px;
84 84 right: 0px;
85 85 width: 190px;
86 86 padding: 5px;
87 87 background: #ffc;
88 88 font-size: 70%;
89 89 border: 1px solid yellow;
90 90 -moz-border-radius: 5px; /* this works only in camino/firefox */
91 91 -webkit-border-radius: 5px; /* this is just for Safari */
92 92 }
93 93
94 94 form.search:hover div#hint { display: block; }
95 95
96 96 a { text-decoration:none; }
97 97 .age { white-space:nowrap; }
98 98 .date { white-space:nowrap; }
99 99 .indexlinks { white-space:nowrap; }
100 100 .parity0 { background-color: #f0f0f0; }
101 101 .parity1 { background-color: white; }
102 102 .plusline { color: green; }
103 103 .minusline { color: #dc143c; } /* crimson */
104 104 .atline { color: purple; }
105 105
106 106 .diffstat-file {
107 107 white-space: nowrap;
108 108 font-size: 90%;
109 109 }
110 110 .diffstat-total {
111 111 white-space: nowrap;
112 112 font-size: 90%;
113 113 }
114 114 .diffstat-graph {
115 115 width: 100%;
116 116 }
117 117 .diffstat-add {
118 118 background-color: green;
119 119 float: left;
120 120 }
121 121 .diffstat-remove {
122 122 background-color: red;
123 123 float: left;
124 124 }
125 125
126 126 .navigate {
127 127 text-align: right;
128 128 font-size: 60%;
129 129 margin: 1em 0;
130 130 }
131 131
132 132 .tag {
133 133 color: #999;
134 134 font-size: 70%;
135 135 font-weight: normal;
136 136 margin-left: .5em;
137 137 vertical-align: baseline;
138 138 }
139 139
140 140 .branchhead {
141 141 color: #000;
142 142 font-size: 80%;
143 143 font-weight: normal;
144 144 margin-left: .5em;
145 145 vertical-align: baseline;
146 146 }
147 147
148 148 ul#graphnodes .branchhead {
149 149 font-size: 75%;
150 150 }
151 151
152 152 .branchname {
153 153 color: #000;
154 154 font-size: 60%;
155 155 font-weight: normal;
156 156 margin-left: .5em;
157 157 vertical-align: baseline;
158 158 }
159 159
160 160 h3 .branchname {
161 161 font-size: 80%;
162 162 }
163 163
164 164 /* Common */
165 165 pre { margin: 0; }
166 166
167 167 h2 { font-size: 120%; border-bottom: 1px solid #999; }
168 168 h2 a { color: #000; }
169 169 h3 {
170 170 margin-top: -.7em;
171 171 font-size: 100%;
172 172 }
173 173
174 174 /* log and tags tables */
175 175 .bigtable {
176 176 border-bottom: 1px solid #999;
177 177 border-collapse: collapse;
178 178 font-size: 90%;
179 179 width: 100%;
180 180 font-weight: normal;
181 181 text-align: left;
182 182 }
183 183
184 184 .bigtable td {
185 185 vertical-align: top;
186 186 }
187 187
188 188 .bigtable th {
189 189 padding: 1px 4px;
190 190 border-bottom: 1px solid #999;
191 191 }
192 192 .bigtable tr { border: none; }
193 193 .bigtable .age { width: 6em; }
194 194 .bigtable .author { width: 12em; }
195 195 .bigtable .description { }
196 196 .bigtable .description .base { font-size: 70%; float: right; line-height: 1.66; }
197 197 .bigtable .node { width: 5em; font-family: monospace;}
198 198 .bigtable .lineno { width: 2em; text-align: right;}
199 199 .bigtable .lineno a { color: #999; font-size: smaller; font-family: monospace;}
200 200 .bigtable .permissions { width: 8em; text-align: left;}
201 201 .bigtable .size { width: 5em; text-align: right; }
202 202 .bigtable .annotate { text-align: right; }
203 203 .bigtable td.annotate { font-size: smaller; }
204 204 .bigtable td.source { font-size: inherit; }
205 205
206 206 .source, .sourcefirst, .sourcelast {
207 207 font-family: monospace;
208 208 white-space: pre;
209 209 padding: 1px 4px;
210 210 font-size: 90%;
211 211 }
212 212 .sourcefirst { border-bottom: 1px solid #999; font-weight: bold; }
213 213 .sourcelast { border-top: 1px solid #999; }
214 214 .source a { color: #999; font-size: smaller; font-family: monospace;}
215 215 .bottomline { border-bottom: 1px solid #999; }
216 216
217 217 .fileline { font-family: monospace; }
218 218 .fileline img { border: 0; }
219 219
220 220 .tagEntry .closed { color: #99f; }
221 221
222 222 /* Changeset entry */
223 223 #changesetEntry {
224 224 border-collapse: collapse;
225 225 font-size: 90%;
226 226 width: 100%;
227 227 margin-bottom: 1em;
228 228 }
229 229
230 230 #changesetEntry th {
231 231 padding: 1px 4px;
232 232 width: 4em;
233 233 text-align: right;
234 234 font-weight: normal;
235 235 color: #999;
236 236 margin-right: .5em;
237 237 vertical-align: top;
238 238 }
239 239
240 240 div.description {
241 241 border-left: 3px solid #999;
242 242 margin: 1em 0 1em 0;
243 243 padding: .3em;
244 244 white-space: pre;
245 245 font-family: monospace;
246 246 }
247 247
248 248 /* Graph */
249 249 div#wrapper {
250 250 position: relative;
251 251 border-top: 1px solid black;
252 252 border-bottom: 1px solid black;
253 253 margin: 0;
254 254 padding: 0;
255 255 }
256 256
257 257 canvas {
258 258 position: absolute;
259 259 z-index: 5;
260 260 top: -0.7em;
261 261 margin: 0;
262 262 }
263 263
264 264 ul#graphnodes {
265 265 position: absolute;
266 266 z-index: 10;
267 267 top: -1.0em;
268 268 list-style: none inside none;
269 269 padding: 0;
270 270 }
271 271
272 272 ul#nodebgs {
273 273 list-style: none inside none;
274 274 padding: 0;
275 275 margin: 0;
276 276 top: -0.7em;
277 277 }
278 278
279 279 ul#graphnodes li, ul#nodebgs li {
280 280 height: 39px;
281 281 }
282 282
283 283 ul#graphnodes li .info {
284 284 display: block;
285 285 font-size: 70%;
286 286 position: relative;
287 287 top: -3px;
288 288 }
289 289
290 290 /* Comparison */
291 291 .legend {
292 292 padding: 1.5% 0 1.5% 0;
293 293 }
294 294
295 295 .legendinfo {
296 296 border: 1px solid #999;
297 297 font-size: 80%;
298 298 text-align: center;
299 299 padding: 0.5%;
300 300 }
301 301
302 302 .equal {
303 303 background-color: #ffffff;
304 304 }
305 305
306 306 .delete {
307 background-color: black;
308 color: white;
307 background-color: #faa;
308 color: #333;
309 309 }
310 310
311 311 .insert {
312 background-color: #d0d0d0;
312 background-color: #ffa;
313 313 }
314 314
315 315 .replace {
316 background-color: #f9f9f9;
316 background-color: #e8e8e8;
317 317 }
318 318
319 319 .header {
320 320 text-align: center;
321 321 }
322 322
323 323 .block {
324 324 border-top: 1px solid #999;
325 325 }
@@ -1,168 +1,169 b''
1 1 body { font-family: sans-serif; font-size: 12px; margin:0px; border:solid #d9d8d1; border-width:1px; margin:10px; }
2 2 a { color:#0000cc; }
3 3 a:hover, a:visited, a:active { color:#880000; }
4 4 div.page_header { height:25px; padding:8px; font-size:18px; font-weight:bold; background-color:#d9d8d1; }
5 5 div.page_header a:visited { color:#0000cc; }
6 6 div.page_header a:hover { color:#880000; }
7 7 div.page_nav { padding:8px; }
8 8 div.page_nav a:visited { color:#0000cc; }
9 9 div.page_path { padding:8px; border:solid #d9d8d1; border-width:0px 0px 1px}
10 10 div.page_footer { padding:4px 8px; background-color: #d9d8d1; }
11 11 div.page_footer_text { float:left; color:#555555; font-style:italic; }
12 12 div.page_body { padding:8px; }
13 13 div.title, a.title {
14 14 display:block; padding:6px 8px;
15 15 font-weight:bold; background-color:#edece6; text-decoration:none; color:#000000;
16 16 }
17 17 a.title:hover { background-color: #d9d8d1; }
18 18 div.title_text { padding:6px 0px; border: solid #d9d8d1; border-width:0px 0px 1px; }
19 19 div.log_body { padding:8px 8px 8px 150px; }
20 20 .age { white-space:nowrap; }
21 21 span.age { position:relative; float:left; width:142px; font-style:italic; }
22 22 div.log_link {
23 23 padding:0px 8px;
24 24 font-size:10px; font-family:sans-serif; font-style:normal;
25 25 position:relative; float:left; width:136px;
26 26 }
27 27 div.list_head { padding:6px 8px 4px; border:solid #d9d8d1; border-width:1px 0px 0px; font-style:italic; }
28 28 a.list { text-decoration:none; color:#000000; }
29 29 a.list:hover { text-decoration:underline; color:#880000; }
30 30 table { padding:8px 4px; }
31 31 th { padding:2px 5px; font-size:12px; text-align:left; }
32 32 tr.light:hover, .parity0:hover { background-color:#edece6; }
33 33 tr.dark, .parity1 { background-color:#f6f6f0; }
34 34 tr.dark:hover, .parity1:hover { background-color:#edece6; }
35 35 td { padding:2px 5px; font-size:12px; vertical-align:top; }
36 36 td.closed { background-color: #99f; }
37 37 td.link { padding:2px 5px; font-family:sans-serif; font-size:10px; }
38 38 td.indexlinks { white-space: nowrap; }
39 39 td.indexlinks a {
40 40 padding: 2px 5px; line-height: 10px;
41 41 border: 1px solid;
42 42 color: #ffffff; background-color: #7777bb;
43 43 border-color: #aaaadd #333366 #333366 #aaaadd;
44 44 font-weight: bold; text-align: center; text-decoration: none;
45 45 font-size: 10px;
46 46 }
47 47 td.indexlinks a:hover { background-color: #6666aa; }
48 48 div.pre { font-family:monospace; font-size:12px; white-space:pre; }
49 49 div.diff_info { font-family:monospace; color:#000099; background-color:#edece6; font-style:italic; }
50 50 div.index_include { border:solid #d9d8d1; border-width:0px 0px 1px; padding:12px 8px; }
51 51 div.search { margin:4px 8px; position:absolute; top:56px; right:12px }
52 52 .linenr { color:#999999; text-decoration:none }
53 53 div.rss_logo { float: right; white-space: nowrap; }
54 54 div.rss_logo a {
55 55 padding:3px 6px; line-height:10px;
56 56 border:1px solid; border-color:#fcc7a5 #7d3302 #3e1a01 #ff954e;
57 57 color:#ffffff; background-color:#ff6600;
58 58 font-weight:bold; font-family:sans-serif; font-size:10px;
59 59 text-align:center; text-decoration:none;
60 60 }
61 61 div.rss_logo a:hover { background-color:#ee5500; }
62 62 pre { margin: 0; }
63 63 span.logtags span {
64 64 padding: 0px 4px;
65 65 font-size: 10px;
66 66 font-weight: normal;
67 67 border: 1px solid;
68 68 background-color: #ffaaff;
69 69 border-color: #ffccff #ff00ee #ff00ee #ffccff;
70 70 }
71 71 span.logtags span.tagtag {
72 72 background-color: #ffffaa;
73 73 border-color: #ffffcc #ffee00 #ffee00 #ffffcc;
74 74 }
75 75 span.logtags span.branchtag {
76 76 background-color: #aaffaa;
77 77 border-color: #ccffcc #00cc33 #00cc33 #ccffcc;
78 78 }
79 79 span.logtags span.inbranchtag {
80 80 background-color: #d5dde6;
81 81 border-color: #e3ecf4 #9398f4 #9398f4 #e3ecf4;
82 82 }
83 83 span.logtags span.bookmarktag {
84 84 background-color: #afdffa;
85 85 border-color: #ccecff #46ace6 #46ace6 #ccecff;
86 86 }
87 87
88 88 /* Graph */
89 89 div#wrapper {
90 90 position: relative;
91 91 margin: 0;
92 92 padding: 0;
93 93 margin-top: 3px;
94 94 }
95 95
96 96 canvas {
97 97 position: absolute;
98 98 z-index: 5;
99 99 top: -0.9em;
100 100 margin: 0;
101 101 }
102 102
103 103 ul#nodebgs {
104 104 list-style: none inside none;
105 105 padding: 0;
106 106 margin: 0;
107 107 top: -0.7em;
108 108 }
109 109
110 110 ul#graphnodes li, ul#nodebgs li {
111 111 height: 39px;
112 112 }
113 113
114 114 ul#graphnodes {
115 115 position: absolute;
116 116 z-index: 10;
117 117 top: -0.8em;
118 118 list-style: none inside none;
119 119 padding: 0;
120 120 }
121 121
122 122 ul#graphnodes li .info {
123 123 display: block;
124 124 font-size: 100%;
125 125 position: relative;
126 126 top: -3px;
127 127 font-style: italic;
128 128 }
129 129
130 130 /* Comparison */
131 131 .legend {
132 132 padding: 1.5% 0 1.5% 0;
133 133 }
134 134
135 135 .legendinfo {
136 136 border: 1px solid #d9d8d1;
137 137 font-size: 80%;
138 138 text-align: center;
139 139 padding: 0.5%;
140 140 }
141 141
142 142 .equal {
143 143 background-color: #ffffff;
144 144 }
145 145
146 146 .delete {
147 background-color: #ffc5ce;
147 background-color: #faa;
148 color: #333;
148 149 }
149 150
150 151 .insert {
151 background-color: #c5ffc4;
152 background-color: #ffa;
152 153 }
153 154
154 155 .replace {
155 background-color: #ffff99;
156 background-color: #e8e8e8;
156 157 }
157 158
158 159 .comparison {
159 160 overflow-x: auto;
160 161 }
161 162
162 163 .header th {
163 164 text-align: center;
164 165 }
165 166
166 167 .block {
167 168 border-top: 1px solid #d9d8d1;
168 169 }
@@ -1,525 +1,526 b''
1 1 /*** Initial Settings ***/
2 2 * {
3 3 margin: 0;
4 4 padding: 0;
5 5 font-weight: normal;
6 6 font-style: normal;
7 7 }
8 8
9 9 html {
10 10 font-size: 100%;
11 11 font-family: sans-serif;
12 12 }
13 13
14 14 body {
15 15 font-size: 77%;
16 16 margin: 15px 50px;
17 17 background: #4B4B4C;
18 18 }
19 19
20 20 a {
21 21 color:#0000cc;
22 22 text-decoration: none;
23 23 }
24 24 /*** end of Initial Settings ***/
25 25
26 26
27 27 /** common settings **/
28 28 div#container {
29 29 background: #FFFFFF;
30 30 position: relative;
31 31 color: #666;
32 32 }
33 33
34 34 div.page-header {
35 35 padding: 50px 20px 0;
36 36 background: #006699 top left repeat-x;
37 37 position: relative;
38 38 }
39 39 div.page-header h1 {
40 40 margin: 10px 0 30px;
41 41 font-size: 1.8em;
42 42 font-weight: bold;
43 43 font-family: osaka,'MS P Gothic', Georgia, serif;
44 44 letter-spacing: 1px;
45 45 color: #DDD;
46 46 }
47 47 div.page-header h1 a {
48 48 font-weight: bold;
49 49 color: #FFF;
50 50 }
51 51 div.page-header a {
52 52 text-decoration: none;
53 53 }
54 54
55 55 div.page-header form {
56 56 position: absolute;
57 57 margin-bottom: 2px;
58 58 bottom: 0;
59 59 right: 20px;
60 60 }
61 61 div.page-header form label {
62 62 color: #DDD;
63 63 }
64 64 div.page-header form input {
65 65 padding: 2px;
66 66 border: solid 1px #DDD;
67 67 }
68 68 div.page-header form dl {
69 69 overflow: hidden;
70 70 }
71 71 div.page-header form dl dt {
72 72 font-size: 1.2em;
73 73 }
74 74 div.page-header form dl dt,
75 75 div.page-header form dl dd {
76 76 margin: 0 0 0 5px;
77 77 float: left;
78 78 height: 24px;
79 79 line-height: 20px;
80 80 }
81 81
82 82 ul.page-nav {
83 83 margin: 10px 0 0 0;
84 84 list-style-type: none;
85 85 overflow: hidden;
86 86 width: 900px;
87 87 }
88 88 ul.page-nav li {
89 89 margin: 0 2px 0 0;
90 90 float: left;
91 91 width: 80px;
92 92 height: 24px;
93 93 font-size: 1.1em;
94 94 line-height: 24px;
95 95 text-align: center;
96 96 }
97 97 ul.page-nav li.current {
98 98 background: #FFF;
99 99 }
100 100 ul.page-nav li a {
101 101 height: 24px;
102 102 color: #666;
103 103 background: #DDD;
104 104 display: block;
105 105 text-decoration: none;
106 106 }
107 107 ul.page-nav li a:hover {
108 108 color:#333;
109 109 background: #FFF;
110 110 }
111 111
112 112 ul.submenu {
113 113 margin: 10px 0 -10px 20px;
114 114 list-style-type: none;
115 115 }
116 116 ul.submenu li {
117 117 margin: 0 10px 0 0;
118 118 font-size: 1.2em;
119 119 display: inline;
120 120 }
121 121
122 122 h2 {
123 123 margin: 20px 0 10px;
124 124 height: 30px;
125 125 line-height: 30px;
126 126 text-indent: 20px;
127 127 background: #FFF;
128 128 font-size: 1.2em;
129 129 border-top: dotted 1px #D5E1E6;
130 130 font-weight: bold;
131 131 }
132 132 h2.no-link {
133 133 color:#006699;
134 134 }
135 135 h2.no-border {
136 136 color: #FFF;
137 137 background: #006699;
138 138 border: 0;
139 139 }
140 140 h2 a {
141 141 font-weight:bold;
142 142 color:#006699;
143 143 }
144 144
145 145 div.page-path {
146 146 text-align: right;
147 147 padding: 20px 30px 10px 0;
148 148 border:solid #d9d8d1;
149 149 border-width:0px 0px 1px;
150 150 font-size: 1.2em;
151 151 }
152 152
153 153 div.page-footer {
154 154 margin: 50px 0 0;
155 155 position: relative;
156 156 }
157 157 div.page-footer p {
158 158 position: relative;
159 159 left: 20px;
160 160 bottom: 5px;
161 161 font-size: 1.2em;
162 162 }
163 163
164 164 ul.rss-logo {
165 165 position: absolute;
166 166 top: -10px;
167 167 right: 20px;
168 168 height: 20px;
169 169 list-style-type: none;
170 170 }
171 171 ul.rss-logo li {
172 172 display: inline;
173 173 }
174 174 ul.rss-logo li a {
175 175 padding: 3px 6px;
176 176 line-height: 10px;
177 177 border:1px solid;
178 178 border-color:#fcc7a5 #7d3302 #3e1a01 #ff954e;
179 179 color:#ffffff;
180 180 background-color:#ff6600;
181 181 font-weight:bold;
182 182 font-family:sans-serif;
183 183 font-size:10px;
184 184 text-align:center;
185 185 text-decoration:none;
186 186 }
187 187 div.rss-logo li a:hover {
188 188 background-color:#ee5500;
189 189 }
190 190
191 191 p.normal {
192 192 margin: 20px 0 20px 30px;
193 193 font-size: 1.2em;
194 194 }
195 195
196 196 table {
197 197 margin: 10px 0 0 20px;
198 198 width: 95%;
199 199 border-collapse: collapse;
200 200 }
201 201 table tr td {
202 202 font-size: 1.1em;
203 203 }
204 204 table tr td.nowrap {
205 205 white-space: nowrap;
206 206 }
207 207 table tr td.closed {
208 208 background-color: #99f;
209 209 }
210 210 /*
211 211 table tr.parity0:hover,
212 212 table tr.parity1:hover {
213 213 background: #D5E1E6;
214 214 }
215 215 */
216 216 table tr.parity0 {
217 217 background: #F1F6F7;
218 218 }
219 219 table tr.parity1 {
220 220 background: #FFFFFF;
221 221 }
222 222 table tr td {
223 223 padding: 5px 5px;
224 224 }
225 225 table.annotated tr td {
226 226 padding: 0px 5px;
227 227 }
228 228
229 229 span.logtags span {
230 230 padding: 2px 6px;
231 231 font-weight: normal;
232 232 font-size: 11px;
233 233 border: 1px solid;
234 234 background-color: #ffaaff;
235 235 border-color: #ffccff #ff00ee #ff00ee #ffccff;
236 236 }
237 237 span.logtags span.tagtag {
238 238 background-color: #ffffaa;
239 239 border-color: #ffffcc #ffee00 #ffee00 #ffffcc;
240 240 }
241 241 span.logtags span.branchtag {
242 242 background-color: #aaffaa;
243 243 border-color: #ccffcc #00cc33 #00cc33 #ccffcc;
244 244 }
245 245 span.logtags span.inbranchtag {
246 246 background-color: #d5dde6;
247 247 border-color: #e3ecf4 #9398f4 #9398f4 #e3ecf4;
248 248 }
249 249 span.logtags span.bookmarktag {
250 250 background-color: #afdffa;
251 251 border-color: #ccecff #46ace6 #46ace6 #ccecff;
252 252 }
253 253
254 254 div.diff pre {
255 255 margin: 10px 0 0 0;
256 256 }
257 257 div.diff pre span {
258 258 font-family: monospace;
259 259 white-space: pre;
260 260 font-size: 1.2em;
261 261 padding: 3px 0;
262 262 }
263 263 td.source {
264 264 white-space: pre;
265 265 font-family: monospace;
266 266 margin: 10px 30px 0;
267 267 font-size: 1.2em;
268 268 font-family: monospace;
269 269 }
270 270 div.source div.parity0,
271 271 div.source div.parity1 {
272 272 padding: 1px;
273 273 font-size: 1.2em;
274 274 }
275 275 div.source div.parity0 {
276 276 background: #F1F6F7;
277 277 }
278 278 div.source div.parity1 {
279 279 background: #FFFFFF;
280 280 }
281 281 div.parity0:hover,
282 282 div.parity1:hover {
283 283 background: #D5E1E6;
284 284 }
285 285 .linenr {
286 286 color: #999;
287 287 text-align: right;
288 288 }
289 289 .lineno {
290 290 text-align: right;
291 291 }
292 292 .lineno a {
293 293 color: #999;
294 294 }
295 295 td.linenr {
296 296 width: 60px;
297 297 }
298 298
299 299 div#powered-by {
300 300 position: absolute;
301 301 width: 75px;
302 302 top: 15px;
303 303 right: 20px;
304 304 font-size: 1.2em;
305 305 }
306 306 div#powered-by a {
307 307 color: #EEE;
308 308 text-decoration: none;
309 309 }
310 310 div#powered-by a:hover {
311 311 text-decoration: underline;
312 312 }
313 313 /*
314 314 div#monoblue-corner-top-left {
315 315 position: absolute;
316 316 top: 0;
317 317 left: 0;
318 318 width: 10px;
319 319 height: 10px;
320 320 background: url(./monoblue-corner.png) top left no-repeat !important;
321 321 background: none;
322 322 }
323 323 div#monoblue-corner-top-right {
324 324 position: absolute;
325 325 top: 0;
326 326 right: 0;
327 327 width: 10px;
328 328 height: 10px;
329 329 background: url(./monoblue-corner.png) top right no-repeat !important;
330 330 background: none;
331 331 }
332 332 div#monoblue-corner-bottom-left {
333 333 position: absolute;
334 334 bottom: 0;
335 335 left: 0;
336 336 width: 10px;
337 337 height: 10px;
338 338 background: url(./monoblue-corner.png) bottom left no-repeat !important;
339 339 background: none;
340 340 }
341 341 div#monoblue-corner-bottom-right {
342 342 position: absolute;
343 343 bottom: 0;
344 344 right: 0;
345 345 width: 10px;
346 346 height: 10px;
347 347 background: url(./monoblue-corner.png) bottom right no-repeat !important;
348 348 background: none;
349 349 }
350 350 */
351 351 /** end of common settings **/
352 352
353 353 /** summary **/
354 354 dl.overview {
355 355 margin: 0 0 0 30px;
356 356 font-size: 1.1em;
357 357 overflow: hidden;
358 358 }
359 359 dl.overview dt,
360 360 dl.overview dd {
361 361 margin: 5px 0;
362 362 float: left;
363 363 }
364 364 dl.overview dt {
365 365 clear: left;
366 366 font-weight: bold;
367 367 width: 150px;
368 368 }
369 369 /** end of summary **/
370 370
371 371 /** chagelog **/
372 372 h3.changelog {
373 373 margin: 20px 0 5px 30px;
374 374 padding: 0 0 2px;
375 375 font-size: 1.4em;
376 376 border-bottom: dotted 1px #D5E1E6;
377 377 }
378 378 ul.changelog-entry {
379 379 margin: 0 0 10px 30px;
380 380 list-style-type: none;
381 381 position: relative;
382 382 }
383 383 ul.changelog-entry li span.revdate {
384 384 font-size: 1.1em;
385 385 }
386 386 ul.changelog-entry li.age {
387 387 position: absolute;
388 388 top: -25px;
389 389 right: 10px;
390 390 font-size: 1.4em;
391 391 color: #CCC;
392 392 font-weight: bold;
393 393 font-style: italic;
394 394 }
395 395 ul.changelog-entry li span.name {
396 396 font-size: 1.2em;
397 397 font-weight: bold;
398 398 }
399 399 ul.changelog-entry li.description {
400 400 margin: 10px 0 0;
401 401 font-size: 1.1em;
402 402 }
403 403 /** end of changelog **/
404 404
405 405 /** file **/
406 406 p.files {
407 407 margin: 0 0 0 20px;
408 408 font-size: 2.0em;
409 409 font-weight: bold;
410 410 }
411 411 /** end of file **/
412 412
413 413 /** changeset **/
414 414 h3.changeset {
415 415 margin: 20px 0 5px 20px;
416 416 padding: 0 0 2px;
417 417 font-size: 1.6em;
418 418 border-bottom: dotted 1px #D5E1E6;
419 419 }
420 420 p.changeset-age {
421 421 position: relative;
422 422 }
423 423 p.changeset-age span {
424 424 position: absolute;
425 425 top: -25px;
426 426 right: 10px;
427 427 font-size: 1.4em;
428 428 color: #CCC;
429 429 font-weight: bold;
430 430 font-style: italic;
431 431 }
432 432 p.description {
433 433 margin: 10px 30px 0 30px;
434 434 padding: 10px;
435 435 border: solid 1px #CCC;
436 436 font-size: 1.2em;
437 437 }
438 438 /** end of changeset **/
439 439
440 440 /** canvas **/
441 441 div#wrapper {
442 442 position: relative;
443 443 font-size: 1.2em;
444 444 }
445 445
446 446 canvas {
447 447 position: absolute;
448 448 z-index: 5;
449 449 top: -0.7em;
450 450 }
451 451
452 452 ul#nodebgs li.parity0 {
453 453 background: #F1F6F7;
454 454 }
455 455
456 456 ul#nodebgs li.parity1 {
457 457 background: #FFFFFF;
458 458 }
459 459
460 460 ul#graphnodes {
461 461 position: absolute;
462 462 z-index: 10;
463 463 top: 7px;
464 464 list-style: none inside none;
465 465 }
466 466
467 467 ul#nodebgs {
468 468 list-style: none inside none;
469 469 }
470 470
471 471 ul#graphnodes li, ul#nodebgs li {
472 472 height: 39px;
473 473 }
474 474
475 475 ul#graphnodes li .info {
476 476 display: block;
477 477 position: relative;
478 478 }
479 479 /** end of canvas **/
480 480
481 481 /** comparison **/
482 482 .legend {
483 483 margin-left: 20px;
484 484 padding: 1.5% 0 1.5% 0;
485 485 }
486 486
487 487 .legendinfo {
488 488 border: 1px solid #999;
489 489 font-size: 80%;
490 490 text-align: center;
491 491 padding: 0.5%;
492 492 }
493 493
494 494 .equal {
495 495 background-color: #ffffff;
496 496 }
497 497
498 498 .delete {
499 background-color: #ffc5ce;
499 background-color: #faa;
500 color: #333;
500 501 }
501 502
502 503 .insert {
503 background-color: #c5ffc4;
504 background-color: #ffa;
504 505 }
505 506
506 507 .replace {
507 background-color: #ffff99;
508 background-color: #e8e8e8;
508 509 }
509 510
510 511 .comparison {
511 512 overflow-x: auto;
512 513 }
513 514
514 515 .comparison table td {
515 516 padding: 0px 5px;
516 517 }
517 518
518 519 .header th {
519 520 font-weight: bold;
520 521 }
521 522
522 523 .block {
523 524 border-top: 1px solid #999;
524 525 }
525 526 /** end of comparison **/
@@ -1,313 +1,314 b''
1 1 body {
2 2 margin: 0;
3 3 padding: 0;
4 4 background: white;
5 5 font-family: sans-serif;
6 6 }
7 7
8 8 .container {
9 9 padding-left: 115px;
10 10 }
11 11
12 12 .main {
13 13 position: relative;
14 14 background: white;
15 15 padding: 2em 2em 2em 0;
16 16 }
17 17
18 18 #.main {
19 19 width: 98%;
20 20 }
21 21
22 22 .overflow {
23 23 width: 100%;
24 24 overflow: auto;
25 25 }
26 26
27 27 .menu {
28 28 width: 90px;
29 29 margin: 0;
30 30 font-size: 80%;
31 31 text-align: left;
32 32 position: absolute;
33 33 top: 20px;
34 34 left: 20px;
35 35 right: auto;
36 36 }
37 37
38 38 .menu ul {
39 39 list-style: none;
40 40 padding: 0;
41 41 margin: 10px 0 0 0;
42 42 border-left: 2px solid #999;
43 43 }
44 44
45 45 .menu li {
46 46 margin-bottom: 3px;
47 47 padding: 2px 4px;
48 48 background: white;
49 49 color: black;
50 50 font-weight: normal;
51 51 }
52 52
53 53 .menu li.active {
54 54 font-weight: bold;
55 55 }
56 56
57 57 .menu img {
58 58 width: 75px;
59 59 height: 90px;
60 60 border: 0;
61 61 }
62 62
63 63 .menu a { color: black; display: block; }
64 64
65 65 .search {
66 66 position: absolute;
67 67 top: .7em;
68 68 right: 2em;
69 69 }
70 70
71 71 form.search div#hint {
72 72 display: none;
73 73 position: absolute;
74 74 top: 40px;
75 75 right: 0px;
76 76 width: 190px;
77 77 padding: 5px;
78 78 background: #ffc;
79 79 font-size: 70%;
80 80 border: 1px solid yellow;
81 81 -moz-border-radius: 5px; /* this works only in camino/firefox */
82 82 -webkit-border-radius: 5px; /* this is just for Safari */
83 83 }
84 84
85 85 form.search:hover div#hint { display: block; }
86 86
87 87 a { text-decoration:none; }
88 88 .age { white-space:nowrap; }
89 89 .date { white-space:nowrap; }
90 90 .indexlinks { white-space:nowrap; }
91 91 .parity0 { background-color: #f0f0f0; }
92 92 .parity1 { background-color: white; }
93 93 .plusline { color: green; }
94 94 .minusline { color: #dc143c; } /* crimson */
95 95 .atline { color: purple; }
96 96
97 97 .diffstat-file {
98 98 white-space: nowrap;
99 99 font-size: 90%;
100 100 }
101 101 .diffstat-total {
102 102 white-space: nowrap;
103 103 font-size: 90%;
104 104 }
105 105 .diffstat-graph {
106 106 width: 100%;
107 107 }
108 108 .diffstat-add {
109 109 background-color: green;
110 110 float: left;
111 111 }
112 112 .diffstat-remove {
113 113 background-color: red;
114 114 float: left;
115 115 }
116 116
117 117 .navigate {
118 118 text-align: right;
119 119 font-size: 60%;
120 120 margin: 1em 0;
121 121 }
122 122
123 123 .tag {
124 124 color: #999;
125 125 font-size: 70%;
126 126 font-weight: normal;
127 127 margin-left: .5em;
128 128 vertical-align: baseline;
129 129 }
130 130
131 131 .branchhead {
132 132 color: #000;
133 133 font-size: 80%;
134 134 font-weight: normal;
135 135 margin-left: .5em;
136 136 vertical-align: baseline;
137 137 }
138 138
139 139 ul#graphnodes .branchhead {
140 140 font-size: 75%;
141 141 }
142 142
143 143 .branchname {
144 144 color: #000;
145 145 font-size: 60%;
146 146 font-weight: normal;
147 147 margin-left: .5em;
148 148 vertical-align: baseline;
149 149 }
150 150
151 151 h3 .branchname {
152 152 font-size: 80%;
153 153 }
154 154
155 155 /* Common */
156 156 pre { margin: 0; }
157 157
158 158 h2 { font-size: 120%; border-bottom: 1px solid #999; }
159 159 h2 a { color: #000; }
160 160 h3 {
161 161 margin-top: -.7em;
162 162 font-size: 100%;
163 163 }
164 164
165 165 /* log and tags tables */
166 166 .bigtable {
167 167 border-bottom: 1px solid #999;
168 168 border-collapse: collapse;
169 169 font-size: 90%;
170 170 width: 100%;
171 171 font-weight: normal;
172 172 text-align: left;
173 173 }
174 174
175 175 .bigtable td {
176 176 vertical-align: top;
177 177 }
178 178
179 179 .bigtable th {
180 180 padding: 1px 4px;
181 181 border-bottom: 1px solid #999;
182 182 }
183 183 .bigtable tr { border: none; }
184 184 .bigtable .age { width: 7em; }
185 185 .bigtable .author { width: 12em; }
186 186 .bigtable .description { }
187 187 .bigtable .description .base { font-size: 70%; float: right; line-height: 1.66; }
188 188 .bigtable .node { width: 5em; font-family: monospace;}
189 189 .bigtable .permissions { width: 8em; text-align: left;}
190 190 .bigtable .size { width: 5em; text-align: right; }
191 191 .bigtable .annotate { text-align: right; }
192 192 .bigtable td.annotate { font-size: smaller; }
193 193 .bigtable td.source { font-size: inherit; }
194 194
195 195 .source, .sourcefirst, .sourcelast {
196 196 font-family: monospace;
197 197 white-space: pre;
198 198 padding: 1px 4px;
199 199 font-size: 90%;
200 200 }
201 201 .sourcefirst { border-bottom: 1px solid #999; font-weight: bold; }
202 202 .sourcelast { border-top: 1px solid #999; }
203 203 .source a { color: #999; font-size: smaller; font-family: monospace;}
204 204 .bottomline { border-bottom: 1px solid #999; }
205 205
206 206 .fileline { font-family: monospace; }
207 207 .fileline img { border: 0; }
208 208
209 209 .tagEntry .closed { color: #99f; }
210 210
211 211 /* Changeset entry */
212 212 #changesetEntry {
213 213 border-collapse: collapse;
214 214 font-size: 90%;
215 215 width: 100%;
216 216 margin-bottom: 1em;
217 217 }
218 218
219 219 #changesetEntry th {
220 220 padding: 1px 4px;
221 221 width: 4em;
222 222 text-align: right;
223 223 font-weight: normal;
224 224 color: #999;
225 225 margin-right: .5em;
226 226 vertical-align: top;
227 227 }
228 228
229 229 div.description {
230 230 border-left: 2px solid #999;
231 231 margin: 1em 0 1em 0;
232 232 padding: .3em;
233 233 white-space: pre;
234 234 font-family: monospace;
235 235 }
236 236
237 237 /* Graph */
238 238 div#wrapper {
239 239 position: relative;
240 240 border-top: 1px solid black;
241 241 border-bottom: 1px solid black;
242 242 margin: 0;
243 243 padding: 0;
244 244 }
245 245
246 246 canvas {
247 247 position: absolute;
248 248 z-index: 5;
249 249 top: -0.7em;
250 250 margin: 0;
251 251 }
252 252
253 253 ul#graphnodes {
254 254 position: absolute;
255 255 z-index: 10;
256 256 top: -1.0em;
257 257 list-style: none inside none;
258 258 padding: 0;
259 259 }
260 260
261 261 ul#nodebgs {
262 262 list-style: none inside none;
263 263 padding: 0;
264 264 margin: 0;
265 265 top: -0.7em;
266 266 }
267 267
268 268 ul#graphnodes li, ul#nodebgs li {
269 269 height: 39px;
270 270 }
271 271
272 272 ul#graphnodes li .info {
273 273 display: block;
274 274 font-size: 70%;
275 275 position: relative;
276 276 top: -3px;
277 277 }
278 278
279 279 /* Comparison */
280 280 .legend {
281 281 padding: 1.5% 0 1.5% 0;
282 282 }
283 283
284 284 .legendinfo {
285 285 border: 1px solid #999;
286 286 font-size: 80%;
287 287 text-align: center;
288 288 padding: 0.5%;
289 289 }
290 290
291 291 .equal {
292 292 background-color: #ffffff;
293 293 }
294 294
295 295 .delete {
296 background-color: #ffc5ce;
296 background-color: #faa;
297 color: #333;
297 298 }
298 299
299 300 .insert {
300 background-color: #c5ffc4;
301 background-color: #ffa;
301 302 }
302 303
303 304 .replace {
304 background-color: #ffff99;
305 background-color: #e8e8e8;
305 306 }
306 307
307 308 .header {
308 309 text-align: center;
309 310 }
310 311
311 312 .block {
312 313 border-top: 1px solid #999;
313 314 }
@@ -1,487 +1,488 b''
1 1 $ "$TESTDIR/hghave" serve || exit 80
2 2
3 3 Some tests for hgweb. Tests static files, plain files and different 404's.
4 4
5 5 $ hg init test
6 6 $ cd test
7 7 $ mkdir da
8 8 $ echo foo > da/foo
9 9 $ echo foo > foo
10 10 $ hg ci -Ambase
11 11 adding da/foo
12 12 adding foo
13 13 $ hg serve -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
14 14 $ cat hg.pid >> $DAEMON_PIDS
15 15
16 16 manifest
17 17
18 18 $ ("$TESTDIR/get-with-headers.py" localhost:$HGPORT 'file/tip/?style=raw')
19 19 200 Script output follows
20 20
21 21
22 22 drwxr-xr-x da
23 23 -rw-r--r-- 4 foo
24 24
25 25
26 26 $ ("$TESTDIR/get-with-headers.py" localhost:$HGPORT 'file/tip/da?style=raw')
27 27 200 Script output follows
28 28
29 29
30 30 -rw-r--r-- 4 foo
31 31
32 32
33 33
34 34 plain file
35 35
36 36 $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT 'file/tip/foo?style=raw'
37 37 200 Script output follows
38 38
39 39 foo
40 40
41 41 should give a 404 - static file that does not exist
42 42
43 43 $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT 'static/bogus'
44 44 404 Not Found
45 45
46 46 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
47 47 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
48 48 <head>
49 49 <link rel="icon" href="/static/hgicon.png" type="image/png" />
50 50 <meta name="robots" content="index, nofollow" />
51 51 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
52 52 <script type="text/javascript" src="/static/mercurial.js"></script>
53 53
54 54 <title>test: error</title>
55 55 </head>
56 56 <body>
57 57
58 58 <div class="container">
59 59 <div class="menu">
60 60 <div class="logo">
61 61 <a href="http://mercurial.selenic.com/">
62 62 <img src="/static/hglogo.png" width=75 height=90 border=0 alt="mercurial" /></a>
63 63 </div>
64 64 <ul>
65 65 <li><a href="/shortlog">log</a></li>
66 66 <li><a href="/graph">graph</a></li>
67 67 <li><a href="/tags">tags</a></li>
68 68 <li><a href="/bookmarks">bookmarks</a></li>
69 69 <li><a href="/branches">branches</a></li>
70 70 <li><a href="/help">help</a></li>
71 71 </ul>
72 72 </div>
73 73
74 74 <div class="main">
75 75
76 76 <h2><a href="/">test</a></h2>
77 77 <h3>error</h3>
78 78
79 79 <form class="search" action="/log">
80 80
81 81 <p><input name="rev" id="search1" type="text" size="30"></p>
82 82 <div id="hint">find changesets by author, revision,
83 83 files, or words in the commit message</div>
84 84 </form>
85 85
86 86 <div class="description">
87 87 <p>
88 88 An error occurred while processing your request:
89 89 </p>
90 90 <p>
91 91 Not Found
92 92 </p>
93 93 </div>
94 94 </div>
95 95 </div>
96 96
97 97 <script type="text/javascript">process_dates()</script>
98 98
99 99
100 100 </body>
101 101 </html>
102 102
103 103 [1]
104 104
105 105 should give a 404 - bad revision
106 106
107 107 $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT 'file/spam/foo?style=raw'
108 108 404 Not Found
109 109
110 110
111 111 error: revision not found: spam
112 112 [1]
113 113
114 114 should give a 400 - bad command
115 115
116 116 $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT 'file/tip/foo?cmd=spam&style=raw'
117 117 400* (glob)
118 118
119 119
120 120 error: no such method: spam
121 121 [1]
122 122
123 123 should give a 404 - file does not exist
124 124
125 125 $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT 'file/tip/bork?style=raw'
126 126 404 Not Found
127 127
128 128
129 129 error: bork@2ef0ac749a14: not found in manifest
130 130 [1]
131 131 $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT 'file/tip/bork'
132 132 404 Not Found
133 133
134 134 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
135 135 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
136 136 <head>
137 137 <link rel="icon" href="/static/hgicon.png" type="image/png" />
138 138 <meta name="robots" content="index, nofollow" />
139 139 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
140 140 <script type="text/javascript" src="/static/mercurial.js"></script>
141 141
142 142 <title>test: error</title>
143 143 </head>
144 144 <body>
145 145
146 146 <div class="container">
147 147 <div class="menu">
148 148 <div class="logo">
149 149 <a href="http://mercurial.selenic.com/">
150 150 <img src="/static/hglogo.png" width=75 height=90 border=0 alt="mercurial" /></a>
151 151 </div>
152 152 <ul>
153 153 <li><a href="/shortlog">log</a></li>
154 154 <li><a href="/graph">graph</a></li>
155 155 <li><a href="/tags">tags</a></li>
156 156 <li><a href="/bookmarks">bookmarks</a></li>
157 157 <li><a href="/branches">branches</a></li>
158 158 <li><a href="/help">help</a></li>
159 159 </ul>
160 160 </div>
161 161
162 162 <div class="main">
163 163
164 164 <h2><a href="/">test</a></h2>
165 165 <h3>error</h3>
166 166
167 167 <form class="search" action="/log">
168 168
169 169 <p><input name="rev" id="search1" type="text" size="30"></p>
170 170 <div id="hint">find changesets by author, revision,
171 171 files, or words in the commit message</div>
172 172 </form>
173 173
174 174 <div class="description">
175 175 <p>
176 176 An error occurred while processing your request:
177 177 </p>
178 178 <p>
179 179 bork@2ef0ac749a14: not found in manifest
180 180 </p>
181 181 </div>
182 182 </div>
183 183 </div>
184 184
185 185 <script type="text/javascript">process_dates()</script>
186 186
187 187
188 188 </body>
189 189 </html>
190 190
191 191 [1]
192 192 $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT 'diff/tip/bork?style=raw'
193 193 404 Not Found
194 194
195 195
196 196 error: bork@2ef0ac749a14: not found in manifest
197 197 [1]
198 198
199 199 try bad style
200 200
201 201 $ ("$TESTDIR/get-with-headers.py" localhost:$HGPORT 'file/tip/?style=foobar')
202 202 200 Script output follows
203 203
204 204 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
205 205 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
206 206 <head>
207 207 <link rel="icon" href="/static/hgicon.png" type="image/png" />
208 208 <meta name="robots" content="index, nofollow" />
209 209 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
210 210 <script type="text/javascript" src="/static/mercurial.js"></script>
211 211
212 212 <title>test: 2ef0ac749a14 /</title>
213 213 </head>
214 214 <body>
215 215
216 216 <div class="container">
217 217 <div class="menu">
218 218 <div class="logo">
219 219 <a href="http://mercurial.selenic.com/">
220 220 <img src="/static/hglogo.png" alt="mercurial" /></a>
221 221 </div>
222 222 <ul>
223 223 <li><a href="/shortlog/2ef0ac749a14">log</a></li>
224 224 <li><a href="/graph/2ef0ac749a14">graph</a></li>
225 225 <li><a href="/tags">tags</a></li>
226 226 <li><a href="/bookmarks">bookmarks</a></li>
227 227 <li><a href="/branches">branches</a></li>
228 228 </ul>
229 229 <ul>
230 230 <li><a href="/rev/2ef0ac749a14">changeset</a></li>
231 231 <li class="active">browse</li>
232 232 </ul>
233 233 <ul>
234 234
235 235 </ul>
236 236 <ul>
237 237 <li><a href="/help">help</a></li>
238 238 </ul>
239 239 </div>
240 240
241 241 <div class="main">
242 242 <h2><a href="/">test</a></h2>
243 243 <h3>directory / @ 0:2ef0ac749a14 <span class="tag">tip</span> </h3>
244 244
245 245 <form class="search" action="/log">
246 246
247 247 <p><input name="rev" id="search1" type="text" size="30" /></p>
248 248 <div id="hint">find changesets by author, revision,
249 249 files, or words in the commit message</div>
250 250 </form>
251 251
252 252 <table class="bigtable">
253 253 <tr>
254 254 <th class="name">name</th>
255 255 <th class="size">size</th>
256 256 <th class="permissions">permissions</th>
257 257 </tr>
258 258 <tr class="fileline parity0">
259 259 <td class="name"><a href="/file/2ef0ac749a14/">[up]</a></td>
260 260 <td class="size"></td>
261 261 <td class="permissions">drwxr-xr-x</td>
262 262 </tr>
263 263
264 264 <tr class="fileline parity1">
265 265 <td class="name">
266 266 <a href="/file/2ef0ac749a14/da">
267 267 <img src="/static/coal-folder.png" alt="dir."/> da/
268 268 </a>
269 269 <a href="/file/2ef0ac749a14/da/">
270 270
271 271 </a>
272 272 </td>
273 273 <td class="size"></td>
274 274 <td class="permissions">drwxr-xr-x</td>
275 275 </tr>
276 276
277 277 <tr class="fileline parity0">
278 278 <td class="filename">
279 279 <a href="/file/2ef0ac749a14/foo">
280 280 <img src="/static/coal-file.png" alt="file"/> foo
281 281 </a>
282 282 </td>
283 283 <td class="size">4</td>
284 284 <td class="permissions">-rw-r--r--</td>
285 285 </tr>
286 286 </table>
287 287 </div>
288 288 </div>
289 289 <script type="text/javascript">process_dates()</script>
290 290
291 291
292 292 </body>
293 293 </html>
294 294
295 295
296 296 stop and restart
297 297
298 298 $ "$TESTDIR/killdaemons.py"
299 299 $ hg serve -p $HGPORT -d --pid-file=hg.pid -A access.log
300 300 $ cat hg.pid >> $DAEMON_PIDS
301 301
302 302 Test the access/error files are opened in append mode
303 303
304 304 $ python -c "print len(file('access.log').readlines()), 'log lines written'"
305 305 10 log lines written
306 306
307 307 static file
308 308
309 309 $ "$TESTDIR/get-with-headers.py" --twice localhost:$HGPORT 'static/style-gitweb.css'
310 310 200 Script output follows
311 311
312 312 body { font-family: sans-serif; font-size: 12px; margin:0px; border:solid #d9d8d1; border-width:1px; margin:10px; }
313 313 a { color:#0000cc; }
314 314 a:hover, a:visited, a:active { color:#880000; }
315 315 div.page_header { height:25px; padding:8px; font-size:18px; font-weight:bold; background-color:#d9d8d1; }
316 316 div.page_header a:visited { color:#0000cc; }
317 317 div.page_header a:hover { color:#880000; }
318 318 div.page_nav { padding:8px; }
319 319 div.page_nav a:visited { color:#0000cc; }
320 320 div.page_path { padding:8px; border:solid #d9d8d1; border-width:0px 0px 1px}
321 321 div.page_footer { padding:4px 8px; background-color: #d9d8d1; }
322 322 div.page_footer_text { float:left; color:#555555; font-style:italic; }
323 323 div.page_body { padding:8px; }
324 324 div.title, a.title {
325 325 display:block; padding:6px 8px;
326 326 font-weight:bold; background-color:#edece6; text-decoration:none; color:#000000;
327 327 }
328 328 a.title:hover { background-color: #d9d8d1; }
329 329 div.title_text { padding:6px 0px; border: solid #d9d8d1; border-width:0px 0px 1px; }
330 330 div.log_body { padding:8px 8px 8px 150px; }
331 331 .age { white-space:nowrap; }
332 332 span.age { position:relative; float:left; width:142px; font-style:italic; }
333 333 div.log_link {
334 334 padding:0px 8px;
335 335 font-size:10px; font-family:sans-serif; font-style:normal;
336 336 position:relative; float:left; width:136px;
337 337 }
338 338 div.list_head { padding:6px 8px 4px; border:solid #d9d8d1; border-width:1px 0px 0px; font-style:italic; }
339 339 a.list { text-decoration:none; color:#000000; }
340 340 a.list:hover { text-decoration:underline; color:#880000; }
341 341 table { padding:8px 4px; }
342 342 th { padding:2px 5px; font-size:12px; text-align:left; }
343 343 tr.light:hover, .parity0:hover { background-color:#edece6; }
344 344 tr.dark, .parity1 { background-color:#f6f6f0; }
345 345 tr.dark:hover, .parity1:hover { background-color:#edece6; }
346 346 td { padding:2px 5px; font-size:12px; vertical-align:top; }
347 347 td.closed { background-color: #99f; }
348 348 td.link { padding:2px 5px; font-family:sans-serif; font-size:10px; }
349 349 td.indexlinks { white-space: nowrap; }
350 350 td.indexlinks a {
351 351 padding: 2px 5px; line-height: 10px;
352 352 border: 1px solid;
353 353 color: #ffffff; background-color: #7777bb;
354 354 border-color: #aaaadd #333366 #333366 #aaaadd;
355 355 font-weight: bold; text-align: center; text-decoration: none;
356 356 font-size: 10px;
357 357 }
358 358 td.indexlinks a:hover { background-color: #6666aa; }
359 359 div.pre { font-family:monospace; font-size:12px; white-space:pre; }
360 360 div.diff_info { font-family:monospace; color:#000099; background-color:#edece6; font-style:italic; }
361 361 div.index_include { border:solid #d9d8d1; border-width:0px 0px 1px; padding:12px 8px; }
362 362 div.search { margin:4px 8px; position:absolute; top:56px; right:12px }
363 363 .linenr { color:#999999; text-decoration:none }
364 364 div.rss_logo { float: right; white-space: nowrap; }
365 365 div.rss_logo a {
366 366 padding:3px 6px; line-height:10px;
367 367 border:1px solid; border-color:#fcc7a5 #7d3302 #3e1a01 #ff954e;
368 368 color:#ffffff; background-color:#ff6600;
369 369 font-weight:bold; font-family:sans-serif; font-size:10px;
370 370 text-align:center; text-decoration:none;
371 371 }
372 372 div.rss_logo a:hover { background-color:#ee5500; }
373 373 pre { margin: 0; }
374 374 span.logtags span {
375 375 padding: 0px 4px;
376 376 font-size: 10px;
377 377 font-weight: normal;
378 378 border: 1px solid;
379 379 background-color: #ffaaff;
380 380 border-color: #ffccff #ff00ee #ff00ee #ffccff;
381 381 }
382 382 span.logtags span.tagtag {
383 383 background-color: #ffffaa;
384 384 border-color: #ffffcc #ffee00 #ffee00 #ffffcc;
385 385 }
386 386 span.logtags span.branchtag {
387 387 background-color: #aaffaa;
388 388 border-color: #ccffcc #00cc33 #00cc33 #ccffcc;
389 389 }
390 390 span.logtags span.inbranchtag {
391 391 background-color: #d5dde6;
392 392 border-color: #e3ecf4 #9398f4 #9398f4 #e3ecf4;
393 393 }
394 394 span.logtags span.bookmarktag {
395 395 background-color: #afdffa;
396 396 border-color: #ccecff #46ace6 #46ace6 #ccecff;
397 397 }
398 398
399 399 /* Graph */
400 400 div#wrapper {
401 401 position: relative;
402 402 margin: 0;
403 403 padding: 0;
404 404 margin-top: 3px;
405 405 }
406 406
407 407 canvas {
408 408 position: absolute;
409 409 z-index: 5;
410 410 top: -0.9em;
411 411 margin: 0;
412 412 }
413 413
414 414 ul#nodebgs {
415 415 list-style: none inside none;
416 416 padding: 0;
417 417 margin: 0;
418 418 top: -0.7em;
419 419 }
420 420
421 421 ul#graphnodes li, ul#nodebgs li {
422 422 height: 39px;
423 423 }
424 424
425 425 ul#graphnodes {
426 426 position: absolute;
427 427 z-index: 10;
428 428 top: -0.8em;
429 429 list-style: none inside none;
430 430 padding: 0;
431 431 }
432 432
433 433 ul#graphnodes li .info {
434 434 display: block;
435 435 font-size: 100%;
436 436 position: relative;
437 437 top: -3px;
438 438 font-style: italic;
439 439 }
440 440
441 441 /* Comparison */
442 442 .legend {
443 443 padding: 1.5% 0 1.5% 0;
444 444 }
445 445
446 446 .legendinfo {
447 447 border: 1px solid #d9d8d1;
448 448 font-size: 80%;
449 449 text-align: center;
450 450 padding: 0.5%;
451 451 }
452 452
453 453 .equal {
454 454 background-color: #ffffff;
455 455 }
456 456
457 457 .delete {
458 background-color: #ffc5ce;
458 background-color: #faa;
459 color: #333;
459 460 }
460 461
461 462 .insert {
462 background-color: #c5ffc4;
463 background-color: #ffa;
463 464 }
464 465
465 466 .replace {
466 background-color: #ffff99;
467 background-color: #e8e8e8;
467 468 }
468 469
469 470 .comparison {
470 471 overflow-x: auto;
471 472 }
472 473
473 474 .header th {
474 475 text-align: center;
475 476 }
476 477
477 478 .block {
478 479 border-top: 1px solid #d9d8d1;
479 480 }
480 481 304 Not Modified
481 482
482 483
483 484 errors
484 485
485 486 $ cat errors.log
486 487
487 488 $ cd ..
General Comments 0
You need to be logged in to leave comments. Login now