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