cgit

commit 66cacd053ba900c8eb3b7962027370c84a97f990

Author: Lars Hjemli <hjemli@gmail.com>

Layout update

 cgit.c | 13 +++++-
 cgit.css | 98 +++++++++++++++++++++++++++++++++++++++++++++-------
 ui-diff.c | 1 
 ui-log.c | 1 
 ui-repolist.c | 1 
 ui-shared.c | 37 ++++++++++++++-----
 ui-summary.c | 6 ++-
 ui-tree.c | 1 
 ui-view.c | 1 


diff --git a/cgit.c b/cgit.c
index 7b7afba481de797994690ee538cb5482070dcece..fedf3553a8b2db860bb2b2750a6f3bb82dd9b7b3 100644
--- a/cgit.c
+++ b/cgit.c
@@ -88,11 +88,20 @@ 	}
 
 	if (cgit_query_page && !strcmp(cgit_query_page, "log"))
 		show_search = 1;
+
 	cgit_print_docstart(title, item);
-	cgit_print_pageheader(title, show_search);
+
+
 	if (!cgit_query_page) {
+		cgit_print_pageheader("summary", show_search);
 		cgit_print_summary();
-	} else if (!strcmp(cgit_query_page, "log")) {
+		cgit_print_docend();
+		return;
+	}
+
+	cgit_print_pageheader(cgit_query_page, show_search);
+
+	if (!strcmp(cgit_query_page, "log")) {
 		cgit_print_log(cgit_query_head, cgit_query_ofs, 100, 
 			       cgit_query_search);
 	} else if (!strcmp(cgit_query_page, "tree")) {




diff --git a/cgit.css b/cgit.css
index 5c4b15bb3b0d4237dc58ccfdc1e437cc13b84424..640bbc913ee504a75ef11faa6500274f432bd4f6 100644
--- a/cgit.css
+++ b/cgit.css
@@ -10,7 +10,13 @@
 h2 {
 	font-size: 120%;
 	font-weight: bold;
-	margin-bottom: 0.5em;
+	margin-bottom: 0.25em;
+}
+
+h3 {
+	margin-top: 0em;
+	font-size: 100%;
+	font-weight: normal;
 }
 
 a {
@@ -26,51 +32,99 @@ table.list {
 	border: none;
 	border-collapse: collapse;
 }
+
 table.list tr {
 	background: white;
 }
+
 table.list tr:hover {
 	background: #eee;
 }
+
 table.list tr.nohover:hover {
 	background: white;
 }
+
 table.list th {
 	font-weight: normal;
 	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 {
 	width: 100%;
-	border-collapse: collapse;
+	border-collapse: separate;
+	border-spacing: 0px;
 	margin: 0px;
 }
+
+td#header, td#logo {
+	color: #666;
+	background-color: #ddd;
+	border-bottom: solid 1px #000;
+}
+
 td#header {
-	background-color: #ddd;
-	padding: 0.25em 0.25em 0.25em 0.5em;
 	font-size: 150%;
 	font-weight: bold;
-	border-bottom: solid 1px #aaa;
+	padding: 0.2em 0.5em;
+	vertical-align: text-bottom;
+}
+
+td#logo {
+	text-align: right;
 	vertical-align: middle;
+	padding-right: 0.5em;
 }
-td#header img#logo {
-	float: right;
+
+td#crumb, td#search {
+	color: #ccc;
+	border-top: solid 3px #555;
+	background-color: #666;
+	border-bottom: solid 1px #333;
+	padding: 2px 1em;
 }
 
-td#header input {
-	float: right;
-	margin: 0.25em 1em;
+td#crumb {
+	font-weight: bold;
 }
-td#header a {
-	color: black;
+
+td#crumb a {
+	color: #ccc;
+}
+
+td#crumb a:hover {
+	color: #eee;
+}
+
+td#search {
+	text-align: right;
+	vertical-align: center;
+	padding-right: 0.5em;
+}
+
+td#search form {
+	margin: 0px;
+	padding: 0px;
+}
+
+td#search input {
+	font-size: 9pt;
+	padding: 0px;
+	width: 10em;
+	border: solid 1px #333;
+	color: #333;
+	background-color: #fff;
 }
 
 td#content {
@@ -86,18 +140,23 @@ 	color: red;
 	font-weight: bold;
 	margin: 1em 2em;
 }
+
 div.ls-blob, div.ls-dir {
 	font-family: monospace;
 }
+
 div.ls-dir a {
 	font-weight: bold;
 }
+
 th.filesize, td.filesize {
 	text-align: right;
 }
+
 td.filesize {
 	font-family: monospace;
 }
