summaryrefslogtreecommitdiffstatshomepage
path: root/cgit.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--cgit.c36
-rw-r--r--cgit.css75
2 files changed, 68 insertions, 43 deletions
diff --git a/cgit.c b/cgit.c
index 34e590e..c86d290 100644
--- a/cgit.c
+++ b/cgit.c
@@ -8,9 +8,6 @@
#include "cgit.h"
-const char cgit_version[] = CGIT_VERSION;
-
-
static int cgit_prepare_cache(struct cacheitem *item)
{
if (!cgit_repo && cgit_query_repo) {
@@ -29,13 +26,15 @@ static int cgit_prepare_cache(struct cacheitem *item)
}
if (!cgit_cmd) {
- item->name = xstrdup(fmt("%s/%s/index.html", cgit_cache_root,
- cache_safe_filename(cgit_repo->url)));
+ item->name = xstrdup(fmt("%s/%s/index.%s.html", cgit_cache_root,
+ cache_safe_filename(cgit_repo->url),
+ cache_safe_filename(cgit_querystring)));
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)
@@ -69,8 +68,10 @@ static void cgit_print_repo_page(struct cacheitem *item)
setenv("GIT_DIR", cgit_repo->path, 1);
if ((cgit_cmd == CMD_SNAPSHOT) && cgit_repo->snapshots) {
- cgit_print_snapshot(item, cgit_query_sha1, "zip",
- cgit_repo->url, cgit_query_name);
+ cgit_print_snapshot(item, cgit_query_head, cgit_query_sha1,
+ cgit_repobasename(cgit_repo->url),
+ cgit_query_path,
+ cgit_repo->snapshots );
return;
}
@@ -92,22 +93,21 @@ static void cgit_print_repo_page(struct cacheitem *item)
switch(cgit_cmd) {
case CMD_LOG:
- cgit_print_log(cgit_query_head, cgit_query_ofs,
+ cgit_print_log(cgit_query_sha1, cgit_query_ofs,
cgit_max_commit_count, cgit_query_search,
cgit_query_path, 1);
break;
case CMD_TREE:
- cgit_print_tree(cgit_query_head, cgit_query_sha1, cgit_query_path);
+ cgit_print_tree(cgit_query_sha1, cgit_query_path);
break;
case CMD_COMMIT:
- cgit_print_commit(cgit_query_head);
+ cgit_print_commit(cgit_query_sha1);
break;
- case CMD_VIEW:
- cgit_print_view(cgit_query_sha1, cgit_query_path);
+ case CMD_TAG:
+ cgit_print_tag(cgit_query_sha1);
break;
case CMD_DIFF:
- cgit_print_diff(cgit_query_head, cgit_query_sha1, cgit_query_sha2,
- cgit_query_path);
+ cgit_print_diff(cgit_query_sha1, cgit_query_sha2);
break;
default:
cgit_print_error("Invalid request");
@@ -227,6 +227,7 @@ static void cgit_parse_args(int argc, const char **argv)
int main(int argc, const char **argv)
{
struct cacheitem item;
+ const char *cgit_config_env = getenv("CGIT_CONFIG");
htmlfd = STDOUT_FILENO;
item.st.st_mtime = time(NULL);
@@ -234,7 +235,8 @@ int main(int argc, const char **argv)
cgit_repolist.count = 0;
cgit_repolist.repos = NULL;
- cgit_read_config(CGIT_CONFIG, cgit_global_config_cb);
+ cgit_read_config(cgit_config_env ? cgit_config_env : CGIT_CONFIG,
+ cgit_global_config_cb);
cgit_repo = NULL;
if (getenv("SCRIPT_NAME"))
cgit_script_name = xstrdup(getenv("SCRIPT_NAME"));
diff --git a/cgit.css b/cgit.css
index 8977533..54bbfcc 100644
--- a/cgit.css
+++ b/cgit.css
@@ -1,6 +1,7 @@
body {
- font-family: arial;
+ font-family: arial, sans-serif;
font-size: 11pt;
+ color: black;
background: white;
}
@@ -94,6 +95,14 @@ 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;
@@ -114,15 +123,19 @@ td#crumb {
td#crumb a {
color: #ccc;
+ background-color: #666;
+ padding: 0em 0.5em 0em 0.5em;
}
td#crumb a:hover {
- color: #eee;
+ color: #666;
+ background-color: #ccc;
+ text-decoration: none;
}
td#search {
text-align: right;
- vertical-align: center;
+ vertical-align: middle;
padding-right: 0.5em;
}
@@ -171,35 +184,47 @@ div.error {
margin: 1em 2em;
}
-td.ls-blob, td.ls-dir, td.ls-mod {
+a.ls-blob, a.ls-dir, a.ls-mod {
font-family: monospace;
}
-div.ls-dir a {
- font-weight: bold;
+td.ls-size {
+ text-align: right;
}
-th.filesize, td.filesize {
- text-align: right;
+td.ls-size {
+ font-family: monospace;
}
-td.filesize {
+td.ls-mode {
font-family: monospace;
}
-td.links {
- font-size: 80%;
- padding-left: 2em;
+table.blob {
+ margin-top: 0.5em;
+ border-top: solid 1px black;
}
-td.filemode {
- font-family: monospace;
+table.blob td.no {
+ border-right: solid 1px black;
+ color: black;
+ background-color: #eee;
+ text-align: right;
+}
+
+table.blob td.no a {
+ color: black;
}
-td.blob {
+table.blob td.no a:hover {
+ color: black;
+ text-decoration: none;
+}
+
+table.blob td.txt {
white-space: pre;
font-family: monospace;
- background-color: white;
+ padding-left: 0.5em;
}
table.nowrap td {
@@ -215,6 +240,7 @@ table.commit-info th {
text-align: left;
font-weight: normal;
padding: 0.1em 1em 0.1em 0.1em;
+ vertical-align: top;
}
table.commit-info td {
@@ -287,7 +313,7 @@ table.diffstat td.upd a {
table.diffstat td.graph {
width: 75%;
- vertical-align: center;
+ vertical-align: middle;
}
table.diffstat td.graph table {
@@ -308,10 +334,6 @@ table.diffstat td.graph td.rem {
background-color: #c55;
}
-table.diffstat td.graph td.none {
- background-color: none;
-}
-
div.diffstat-summary {
color: #888;
padding-top: 0.5em;
@@ -340,7 +362,7 @@ table.diff td div.del {
}
.sha1 {
- font-family: courier;
+ font-family: monospace;
font-size: 90%;
}
@@ -359,16 +381,17 @@ table.list td.repogroup {
a.button {
font-size: 80%;
- color: #333;
- background-color: #ccc;
- border: solid 1px #999;
+ color: #aaa;
+ background-color: #eee;
+ border: solid 1px #aaa;
padding: 0em 0.5em;
margin: 0.1em 0.25em;
}
a.button:hover {
text-decoration: none;
- background-color: #eee;
+ color: #333;
+ background-color: #ccc;
}
a.primary {