5560823953ef439a7cb2265a1c19b841b994ecf5
[gitweb] / static / gitweb.css
1 html,
2 body {
3 height: 100%;
4 }
5
6 body {
7 font-family: sans-serif;
8 margin: 0;
9 background-color: #ffffff;
10 color: #000000;
11 /*display: flex;
12 flex-direction: column;*/
13 }
14
15 .cards {
16 display: flex;
17 flex-direction: column;
18 gap: 1rem;
19 margin: 1rem;
20 }
21
22 .cards > article {
23 border: 1px solid #ddd;
24 }
25
26 .cards > article > .header > .title {
27 --card-title-pad-left: 0.5rem;
28 padding: 0.25rem 0.5rem;
29 }
30
31 .cards > article > table {
32 padding: 0;
33 }
34
35 a {
36 color: #0000cc;
37 }
38
39 a:hover, a:visited, a:active {
40 color: #880000;
41 }
42
43 span.cntrl {
44 border: dashed #aaaaaa;
45 border-width: 1px;
46 padding: 0px 2px 0px 2px;
47 margin: 0px 2px 0px 2px;
48 }
49
50 img.logo {
51 float: right;
52 border-width: 0px;
53 }
54
55 img.avatar {
56 vertical-align: middle;
57 }
58
59 img.blob {
60 max-height: 100%;
61 max-width: 100%;
62 }
63
64 a.list img.avatar {
65 border-style: none;
66 }
67
68 .page_header {
69 padding: 1rem;
70 font-size: 150%;
71 font-weight: bold;
72 border-top: 0.25rem solid #f71;
73 background-color: #f716;
74 }
75
76 .page_header a:visited, a.header {
77 color: #0000cc;
78 }
79
80 .page_header a:hover {
81 color: #880000;
82 }
83
84 /* .page_header + nav.page_subhead now wraps .page_nav and the search form, which is reduced from <form><div class=search> to <form role=search>; and both it and .page_nav are optional; and page_nav comes first rather than last. */
85 .page_subhead {
86 display: flex;
87 background: #eee;
88 margin-bottom: 1em;
89 }
90
91 div.page_nav {
92 padding: 0.5rem 1em;
93 }
94
95 div.page_nav a:visited {
96 color: #0000cc;
97 }
98
99 .page_nav .current {
100 font-weight: bold;
101 }
102
103 div.page_path {
104 padding: 0.5rem 1rem;
105 font-weight: bold;
106 border: solid #ddd;
107 border-width: 0px 0px 1px;
108 }
109
110 .page_footer {
111 margin-top: auto;
112 margin-top: 2rem;
113 display: flex;
114 padding: 0.5rem 1rem;
115 background-color: #ddd;
116 justify-content: flex-end;
117 }
118
119 div.page_footer_text {
120 margin-right: auto;
121 float: left;
122 color: #555555;
123 font-style: italic;
124 }
125
126 div#generating_info {
127 margin: 0.5rem 1rem;
128 font-size: smaller;
129 text-align: center;
130 color: #505050;
131 }
132
133 div.page_body {
134 padding: 0.5rem 1rem;
135 font-family: monospace;
136 }
137
138 div.title, a.title {
139 display: block;
140 padding: 0.5rem 1rem;
141 font-weight: bold;
142 background-color: #ddd;
143 text-decoration: none;
144 color: #000000;
145 }
146
147 div.readme {
148 padding: 8px;
149 }
150
151 a.title:hover {
152 background-color: #ccc;
153 }
154
155 div.title_text {
156 padding: 0;
157 border: solid #ccc;
158 border-width: 0px 0px 1px;
159 }
160
161 :root {
162 /* FIXME: not good, too tied to the font, restructure */
163 --log-sidebar-width: 10rem;
164 }
165
166 div.log_body {
167 padding: 8px 8px 8px var(--log-sidebar-width);
168 }
169
170 time {
171 font-style: italic;
172 }
173
174 time.age {
175 float: left;
176 /* From .cards > article > .header > .title padding-left; eww, TODO tidy all this up */
177 width: calc(var(--log-sidebar-width) - var(--card-title-pad-left));
178 }
179
180 span.signoff {
181 color: #888888;
182 }
183
184 div.log_link {
185 padding: 0 0.5rem;
186 font-size: 80%;
187 font-family: sans-serif;
188 font-style: normal;
189 position: relative;
190 float: left;
191 width: calc(var(--log-sidebar-width) - 0.5rem - 0.5rem);
192 }
193
194 div.list_head {
195 padding: 6px 8px 4px;
196 border: solid #d9d8d1;
197 border-width: 1px 0px 0px;
198 font-style: italic;
199 }
200
201 .author_date, .author {
202 font-style: italic;
203 }
204
205 div.author_date {
206 padding: 8px;
207 border: solid #d9d8d1;
208 border-width: 0px 0px 1px 0px;
209 }
210
211 a.list {
212 text-decoration: none;
213 color: #000000;
214 }
215
216 a.subject, a.name {
217 font-weight: bold;
218 }
219
220 table.tags a.subject {
221 font-weight: normal;
222 }
223
224 a.list:hover {
225 text-decoration: underline;
226 color: #880000;
227 }
228
229 a.text {
230 text-decoration: none;
231 color: #0000cc;
232 }
233
234 a.text:visited {
235 text-decoration: none;
236 color: #880000;
237 }
238
239 a.text:hover {
240 text-decoration: underline;
241 color: #880000;
242 }
243
244 table {
245 padding: 0.5rem 1rem;
246 border-spacing: 0;
247 }
248 table.tree {
249 padding: 0;
250 }
251
252 table.diff_tree {
253 font-family: monospace,m;
254 }
255
256 table.combined.diff_tree th {
257 text-align: center;
258 }
259
260 table.combined.diff_tree td {
261 padding-right: 24px;
262 }
263
264 table.combined.diff_tree th.link,
265 table.combined.diff_tree td.link {
266 padding: 0px 2px;
267 }
268
269 table.combined.diff_tree td.nochange a {
270 color: #6666ff;
271 }
272
273 table.combined.diff_tree td.nochange a:hover,
274 table.combined.diff_tree td.nochange a:visited {
275 color: #d06666;
276 }
277
278 table.blame {
279 border-collapse: collapse;
280 }
281
282 table.blame td {
283 padding: 0px 5px;
284 vertical-align: top;
285 }
286
287 th {
288 padding: 2px 5px;
289 text-align: left;
290 }
291
292 th:first-child {
293 padding-left: 0;
294 }
295
296 /* do not change row style on hover for 'blame' view */
297 tr.light {
298 background-color: #ffffff;
299 }
300
301 tr.dark {
302 background-color: #f6f6f6;
303 }
304
305 /* boundary commits in 'blame' view */
306 /* and commits without "previous" */
307 tr.boundary td.sha1,
308 tr.no-previous td.linenr {
309 font-weight: bold;
310 }
311
312 /* for 'blame_incremental', during processing */
313 tr.color1 { background-color: #f6fff6; }
314 tr.color2 { background-color: #f6f6ff; }
315 tr.color3 { background-color: #fff6f6; }
316
317 td {
318 padding: 0.25rem 0.5rem;
319 }
320
321 td.link, td.selflink {
322 padding: 2px 5px;
323 font-family: sans-serif;
324 font-size: 80%;
325 }
326
327 td.selflink {
328 padding-right: 0px;
329 }
330
331 td.sha1 {
332 font-family: monospace,m;
333 }
334
335 .error {
336 color: red;
337 background-color: yellow;
338 }
339
340 td.current_head {
341 text-decoration: underline;
342 }
343
344 td.category {
345 background-color: #d9d8d1;
346 border-top: 1px solid #000000;
347 border-left: 1px solid #000000;
348 font-weight: bold;
349 }
350
351 table.diff_tree span.file_status.new {
352 color: #008000;
353 }
354
355 table.diff_tree span.file_status.deleted {
356 color: #c00000;
357 }
358
359 table.diff_tree span.file_status.moved,
360 table.diff_tree span.file_status.mode_chnge {
361 color: #777777;
362 }
363
364 table.diff_tree span.file_status.copied {
365 color: #70a070;
366 }
367
368 /* noage: "No commits" */
369 table.project_list td.noage {
370 color: #808080;
371 font-style: italic;
372 }
373
374 /* age2: 60*60*24*2 <= age */
375 table.project_list td.age2, table.blame td.age2 {
376 font-style: italic;
377 }
378
379 /* age1: 60*60*2 <= age < 60*60*24*2 */
380 table.project_list td.age1 {
381 color: #009900;
382 font-style: italic;
383 }
384
385 table.blame td.age1 {
386 color: #009900;
387 background: transparent;
388 }
389
390 /* age0: age < 60*60*2 */
391 table.project_list td.age0 {
392 color: #009900;
393 font-style: italic;
394 font-weight: bold;
395 }
396
397 table.blame td.age0 {
398 color: #009900;
399 background: transparent;
400 font-weight: bold;
401 }
402
403 td.pre, div.pre, div.diff {
404 font-family: monospace,m;
405 white-space: pre;
406 }
407
408 td.mode {
409 font-family: monospace,m;
410 }
411
412 /* progress of blame_interactive */
413 div#progress_bar {
414 height: 2px;
415 margin-bottom: -2px;
416 background-color: #d8d9d0;
417 }
418 div#progress_info {
419 float: right;
420 text-align: right;
421 }
422
423 /* format of (optional) objects size in 'tree' view */
424 td.size {
425 font-family: monospace,m;
426 text-align: right;
427 }
428
429 /* styling of diffs (patchsets): commitdiff and blobdiff views */
430 div.diff.header,
431 div.diff.extended_header {
432 white-space: normal;
433 }
434
435 div.diff.header {
436 font-weight: bold;
437 background-color: #eee;
438 box-shadow: inset 0 1px #0003;
439 }
440
441 div.diff.header a.path {
442 text-decoration: underline;
443 }
444
445 div.diff.extended_header,
446 div.diff.extended_header a.path,
447 div.diff.extended_header a.hash {
448 color: #333;
449 }
450
451 div.diff.extended_header .info {
452 opacity: 0.5;
453 }
454
455 div.diff.extended_header,
456 div.diff.from_file,
457 div.diff.to_file {
458 background-color: #eee;
459 }
460
461 div.diff a.list,
462 div.diff a.path,
463 div.diff a.hash {
464 text-decoration: none;
465 }
466
467 div.diff a.list:hover,
468 div.diff a.path:hover,
469 div.diff a.hash:hover {
470 text-decoration: underline;
471 }
472
473 div.diff.to_file a.path,
474 div.diff.to_file {
475 color: #060;
476 }
477
478 div.diff.add {
479 background-color: #dfd;
480 }
481
482 div.diff.add mark {
483 background-color: #afa;
484 }
485
486 div.diff.from_file a.path,
487 div.diff.from_file {
488 color: #900;
489 }
490
491 div.diff.rem {
492 background-color: #fdd;
493 }
494
495 div.diff.rem mark {
496 background-color: #faa;
497 }
498
499 div.diff.chunk_header a,
500 div.diff.chunk_header {
501 color: #990099;
502 }
503
504 div.diff.chunk_header {
505 }
506
507 div.diff.chunk_header span.chunk_info {
508 background-color: #ffeeff;
509 }
510
511 div.diff.chunk_header span.section {
512 color: #aa22aa;
513 font-style: italic;
514 }
515
516 div.diff.incomplete {
517 color: #cccccc;
518 }
519
520 div.diff.nodifferences {
521 font-weight: bold;
522 color: #600000;
523 }
524
525 /* side-by-side diff */
526 div.chunk_block {
527 overflow: hidden;
528 }
529
530 div.chunk_block div.old {
531 float: left;
532 width: 50%;
533 overflow: hidden;
534 }
535
536 div.chunk_block div.new {
537 margin-left: 50%;
538 width: 50%;
539 }
540
541 div.chunk_block.rem div.old div.diff.rem {
542 background-color: #fff5f5;
543 }
544 div.chunk_block.add div.new div.diff.add {
545 background-color: #f8fff8;
546 }
547 div.chunk_block.chg div div.diff {
548 background-color: #fffff0;
549 }
550 div.chunk_block.ctx div div.diff.ctx {
551 color: #404040;
552 }
553
554
555 div.index_include {
556 border: solid #d9d8d1;
557 border-width: 0px 0px 1px;
558 padding: 12px 8px;
559 }
560
561 .page_subhead [role=search] {
562 margin: 0.5rem 1rem 0.5rem auto;
563 }
564
565 div.projsearch {
566 text-align: center;
567 margin: 20px 0px;
568 }
569
570 div.projsearch form {
571 margin-bottom: 2px;
572 }
573
574 td.linenr {
575 text-align: right;
576 }
577
578 a.linenr {
579 color: #999999;
580 text-decoration: none;
581 user-select: none;
582 }
583
584 a.rss_logo {
585 padding: 3px 5px;
586 border: 1px solid;
587 border-color: #fcc7a5 #7d3302 #3e1a01 #ff954e;
588 color: #ffffff;
589 background-color: #ff6600;
590 font-weight: bold;
591 font-family: sans-serif;
592 font-size: 80%;
593 text-align: center;
594 text-decoration: none;
595 }
596
597 a.rss_logo:hover {
598 background-color: #ee5500;
599 }
600
601 a.rss_logo.generic {
602 background-color: #ff8800;
603 }
604
605 a.rss_logo.generic:hover {
606 background-color: #ee7700;
607 }
608
609 span.refs span {
610 padding: 0px 4px;
611 font-size: 80%;
612 font-weight: normal;
613 border: 1px solid;
614 background-color: #ffaaff;
615 border-color: #ffccff #ff00ee #ff00ee #ffccff;
616 }
617
618 span.refs span a {
619 text-decoration: none;
620 color: inherit;
621 }
622
623 span.refs span a:hover {
624 text-decoration: underline;
625 }
626
627 span.refs span.indirect {
628 font-style: italic;
629 }
630
631 span.refs span.ref {
632 background-color: #aaaaff;
633 border-color: #ccccff #0033cc #0033cc #ccccff;
634 }
635
636 span.refs span.tag {
637 background-color: #ffffaa;
638 border-color: #ffffcc #ffee00 #ffee00 #ffffcc;
639 }
640
641 span.refs span.head {
642 background-color: #aaffaa;
643 border-color: #ccffcc #00cc33 #00cc33 #ccffcc;
644 }
645
646 div.binary {
647 font-style: italic;
648 }
649
650 div.remote {
651 margin: .5em;
652 border: 1px solid #d9d8d1;
653 display: inline-block;
654 }
655
656 /* JavaScript-based timezone manipulation */
657
658 .popup { /* timezone selection UI */
659 position: absolute;
660 /* "top: 0; right: 0;" would be better, if not for bugs in browsers */
661 top: 0; left: 0;
662 border: 1px solid;
663 padding: 2px;
664 background-color: #f0f0f0;
665 font-style: normal;
666 color: #000000;
667 cursor: auto;
668 }
669
670 .close-button { /* close timezone selection UI without selecting */
671 /* float doesn't work within absolutely positioned container,
672 * if width of container is not set explicitly */
673 /* float: right; */
674 position: absolute;
675 top: 0px; right: 0px;
676 border: none;
677 font-weight: bold;
678 background-color: transparent;
679 cursor: pointer;
680 }
681
682
683 /* Style definition generated by highlight 2.4.5, http://www.andre-simon.de/ */
684
685 /* Highlighting theme definition: */
686
687 .num { color:#2928ff; }
688 .esc { color:#ff00ff; }
689 .str { color:#ff0000; }
690 .dstr { color:#818100; }
691 .slc { color:#838183; font-style:italic; }
692 .com { color:#838183; font-style:italic; }
693 .dir { color:#008200; }
694 .sym { color:#000000; }
695 .line { color:#555555; }
696 .kwa { color:#000000; font-weight:bold; }
697 .kwb { color:#830000; }
698 .kwc { color:#000000; font-weight:bold; }
699 .kwd { color:#010181; }