aboutsummaryrefslogtreecommitdiff
diff refs
from: back
to: back
| flip
diff options
context:
space:
mode:
-rw-r--r--cgit.c10
-rw-r--r--cgit.css23
-rw-r--r--cgit.h4
-rw-r--r--cgitrc4
-rw-r--r--parsing.c2
-rw-r--r--shared.c27
-rw-r--r--ui-log.c16
-rw-r--r--ui-repolist.c35
-rw-r--r--ui-shared.c71
-rw-r--r--ui-summary.c2
-rw-r--r--ui-tree.c4
11 files changed, 53 insertions, 145 deletions
diff --git a/cgit.c b/cgit.c
index d9a03c2..11dff76 100644
--- a/cgit.c
+++ b/cgit.c
@@ -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)
diff --git a/cgit.css b/cgit.css
index 112dac1..cda437e 100644
--- a/cgit.css
+++ b/cgit.css
@@ -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 {
diff --git a/cgit.h b/cgit.h
index 2ff5340..9558362 100644
--- a/cgit.h
+++ b/cgit.h
@@ -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,
diff --git a/cgitrc b/cgitrc
index 40877f8..0f602e4 100644
--- a/cgitrc
+++ b/cgitrc
@@ -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
diff --git a/parsing.c b/parsing.c
index 2c05c09..74a2484 100644
--- a/parsing.c
+++ b/parsing.c
@@ -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);
diff --git a/shared.c b/shared.c
index 1a5b866..f7f43b2 100644
--- a/shared.c
+++ b/shared.c
@@ -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)
{
diff --git a/ui-log.c b/ui-log.c
index d38e40a..95cb453 100644
--- a/ui-log.c
+++ b/ui-log.c
@@ -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("&nbsp;");
+ html("&nbsp;<a href='");
+ html(cgit_pageurl(cgit_query_repo, cgit_query_page,
+ fmt("h=%s&amp;ofs=%d", tip, ofs-cnt)));
+ html("'>[prev]</a>&nbsp;");
}
+
if ((commit = get_revision(&rev)) != NULL) {
- cgit_log_link("[next]", NULL, NULL, cgit_query_head,
- cgit_query_sha1, cgit_query_path,
- ofs + cnt);
+ html("&nbsp;<a href='");
+ html(cgit_pageurl(cgit_query_repo, "log",
+ fmt("h=%s&amp;ofs=%d", tip, ofs+cnt)));
+ html("'>[next]</a>&nbsp;");
}
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 = "&amp;";
}
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(") : &nbsp;");
- 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>");
diff --git a/ui-tree.c b/ui-tree.c
index c5d64ff..1037c82 100644
--- a/ui-tree.c
+++ b/ui-tree.c
@@ -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;