neocgit

a more 'modern' version of cgit
Log | Files | Refs | Submodules | README | LICENSE | git clone https://git.ne02ptzero.me/git/neocgit

commit 66cacd053ba900c8eb3b7962027370c84a97f990
parent ac70cb4795c90db02917db63d169b0fadfe9fb99
Author: Lars Hjemli <hjemli@gmail.com>
Date:   Sat, 17 Feb 2007 13:46:18 +0100

Layout update

Diffstat:
Mcgit.c | 13+++++++++++--
Mcgit.css | 98++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----------
Mui-diff.c | 1-
Mui-log.c | 1-
Mui-repolist.c | 1-
Mui-shared.c | 37+++++++++++++++++++++++++++----------
Mui-summary.c | 6++++--
Mui-tree.c | 1-
Mui-view.c | 1-
9 files changed, 127 insertions(+), 32 deletions(-)

diff --git a/cgit.c b/cgit.c @@ -88,11 +88,20 @@ static void cgit_print_repo_page(struct cacheitem *item) 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 @@ -10,7 +10,13 @@ body { 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#header, td#logo { + color: #666; background-color: #ddd; - padding: 0.25em 0.25em 0.25em 0.5em; + border-bottom: solid 1px #000; +} + +td#header { 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#crumb, td#search { + color: #ccc; + border-top: solid 3px #555; + background-color: #666; + border-bottom: solid 1px #333; + padding: 2px 1em; +} + +td#crumb { + font-weight: bold; +} + +td#crumb a { + color: #ccc; } -td#header img#logo { - float: right; + +td#crumb a:hover { + color: #eee; } -td#header input { - float: right; - margin: 0.25em 1em; +td#search { + text-align: right; + vertical-align: center; + padding-right: 0.5em; } -td#header a { - color: black; + +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 @@ div.error { 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 @@ table.diffstat th { 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 @@ table.diff td div.del { font-family: courier; font-size: 90%; } + .left { text-align: left; } + .right { text-align: right; } diff --git a/ui-diff.c b/ui-diff.c @@ -124,7 +124,6 @@ void cgit_print_diff(const char *old_hex, const char *new_hex) 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 @@ -54,7 +54,6 @@ void cgit_print_log(const char *tip, int ofs, int cnt, char *grep) } 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 @@ -16,7 +16,6 @@ void cgit_print_repolist(struct cacheitem *item) 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 @@ -40,6 +40,14 @@ void cgit_print_error(char *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_docend() 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 @@ void cgit_print_pageheader(char *title, int show_search) html_attr(cgit_query_search); html("'/></form>"); } - if (cgit_query_repo) - htmlf("<a href='%s'>", cgit_repourl(cgit_query_repo)); - html_txt(title); - if (cgit_query_repo) - html("</a>"); - html("</td></tr><tr><td id='content'>"); + html("</td></tr>"); + html("<tr><td id='content' colspan='2'>"); } void cgit_print_snapshot_start(const char *mimetype, const char *filename, diff --git a/ui-summary.c b/ui-summary.c @@ -129,8 +129,10 @@ static void cgit_print_tags() void cgit_print_summary() { html("<h2>"); - html_txt("Repo summary page"); - html("</h2>"); + html(cgit_repo->name); + html("</h2><h3>"); + html(cgit_repo->desc); + html("</h3>"); html("<table class='list nowrap'>"); cgit_print_branches(); html("<tr class='nohover'><td colspan='4'>&nbsp;</td></tr>"); diff --git a/ui-tree.c b/ui-tree.c @@ -66,7 +66,6 @@ void cgit_print_tree(const char *hex, char *path) return; } - html("<h2>Tree content</h2>\n"); html_txt(path); html("<table class='list'>\n"); html("<tr class='nohover'>"); diff --git a/ui-view.c b/ui-view.c @@ -32,7 +32,6 @@ void cgit_print_view(const char *hex) } buf[size] = '\0'; - html("<h2>Object content</h2>\n"); html("<table class='list'>\n"); htmlf("<tr class='nohover'><th class='left'>%s %s, %li bytes</th></tr>\n", type, hex, size); html("<tr><td class='blob'>\n");