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("