summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--cgit.css14
-rw-r--r--ui-shared.c35
2 files changed, 41 insertions, 8 deletions
diff --git a/cgit.css b/cgit.css
index cda437e..9c79c32 100644
--- a/cgit.css
+++ b/cgit.css
@@ -86,50 +86,60 @@ td#header, td#logo {
color: #666;
background-color: #ddd;
border-bottom: solid 1px #000;
}
td#header {
font-size: 150%;
font-weight: bold;
padding: 0.2em 0.5em;
vertical-align: text-bottom;
}
+td#header a {
+ color: #666;
+}
+
+td#header a:hoved {
+ text-decoration: underline;
+}
+
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;
background-color: #666;
+ padding: 0em 0.5em 0em 0.5em;
}
td#crumb a:hover {
- color: #eee;
- background-color: #666;
+ color: #666;
+ background-color: #ccc;
+ text-decoration: none;
}
td#search {
text-align: right;
vertical-align: middle;
padding-right: 0.5em;
}
td#search form {
margin: 0px;
padding: 0px;
}
diff --git a/ui-shared.c b/ui-shared.c
index 15d8254..383b8ac 100644
--- a/ui-shared.c
+++ b/ui-shared.c
@@ -102,38 +102,42 @@ static char *repolink(char *title, char *class, char *page, char *head,
html(" class='");
html_attr(class);
html("'");
}
html(" href='");
if (cgit_virtual_root) {
html_attr(cgit_virtual_root);
if (cgit_virtual_root[strlen(cgit_virtual_root) - 1] != '/')
html("/");
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);
+ }
} 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);
+ }
delim = "&";
}
if (head && strcmp(head, cgit_repo->defbranch)) {
html(delim);
html("h=");
html_attr(head);
delim = "&";
}
return fmt("%s", delim);
}
static void reporevlink(char *page, char *name, char *title, char *class,
@@ -270,37 +274,56 @@ void cgit_print_docstart(char *title, struct cacheitem *item)
html("<body>\n");
}
void cgit_print_docend()
{
html("</td></tr></table>");
html("</body>\n</html>\n");
}
void cgit_print_pageheader(char *title, int show_search)
{
html("<table id='layout'>");
- html("<tr><td id='header'>");
- html(cgit_root_title);
- html("</td><td id='logo'>");
+ html("<tr><td id='header'><a href='");
+ html_attr(cgit_rooturl());
+ html("'>");
+ html_txt(cgit_root_title);
+ html("</a></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);
- htmlf("</a> : %s", title);
+ 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);
+ html(" ");
+ cgit_tree_link("files", NULL, NULL, cgit_query_head,
+ cgit_query_sha1, cgit_query_path);
+ 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");
}
html("</td>");
html("<td id='search'>");
if (show_search) {
html("<form method='get' action='");
html_attr(cgit_currurl());
html("'>");
if (!cgit_virtual_root) {
if (cgit_query_repo)
html_hidden("r", cgit_query_repo);
if (cgit_query_page)
html_hidden("p", cgit_query_page);