| -rw-r--r-- | cgit.c | 10 | ||||
| -rw-r--r-- | cgit.css | 23 | ||||
| -rw-r--r-- | cgit.h | 4 | ||||
| -rw-r--r-- | cgitrc | 4 | ||||
| -rw-r--r-- | parsing.c | 2 | ||||
| -rw-r--r-- | shared.c | 27 | ||||
| -rw-r--r-- | ui-log.c | 16 | ||||
| -rw-r--r-- | ui-repolist.c | 35 | ||||
| -rw-r--r-- | ui-shared.c | 71 | ||||
| -rw-r--r-- | ui-summary.c | 2 | ||||
| -rw-r--r-- | ui-tree.c | 4 |
11 files changed, 53 insertions, 145 deletions
@@ -26,15 +26,13 @@ static int cgit_prepare_cache(struct cacheitem *item) } if (!cgit_cmd) { - item->name = xstrdup(fmt("%s/%s/index.%s.html", cgit_cache_root, - cache_safe_filename(cgit_repo->url), - cache_safe_filename(cgit_querystring))); + item->name = xstrdup(fmt("%s/%s/index.html", cgit_cache_root, + cache_safe_filename(cgit_repo->url))); item->ttl = cgit_cache_repo_ttl; } else { item->name = xstrdup(fmt("%s/%s/%s/%s.html", cgit_cache_root, - cache_safe_filename(cgit_repo->url), - cgit_query_page, - cache_safe_filename(cgit_querystring))); + cache_safe_filename(cgit_repo->url), cgit_query_page, + cache_safe_filename(cgit_querystring))); if (cgit_query_has_symref) item->ttl = cgit_cache_dynamic_ttl; else if (cgit_query_has_sha1) @@ -95,14 +95,6 @@ td#header { vertical-align: text-bottom; } -td#header a { - color: #666; -} - -td#header a:hoved { - text-decoration: underline; -} - td#logo { text-align: right; vertical-align: middle; @@ -124,13 +116,11 @@ td#crumb { td#crumb a { color: #ccc; background-color: #666; - padding: 0em 0.5em 0em 0.5em; } td#crumb a:hover { - color: #666; - background-color: #ccc; - text-decoration: none; + color: #eee; + background-color: #666; } td#search { @@ -371,17 +361,16 @@ table.list td.repogroup { a.button { font-size: 80%; - color: #aaa; - background-color: #eee; - border: solid 1px #aaa; + color: #333; + background-color: #ccc; + border: solid 1px #999; padding: 0em 0.5em; margin: 0.1em 0.25em; } a.button:hover { text-decoration: none; - color: #333; - background-color: #ccc; + background-color: #eee; } a.primary { @@ -118,7 +118,6 @@ extern char *cgit_repo_group; extern int cgit_nocache; extern int cgit_snapshots; -extern int cgit_enable_index_links; extern int cgit_enable_log_filecount; extern int cgit_enable_log_linecount; extern int cgit_max_lock_attempts; @@ -159,7 +158,6 @@ extern int chk_zero(int result, char *msg); extern int chk_positive(int result, char *msg); extern int hextoint(char c); -extern char *trim_end(const char *str, char c); extern void *cgit_free_commitinfo(struct commitinfo *info); @@ -206,7 +204,7 @@ extern char *cgit_pageurl(const char *reponame, const char *pagename, extern void cgit_tree_link(char *name, char *title, char *class, char *head, char *rev, char *path); extern void cgit_log_link(char *name, char *title, char *class, char *head, - char *rev, char *path, int ofs); + char *rev, char *path); extern void cgit_commit_link(char *name, char *title, char *class, char *head, char *rev); extern void cgit_diff_link(char *name, char *title, char *class, char *head, @@ -12,10 +12,6 @@ #snapshots=0 -## Enable/disable extra links to summary/log/tree per repo on index page -#enable-index-links=0 - - ## Enable/disable display of 'number of files changed' in log view #enable-log-filecount=0 @@ -168,7 +168,7 @@ void cgit_parse_url(const char *url) if (p) { p[0] = '\0'; if (p[1]) - cgit_query_path = trim_end(p + 1, '/'); + cgit_query_path = xstrdup(p + 1); } cgit_cmd = cgit_get_cmd_index(cmd + 1); cgit_query_page = xstrdup(cmd + 1); @@ -28,7 +28,6 @@ char *cgit_repo_group = NULL; int cgit_nocache = 0; int cgit_snapshots = 0; -int cgit_enable_index_links = 0; int cgit_enable_log_filecount = 0; int cgit_enable_log_linecount = 0; int cgit_max_lock_attempts = 5; @@ -149,8 +148,6 @@ void cgit_global_config_cb(const char *name, const char *value) cgit_nocache = atoi(value); else if (!strcmp(name, "snapshots")) cgit_snapshots = atoi(value); - else if (!strcmp(name, "enable-index-links")) - cgit_enable_index_links = atoi(value); else if (!strcmp(name, "enable-log-filecount")) cgit_enable_log_filecount = atoi(value); else if (!strcmp(name, "enable-log-linecount")) @@ -230,7 +227,7 @@ void cgit_querystring_cb(const char *name, const char *value) } else if (!strcmp(name, "ofs")) { cgit_query_ofs = atoi(value); } else if (!strcmp(name, "path")) { - cgit_query_path = trim_end(value, '/'); + cgit_query_path = xstrdup(value); } else if (!strcmp(name, "name")) { cgit_query_name = xstrdup(value); } @@ -259,28 +256,6 @@ int hextoint(char c) return -1; } -char *trim_end(const char *str, char c) -{ - int len; - char *s, *t; - - if (str == NULL) - return NULL; - t = (char *)str; - len = strlen(t); - while(len > 0 && t[len - 1] == c) - len--; - - if (len == 0) - return NULL; - - c = t[len]; - t[len] = '\0'; - s = xstrdup(t); - t[len] = c; - return s; -} - void cgit_diff_tree_cb(struct diff_queue_struct *q, struct diff_options *options, void *data) { @@ -113,15 +113,17 @@ void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char *path, i if (pager) { html("<div class='pager'>"); if (ofs > 0) { - cgit_log_link("[prev]", NULL, NULL, cgit_query_head, - cgit_query_sha1, cgit_query_path, - ofs - cnt); - html(" "); + html(" <a href='"); + html(cgit_pageurl(cgit_query_repo, cgit_query_page, + fmt("h=%s&ofs=%d", tip, ofs-cnt))); + html("'>[prev]</a> "); } + if ((commit = get_revision(&rev)) != NULL) { - cgit_log_link("[next]", NULL, NULL, cgit_query_head, - cgit_query_sha1, cgit_query_path, - ofs + cnt); + html(" <a href='"); + html(cgit_pageurl(cgit_query_repo, "log", + fmt("h=%s&ofs=%d", tip, ofs+cnt))); + html("'>[next]</a> "); } html("</div>"); } diff --git a/ui-repolist.c b/ui-repolist.c index 4c86543..2018dab 100644 --- a/ui-repolist.c +++ b/ui-repolist.c @@ -44,19 +44,15 @@ static void print_modtime(struct repoinfo *repo) void cgit_print_repolist(struct cacheitem *item) { - int i, columns = 4; + int i; char *last_group = NULL; - if (cgit_enable_index_links) - columns++; - cgit_print_docstart(cgit_root_title, item); cgit_print_pageheader(cgit_root_title, 0); html("<table class='list nowrap'>"); if (cgit_index_header) { - htmlf("<tr class='nohover'><td colspan='%d' class='include-block'>", - columns); + html("<tr class='nohover'><td colspan='5' class='include-block'>"); html_include(cgit_index_header); html("</td></tr>"); } @@ -64,10 +60,8 @@ void cgit_print_repolist(struct cacheitem *item) "<th class='left'>Name</th>" "<th class='left'>Description</th>" "<th class='left'>Owner</th>" - "<th class='left'>Idle</th>"); - if (cgit_enable_index_links) - html("<th>Links</th>"); - html("</tr>\n"); + "<th class='left'>Idle</th>" + "<th>Links</th></tr>\n"); for (i=0; i<cgit_repolist.count; i++) { cgit_repo = &cgit_repolist.repos[i]; @@ -75,8 +69,7 @@ void cgit_print_repolist(struct cacheitem *item) (last_group != NULL && cgit_repo->group == NULL) || (last_group != NULL && cgit_repo->group != NULL && strcmp(cgit_repo->group, last_group))) { - htmlf("<tr class='nohover'><td colspan='%d' class='repogroup'>", - columns); + html("<tr class='nohover'><td colspan='4' class='repogroup'>"); html_txt(cgit_repo->group); html("</td></tr>"); last_group = cgit_repo->group; @@ -92,17 +85,13 @@ void cgit_print_repolist(struct cacheitem *item) html_txt(cgit_repo->owner); html("</td><td>"); print_modtime(cgit_repo); - html("</td>"); - if (cgit_enable_index_links) { - html("<td>"); - html_link_open(cgit_repourl(cgit_repo->url), - NULL, "button"); - html("summary</a>"); - cgit_log_link("log", NULL, "button", NULL, NULL, NULL, 0); - cgit_tree_link("tree", NULL, "button", NULL, NULL, NULL); - html("</td>"); - } - html("</tr>\n"); + html("</td><td>"); + html_link_open(cgit_repourl(cgit_repo->url), + "Summary", "button"); + html("S</a>"); + cgit_log_link("L", "Log", "button", NULL, NULL, NULL); + cgit_tree_link("F", "Files", "button", NULL, NULL, NULL); + html("</td></tr>\n"); } html("</table>"); cgit_print_docend(); diff --git a/ui-shared.c b/ui-shared.c index d4376ce..110c696 100644 --- a/ui-shared.c +++ b/ui-shared.c @@ -111,24 +111,20 @@ static char *repolink(char *title, char *class, char *page, char *head, html_attr(cgit_repo->url); if (cgit_repo->url[strlen(cgit_repo->url) - 1] != '/') html("/"); - if (page) { - html(page); - html("/"); - if (path) - html_attr(path); - } + html(page); + html("/"); + if (path) + html_attr(path); } else { html(cgit_script_name); html("?url="); html_attr(cgit_repo->url); if (cgit_repo->url[strlen(cgit_repo->url) - 1] != '/') html("/"); - if (page) { - html(page); - html("/"); - if (path) - html_attr(path); - } + html(page); + html("/"); + if (path) + html_attr(path); delim = "&"; } if (head && strcmp(head, cgit_repo->defbranch)) { @@ -163,25 +159,9 @@ void cgit_tree_link(char *name, char *title, char *class, char *head, } void cgit_log_link(char *name, char *title, char *class, char *head, - char *rev, char *path, int ofs) + char *rev, char *path) { - char *delim; - - delim = repolink(title, class, "log", head, path); - if (rev && strcmp(rev, cgit_query_head)) { - html(delim); - html("id="); - html_attr(rev); - delim = "&"; - } - if (ofs > 0) { - html(delim); - html("ofs="); - htmlf("%d", ofs); - } - html("'>"); - html_txt(name); - html("</a>"); + reporevlink("log", name, title, class, head, rev, path); } void cgit_commit_link(char *name, char *title, char *class, char *head, @@ -299,38 +279,19 @@ void cgit_print_docend() void cgit_print_pageheader(char *title, int show_search) { html("<table id='layout'>"); - html("<tr><td id='header'><a href='"); - html_attr(cgit_rooturl()); - html("'>"); - html_txt(cgit_root_title); - html("</a></td><td id='logo'>"); + 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' alt='logo'/></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); - html(" ("); - html_txt(cgit_query_head); - html(") : "); - reporevlink(NULL, "summary", NULL, NULL, cgit_query_head, - NULL, NULL); - html(" "); - cgit_log_link("log", NULL, NULL, cgit_query_head, - cgit_query_sha1, cgit_query_path, 0); - html(" "); - cgit_tree_link("tree", NULL, NULL, cgit_query_head, - cgit_query_sha1, NULL); - html(" "); - cgit_commit_link("commit", NULL, NULL, cgit_query_head, - cgit_query_sha1); - html(" "); - cgit_diff_link("diff", NULL, NULL, cgit_query_head, - cgit_query_sha1, cgit_query_sha2, - cgit_query_path); - } else { - html_txt("Index of repositories"); + htmlf("</a> : %s", title); } html("</td>"); html("<td id='search'>"); diff --git a/ui-summary.c b/ui-summary.c index b4bc6d8..03dd078 100644 --- a/ui-summary.c +++ b/ui-summary.c @@ -27,7 +27,7 @@ static int cgit_print_branch_cb(const char *refname, const unsigned char *sha1, if (commit && !parse_commit(commit)){ info = cgit_parse_commit(commit); html("<tr><td>"); - cgit_log_link(ref, NULL, NULL, ref, NULL, NULL, 0); + cgit_log_link(ref, NULL, NULL, ref, NULL, NULL); html("</td><td>"); cgit_print_age(commit->date, -1, NULL); html("</td><td>"); @@ -92,8 +92,8 @@ static int ls_item(const unsigned char *sha1, const char *base, int baselen, htmlf("</td><td class='ls-size'>%li</td>", size); html("<td>"); - cgit_log_link("log", NULL, "button", cgit_query_head, curr_rev, - fullpath, 0); + cgit_log_link("L", "Log", "button", cgit_query_head, curr_rev, + fullpath); html("</td></tr>\n"); free(name); return 0; |