about summary refs log tree commit diff
path: root/ui-summary.c
diff options
context:
space:
mode:
authorLars Hjemli <hjemli@gmail.com>2007-10-30 10:47:38 +0100
committerLars Hjemli <hjemli@gmail.com>2007-10-30 13:38:34 +0100
commit0c8e184e9cbf4d3a1e907de9125f6d8210c169d6 (patch)
tree2e82baf582b7ba0b34f498e1e7494800070067f9 /ui-summary.c
parentAdd config param 'index-info' (diff)
downloadcgit-pink-0c8e184e9cbf4d3a1e907de9125f6d8210c169d6.tar.gz
cgit-pink-0c8e184e9cbf4d3a1e907de9125f6d8210c169d6.zip
Change the cgit layout
This modifies and hopefully improves the layout of all cgit pages:

  * Remove the header from all pages and replace it with a sidebar;
    most pages have sufficient width but many needs more height.

  * Add a dropdown-box to switch between branches, using a one-liner
    javascript to reload the current page in context of the selected branch.

  * Include refs found below refs/archives in the sidebar, appearing as a
    set of menuitems below a 'download' heading.

  * Include the brand new cgit logo

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Diffstat (limited to 'ui-summary.c')
-rw-r--r--ui-summary.c65
1 files changed, 6 insertions, 59 deletions
diff --git a/ui-summary.c b/ui-summary.c
index ba90510..39fe330 100644
--- a/ui-summary.c
+++ b/ui-summary.c
@@ -120,47 +120,6 @@ static int print_tag(struct refinfo *ref)
 	return 0;
 }
 
-static int cgit_print_archive_cb(const char *refname, const unsigned char *sha1,
-				 int flags, void *cb_data)
-{
-	struct tag *tag;
-	struct taginfo *info;
-	struct object *obj;
-	char buf[256], *url;
-	unsigned char fileid[20];
-
-	if (prefixcmp(refname, "refs/archives"))
-		return 0;
-	strncpy(buf, refname+14, sizeof(buf));
-	obj = parse_object(sha1);
-	if (!obj)
-		return 1;
-	if (obj->type == OBJ_TAG) {
-		tag = lookup_tag(sha1);
-		if (!tag || parse_tag(tag) || !(info = cgit_parse_tag(tag)))
-			return 0;
-		hashcpy(fileid, tag->tagged->sha1);
-	} else if (obj->type != OBJ_BLOB) {
-		return 0;
-	} else {
-		hashcpy(fileid, sha1);
-	}
-	if (!header) {
-		html("<table id='downloads'>");
-		html("<tr><th>Downloads</th></tr>");
-		header = 1;
-	}
-	html("<tr><td>");
-	url = cgit_pageurl(cgit_query_repo, "blob",
-			   fmt("id=%s&amp;path=%s", sha1_to_hex(fileid),
-			       buf));
-	html_link_open(url, NULL, NULL);
-	html_txt(buf);
-	html_link_close();
-	html("</td></tr>");
-	return 0;
-}
-
 static void print_refs_link(char *path)
 {
 	html("<tr class='nohover'><td colspan='4'>");
@@ -221,28 +180,16 @@ void cgit_print_tags(int maxcount)
 		print_refs_link("tags");
 }
 
-static void cgit_print_archives()
-{
-	header = 0;
-	for_each_ref(cgit_print_archive_cb, NULL);
-	if (header)
-		html("</table>");
-}
-
 void cgit_print_summary()
 {
-	html("<div id='summary'>");
-	cgit_print_archives();
-	html("<h2>");
-	html_txt(cgit_repo->name);
-	html(" - ");
-	html_txt(cgit_repo->desc);
-	html("</h2>");
-	if (cgit_repo->readme)
+	if (cgit_repo->readme) {
+		html("<div id='summary'>");
 		html_include(cgit_repo->readme);
-	html("</div>");
+		html("</div>");
+	}
 	if (cgit_summary_log > 0)
-		cgit_print_log(cgit_query_head, 0, cgit_summary_log, NULL, NULL, NULL, 0);
+		cgit_print_log(cgit_query_head, 0, cgit_summary_log, NULL,
+			       NULL, NULL, 0);
 	html("<table class='list nowrap'>");
 	if (cgit_summary_log > 0)
 		html("<tr class='nohover'><td colspan='4'>&nbsp;</td></tr>");