+
 td.filemode {
 	font-family: monospace;
 }
@@ -116,29 +175,35 @@ 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;
 }
+
 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;
 }
+
 table.diffstat {
 	border-collapse: collapse;
 	margin-top: 1.5em;
 }
+
 table.diffstat th {
 	font-weight: normal;
 	text-align: left;
@@ -146,25 +211,30 @@ 	text-decoration: underline;
 	padding: 0.1em 1em 0.1em 0.1em;
 	font-size: 100%;
 }
+
 table.diffstat td {
 	padding: 0.1em 1em 0.1em 0.1em;
 	font-size: 100%;
 }
+
 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.summary {
-	/* border-top: solid 1px black; */
 	color: #888;
 	padding-top: 0.5em;
 }
@@ -191,9 +261,11 @@ .sha1 {
 	font-family: courier;
 	font-size: 90%;
 }
+
 .left {
 	text-align: left;
 }
+
 .right {
 	text-align: right;
 }




diff --git a/ui-diff.c b/ui-diff.c
index 0bd9ade7b5c2bef7383e713c00a0f73350ce141a..b6486f15444b4199096cc50df28beddd0978b116 100644
--- a/ui-diff.c
+++ b/ui-diff.c
@@ -124,7 +124,6 @@
 	get_sha1(old_hex, sha1);
 	get_sha1(new_hex, sha2);
 
-	html("<h2>diff</h2>\n");
 	html("<table class='diff'><tr><td>");
 	run_diff(sha1, sha2);
 	html("</td></tr></table>");




diff --git a/ui-log.c b/ui-log.c
index 24d571d128d18d46252eb795c7923fdfebdf34d7..159393abf855ed9aff82d09149da1dd276a962af 100644
--- a/ui-log.c
+++ b/ui-log.c
@@ -54,7 +54,6 @@ 		compile_grep_patterns(rev.grep_filter);
 	}
 	prepare_revision_walk(&rev);
 
-	html("<h2>Log</h2>");
 	html("<table class='list nowrap'>");
 	html("<tr class='nohover'><th class='left'>Date</th>"
 	     "<th class='left'>Message</th>"




diff --git a/ui-repolist.c b/ui-repolist.c
index 011ec95093fc41240c7167516496ef9bf451d8d5..2ce0d6a62a885a83e700fb885e8dc357bc282e10 100644
--- a/ui-repolist.c
+++ b/ui-repolist.c
@@ -16,7 +16,6 @@
 	cgit_print_docstart(cgit_root_title, item);
 	cgit_print_pageheader(cgit_root_title, 0);
 
-	html("<h2>Repositories</h2>\n");
 	html("<table class='list nowrap'>");
 	html("<tr class='nohover'>"
 	     "<th class='left'>Name</th>"




diff --git a/ui-shared.c b/ui-shared.c
index 172499ce807a16ae4c6c1b89a6c983637d59f05f..bca50aa311dafc6a24c5069a7c551f31118325cd 100644
--- a/ui-shared.c
+++ b/ui-shared.c
@@ -40,6 +40,14 @@ 	html_txt(msg);
 	html("</div>\n");
 }
 
+char *cgit_rooturl()
+{
+	if (cgit_virtual_root)
+		return fmt("%s/", cgit_virtual_root);
+	else
+		return "./cgit.cgi";
+}
+
 char *cgit_repourl(const char *reponame)
 {
 	if (cgit_virtual_root) {
@@ -113,10 +121,23 @@ }
 
 void cgit_print_pageheader(char *title, int show_search)
 {
-	html("<table id='layout'><tr><td id='header'>");
-	htmlf("<a href='%s'>", cgit_logo_link);
-	htmlf("<img id='logo' src='%s'/>\n", cgit_logo);
-	htmlf("</a>");
+	html("<table id='layout'>");
+	html("<tr><td id='header'>");
+	html(cgit_root_title);
+	html("</td><td id='logo'>");
+	html("<a href='");
+	html_attr(cgit_logo_link);
+	htmlf("'><img src='%s'/></a>", cgit_logo);
+	html("</td></tr>");
+	html("<tr><td id='crumb'>");
+	htmlf("<a href='%s'>root</a>", cgit_rooturl());
+	if (cgit_query_repo) {
+		htmlf(" : <a href='%s'>", cgit_repourl(cgit_repo->url));
+		html_txt(cgit_repo->name);
+		htmlf("</a> : %s", title);
+	}
+	html("</td>");
+	html("<td id='search'>");
 	if (show_search) {
 		html("<form method='get' href='");
 		html_attr(cgit_currurl());
@@ -137,12 +158,8 @@ 		html("