summaryrefslogtreecommitdiffstatshomepage
path: root/cgit.css
blob: 17c271277c8269490edf161c6ed2a4aca79ac220 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
/* ui-snapshot.c: generate snapshot of a commit
 *
 * Copyright (C) 2006 Lars Hjemli
 *
 * Licensed under GNU General Public License v2
 *   (see COPYING for full license text)
 */

#include "cgit.h"
#include "html.h"
#include "ui-shared.h"

static int write_compressed_tar_archive(struct archiver_args *args,const char *filter)
{
	int rw[2];
	pid_t gzpid;
	int stdout2;
	int status;
	int rv;

	stdout2 = chk_non_negative(dup(STDIN_FILENO), "Preserving STDOUT before compressing");
	chk_zero(pipe(rw), "Opening pipe from compressor subprocess");
	gzpid = chk_non_negative(fork(), "Forking compressor subprocess");
	if(gzpid==0) {
		/* child */
		chk_zero(close(rw[1]), "Closing write end of pipe in child");
		chk_zero(close(STDIN_FILENO), "Closing STDIN");
		chk_non_negative(dup2(rw[0],STDIN_FILENO), "Redirecting compressor input to stdin");
		execlp(filter,filter,NULL);
		_exit(-1);
	}
	/* parent */
	chk_zero(close(rw[0]), "Closing read end of pipe");
	chk_non_negative(dup2(rw[1],STDOUT_FILENO), "Redirecting output to compressor");

	rv = write_tar_archive(args);

	chk_zero(close(STDOUT_FILENOpre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #ffffcc }
.highlight .c { color: #888888 } /* Comment */
.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
.highlight .k { color: #008800; font-weight: bold } /* Keyword */
.highlight .ch { color: #888888 } /* Comment.Hashbang */
.highlight .cm { color: #888888 } /* Comment.Multiline */
.highlight .cp { color: #cc0000; font-weight: bold } /* Comment.Preproc */
.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
.highlight .c1 { color: #888888 } /* Comment.Single */
.highlight .cs { color: #cc0000; font-weight: bold; background-color: #fff0f0 } /* Comment.Special */
.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .gr { color: #aa0000 } /* Generic.Error */
.highlight .gh { color: #333333 } /* Generic.Heading */
.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */
.highlight .go { color: #888888 } /* Generic.Output */
.highlight .gp { color: #555555 } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #666666 } /* Generic.Subheading */
.highlight .gt { color: #aa0000 } /* Generic.Traceback */
.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #008800 } /* Keyword.Pseudo */
.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */
.highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */
.highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */
.highlight .na { color: #336699 } /* Name.Attribute */
.highlight .nb { color: #003388 } /* Name.Builtin */
.highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */
.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
.highlight .nd { color: #555555 } /* Name.Decorator */
.highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */
.highlight .nl { color: #336699; font-style: italic } /* Name.Label */
.highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */
.highlight .py { color: #336699; font-weight: bold } /* Name.Property */
.highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */
.highlight .nv { color: #336699 } /* Name.Variable */
.highlight .ow { color: #008800 } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */
.highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */
.highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */
.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
.highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */
.highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */
.highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */
.highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */
.highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */
.highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */
.highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */
.highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */
.highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */
.highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */
.highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */
.highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */
.highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */
.highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */
.highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */
.highlight .vc { color: #336699 } /* Name.Variable.Class */
.highlight .vg { color: #dd7700 } /* Name.Variable.Global */
.highlight .vi { color: #3333bb } /* Name.Variable.Instance */
.highlight .vm { color: #336699 } /* Name.Variable.Magic */
.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
body, table {
	padding: 0em;
	margin: 0em;
}

body {
	font-family: sans;
	font-size: 10pt;
	color: #333;
	background: white;
	padding: 4px;
}

table {
      border-collapse: collapse;
}

h2 {
	font-size: 120%;
	font-weight: bold;
	margin-top: 0em;
	margin-bottom: 0.25em;
}

h3 {
	margin-top: 0em;
	font-size: 100%;
	font-weight: normal;
}

h4 {
	margin-top: 1.5em;
	margin-bottom: 0.1em;
	font-size: 100%;
	font-weight: bold;
}

a {
	color: #600;
	text-decoration: none;
}

a:hover {
	background-color: #ddd;
	text-decoration: none;
}

table.list {
	border: none;
	border-collapse: collapse;
}

table.list tr {
	background: white;
}

table.list tr:hover {
	background: #f8f8f8;
}

table.list tr.nohover:hover {
	background: white;
}

table.list th {
	font-weight: bold;
	border-bottom: solid 1px #777;
	padding: 0.1em 0.5em 0.1em 0.5em;
	vertical-align: baseline;
}

table.list td {
	border: none;
	padding: 0.1em 0.5em 0.1em 0.5em;
}

img {
	border: none;
}

table#layout {
	border-collapse: collapse;
	border: none;
	margin: 0px;
}

td#sidebar {
	vertical-align: top;
	width: 162px;
	padding: 0px 0px 0px 0px;
	margin: 0px;
}

td#sidebar table {
	border-collapse: separate;
	border-spacing: 0px;
	margin: 0px;
	padding: 0px;
	background-color: #ccc;
}

td#sidebar table.sidebar td.sidebar {
	padding: 4px;
	border-top: solid 1px #eee;
	border-left: solid 1px #eee;
	border-right: solid 1px #aaa;
	border-bottom: solid 1px #aaa;
}

div#logo {
	margin: 0px;
	padding: 4px 0px 4px 0px;
	text-align: center;
	background-color: #ccc;
	border-top: solid 1px #eee;
	border-left: solid 1px #eee;
	border-right: solid 1px #aaa;
	border-bottom: solid 1px #aaa;
}

td#sidebar h1 {
	font-size: 10pt;
	font-weight: bold;
	margin: 8px 0px 0px 0px;
}

td#sidebar h1.first {
	margin-top: 0px;
}

td#sidebar a.menu {
	display: block;
	background-color: #ccc;
	padding: 0.1em 0.5em;
	text-decoration: none;
}

td#sidebar a.menu:hover {
	background-color: #bbb;
	text-decoration: none;
}

td#sidebar select {
	width: 100%;
	margin: 2px 0px 0px 0px;
}

td#sidebar form {
	text-align: right;
}

input#switch-btn {
	margin: 2px 0px 0px 0px;
}

td#sidebar input.txt {
	width: 100%;
	margin: 2px 0px 0px 0px;
}

table#grid {
	margin: 0px;
}

td#content {
	vertical-align: top;
	padding: 1em 2em 1em 1em;
	border: none;
}

div#summary {
	vertical-align: top;
	margin-bottom: 1em;
}

table#downloads {
	float: right;
	border-collapse: collapse;
	border: solid 1px #777;
	margin-left: 0.5em;
	margin-bottom: 0.5em;
}

table#downloads th {
	background-color: #ccc;
}

div#blob {
	border: solid 1px black;
}

div.error {
	color: red;
	font-weight: bold;
	margin: 1em 2em;
}

a.ls-blob, a.ls-dir, a.ls-mod {
	font-family: monospace;
}

td.ls-size {
	text-align: right;
}

td.ls-size {
	font-family: monospace;
}

td.ls-mode {
	font-family: monospace;
}

table.blob {
	margin-top: 0.5em;
	border-top: solid 1px black;
}

table.blob td.no {
	border-right: solid 1px black;
	color: black;
	background-color: #eee;
	text-align: right;
}

table.blob td.no a {
	color: black;
}

table.blob td.no a:hover {
	color: black;
	text-decoration: none;
}

table.blob td.txt {
	white-space: pre;
	font-family: monospace;
	padding-left: 0.5em;
}

table.nowrap td {
	white-space: nowrap;
}

table.commit-info {
	border-collapse: collapse;
	margin-top: 1.5em;
}

table.commit-info th {
	text-align: left;
	font-weight: normal;
	padding: 0.1em 1em 0.1em 0.1em;
	vertical-align: top;
}

table.commit-info td {
	font-weight: normal;
	padding: 0.1em 1em 0.1em 0.1em;
}

div.commit-subject {
	font-weight: bold;
	font-size: 125%;
	margin: 1.5em 0em 0.5em 0em;
	padding: 0em;
}

div.commit-msg {
	white-space: pre;
	font-family: monospace;
}

div.diffstat-header {
	font-weight: bold;
	padding-top: 1.5em;
}

table.diffstat {
	border-collapse: collapse;
	border: solid 1px #aaa;
	background-color: #eee;
}

table.diffstat th {
	font-weight: normal;
	text-align: left;
	text-decoration: underline;
	padding: 0.1em 1em 0.1em 0.1em;
	font-size: 100%;
}

table.diffstat td {
	padding: 0.2em 0.2em 0.1em 0.1em;
	font-size: 100%;
	border: none;
}

table.diffstat td.mode {
	white-space: nowrap;
}

table.diffstat td span.modechange {
	padding-left: 1em;
	color: red;
}

table.diffstat td.add a {
	color: green;
}

table.diffstat td.del a {
	color: red;
}

table.diffstat td.upd a {
	color: blue;
}

table.diffstat td.graph {
	width: 500px;
	vertical-align: middle;
}

table.diffstat td.graph table {
	border: none;
}

table.diffstat td.graph td {
	padding: 0px;
	border: 0px;
	height: 7pt;
}

table.diffstat td.graph td.add {
	background-color: #5c5;
}

table.diffstat td.graph td.rem {
	background-color: #c55;
}

div.diffstat-summary {
	color: #888;
	padding-top: 0.5em;
}

table.diff {
	width: 100%;
}

table.diff td {
	font-family: monospace;
	white-space: pre;
}

table.diff td div.head {
	font-weight: bold;
	margin-top: 1em;
	background-color: #eee;
}

table.diff td div.hunk {
	color: #009;
}

table.diff td div.add {
	color: green;
}

table.diff td div.del {
	color: red;
}

.sha1 {
	font-family: monospace;
	font-size: 90%;
}

.left {
	text-align: left;
}

.right {
	text-align: right;
}

table.list td.repogroup {
	font-style: italic;
	color: #888;
}

a.button {
	font-size: 80%;
	color: #aaa;
	background-color: #eee;
	border: solid 1px #aaa;
	padding: 0em 0.5em;
	margin: 0.1em 0.25em;
}

a.button:hover {
	text-decoration: none;
	color: #333;
	background-color: #ccc;
}

a.primary {
	font-size: 100%;
}

a.secondary {
	font-size: 90%;
}

td.toplevel-repo {

}

table.list td.sublevel-repo {
	padding-left: 1.5em;
}

span.age-mins {
	font-weight: bold;
	color: #080;
}

span.age-hours {
	color: #080;
}

span.age-days {
	color: #040;
}

span.age-weeks {
	color: #444;
}

span.age-months {
	color: #888;
}

span.age-years {
	color: #bbb;
}