99069a2f65fc6b609038e313ace36819d79593c2
[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 #d9d8d1;
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 #d9d8d1;
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 padding: 2px 5px;
293 text-align: left;
294 }
295
296 th:first-child {
297 padding-left: 0;
298 }
299
300 /* do not change row style on hover for 'blame' view */
301 tr.light {
302 background-color: #ffffff;
303 }
304
305 tr.dark {
306 background-color: #f6f6f6;
307 }
308
309 /* boundary commits in 'blame' view */
310 /* and commits without "previous" */
311 tr.boundary td.sha1,
312 tr.no-previous td.linenr {
313 font-weight: bold;
314 }
315
316 /* for 'blame_incremental', during processing */
317 tr.color1 { background-color: #f6fff6; }
318 tr.color2 { background-color: #f6f6ff; }
319 tr.color3 { background-color: #fff6f6; }
320
321 td {
322 padding: 0.25rem 0.5rem;
323 }
324
325 td.link, td.selflink {
326 padding: 2px 5px;
327 font-family: sans-serif;
328 font-size: 80%;
329 }
330
331 td.selflink {
332 padding-right: 0px;
333 }
334
335 td.sha1 {
336 font-family: monospace,m;
337 }
338
339 .error {
340 color: red;
341 background-color: yellow;
342 }
343
344 td.current_head {
345 text-decoration: underline;
346 }
347
348 td.category {
349 background-color: #d9d8d1;
350 border-top: 1px solid #000000;
351 border-left: 1px solid #000000;
352 font-weight: bold;
353 }
354
355 table.diff_tree span.file_status.new {
356 color: #008000;
357 }
358
359 table.diff_tree span.file_status.deleted {
360 color: #c00000;
361 }
362
363 table.diff_tree span.file_status.moved,
364 table.diff_tree span.file_status.mode_chnge {
365 color: #777777;
366 }
367
368 table.diff_tree span.file_status.copied {
369 color: #70a070;
370 }
371
372 /* noage: "No commits" */
373 table.project_list td.noage {
374 color: #808080;
375 font-style: italic;
376 }
377
378 /* age2: 60*60*24*2 <= age */
379 table.project_list td.age2, table.blame td.age2 {
380 font-style: italic;
381 }
382
383 /* age1: 60*60*2 <= age < 60*60*24*2 */
384 table.project_list td.age1 {
385 color: #009900;
386 font-style: italic;
387 }
388
389 table.blame td.age1 {
390 color: #009900;
391 background: transparent;
392 }
393
394 /* age0: age < 60*60*2 */
395 table.project_list td.age0 {
396 color: #009900;
397 font-style: italic;
398 font-weight: bold;
399 }
400
401 table.blame td.age0 {
402 color: #009900;
403 background: transparent;
404 font-weight: bold;
405 }
406
407 td.pre, div.pre, div.diff {
408 font-family: monospace,m;
409 white-space: pre;
410 }
411
412 td.mode {
413 font-family: monospace,m;
414 }
415
416 /* progress of blame_interactive */
417 div#progress_bar {
418 height: 2px;
419 margin-bottom: -2px;
420 background-color: #d8d9d0;
421 }
422 div#progress_info {
423 float: right;
424 text-align: right;
425 }
426
427 /* format of (optional) objects size in 'tree' view */
428 td.size {
429 font-family: monospace,m;
430 text-align: right;
431 }
432
433 /* styling of diffs (patchsets): commitdiff and blobdiff views */
434 div.diff.header,
435 div.diff.extended_header {
436 white-space: normal;
437 }
438
439 div.diff.header {
440 font-weight: bold;
441 background-color: #eee;
442 box-shadow: inset 0 1px #0003;
443 }
444
445 div.diff.header a.path {
446 text-decoration: underline;
447 }
448
449 div.diff.extended_header,
450 div.diff.extended_header a.path,
451 div.diff.extended_header a.hash {
452 color: #333;
453 }
454
455 div.diff.extended_header .info {
456 opacity: 0.5;
457 }
458
459 div.diff.extended_header,
460 div.diff.from_file,
461 div.diff.to_file {
462 background-color: #eee;
463 }
464
465 div.diff a.list,
466 div.diff a.path,
467 div.diff a.hash {
468 text-decoration: none;
469 }
470
471 div.diff a.list:hover,
472 div.diff a.path:hover,
473 div.diff a.hash:hover {
474 text-decoration: underline;
475 }
476
477 div.diff.to_file a.path,
478 div.diff.to_file {
479 color: #060;
480 }
481
482 div.diff.add {
483 background-color: #dfd;
484 }
485
486 div.diff.add mark {
487 background-color: #afa;
488 }
489
490 div.diff.from_file a.path,
491 div.diff.from_file {
492 color: #900;
493 }
494
495 div.diff.rem {
496 background-color: #fdd;
497 }
498
499 div.diff.rem mark {
500 background-color: #faa;
501 }
502
503 div.diff.chunk_header a,
504 div.diff.chunk_header {
505 color: #990099;
506 }
507
508 div.diff.chunk_header {
509 }
510
511 div.diff.chunk_header span.chunk_info {
512 background-color: #ffeeff;
513 }
514
515 div.diff.chunk_header span.section {
516 color: #aa22aa;
517 font-style: italic;
518 }
519
520 div.diff.incomplete {
521 color: #cccccc;
522 }
523
524 div.diff.nodifferences {
525 font-weight: bold;
526 color: #600000;
527 }
528
529 /* side-by-side diff */
530 div.chunk_block {
531 overflow: hidden;
532 }
533
534 div.chunk_block div.old {
535 float: left;
536 width: 50%;
537 overflow: hidden;
538 }
539
540 div.chunk_block div.new {
541 margin-left: 50%;
542 width: 50%;
543 }
544
545 div.chunk_block.rem div.old div.diff.rem {
546 background-color: #fff5f5;
547 }
548 div.chunk_block.add div.new div.diff.add {
549 background-color: #f8fff8;
550 }
551 div.chunk_block.chg div div.diff {
552 background-color: #fffff0;
553 }
554 div.chunk_block.ctx div div.diff.ctx {
555 color: #404040;
556 }
557
558
559 div.index_include {
560 border: solid #d9d8d1;
561 border-width: 0px 0px 1px;
562 padding: 12px 8px;
563 }
564
565 .page_subhead [role=search] {
566 margin: 0.5rem 1rem 0.5rem auto;
567 }
568
569 div.projsearch {
570 text-align: center;
571 margin: 20px 0px;
572 }
573
574 div.projsearch form {
575 margin-bottom: 2px;
576 }
577
578 td.linenr {
579 text-align: right;
580 }
581
582 a.linenr {
583 color: #999999;
584 text-decoration: none;
585 user-select: none;
586 }
587
588 a.rss_logo {
589 padding: 3px 5px;
590 border: 1px solid;
591 border-color: #fcc7a5 #7d3302 #3e1a01 #ff954e;
592 color: #ffffff;
593 background-color: #ff6600;
594 font-weight: bold;
595 font-family: sans-serif;
596 font-size: 80%;
597 text-align: center;
598 text-decoration: none;
599 }
600
601 a.rss_logo:hover {
602 background-color: #ee5500;
603 }
604
605 a.rss_logo.generic {
606 background-color: #ff8800;
607 }
608
609 a.rss_logo.generic:hover {
610 background-color: #ee7700;
611 }
612
613 span.refs span {
614 padding: 0px 4px;
615 font-size: 80%;
616 font-weight: normal;
617 border: 1px solid;
618 background-color: #ffaaff;
619 border-color: #ffccff #ff00ee #ff00ee #ffccff;
620 }
621
622 span.refs span a {
623 text-decoration: none;
624 color: inherit;
625 }
626
627 span.refs span a:hover {
628 text-decoration: underline;
629 }
630
631 span.refs span.indirect {
632 font-style: italic;
633 }
634
635 span.refs span.ref {
636 background-color: #aaaaff;
637 border-color: #ccccff #0033cc #0033cc #ccccff;
638 }
639
640 span.refs span.tag {
641 background-color: #ffffaa;
642 border-color: #ffffcc #ffee00 #ffee00 #ffffcc;
643 }
644
645 span.refs span.head {
646 background-color: #aaffaa;
647 border-color: #ccffcc #00cc33 #00cc33 #ccffcc;
648 }
649
650 div.binary {
651 font-style: italic;
652 }
653
654 div.remote {
655 margin: .5em;
656 border: 1px solid #d9d8d1;
657 display: inline-block;
658 }
659
660 /* JavaScript-based timezone manipulation */
661
662 .popup { /* timezone selection UI */
663 position: absolute;
664 /* "top: 0; right: 0;" would be better, if not for bugs in browsers */
665 top: 0; left: 0;
666 border: 1px solid;
667 padding: 2px;
668 background-color: #f0f0f0;
669 font-style: normal;
670 color: #000000;
671 cursor: auto;
672 }
673
674 .close-button { /* close timezone selection UI without selecting */
675 /* float doesn't work within absolutely positioned container,
676 * if width of container is not set explicitly */
677 /* float: right; */
678 position: absolute;
679 top: 0px; right: 0px;
680 border: none;
681 font-weight: bold;
682 background-color: transparent;
683 cursor: pointer;
684 }
685
686
687 /* Style definition generated by highlight 2.4.5, http://www.andre-simon.de/ */
688
689 /* Highlighting theme definition: */
690
691 .num { color:#2928ff; }
692 .esc { color:#ff00ff; }
693 .str { color:#ff0000; }
694 .dstr { color:#818100; }
695 .slc { color:#838183; font-style:italic; }
696 .com { color:#838183; font-style:italic; }
697 .dir { color:#008200; }
698 .sym { color:#000000; }
699 .line { color:#555555; }
700 .kwa { color:#000000; font-weight:bold; }
701 .kwb { color:#830000; }
702 .kwc { color:#000000; font-weight:bold; }
703 .kwd { color:#010181; }