cgit

commit 65b7b876aaaf50fc15060533359d6561f4f1819a

Author: Lars Hjemli <hjemli@gmail.com>

ui-tree: link to plain view instead of blob view

The urls for plain view makes it possible to download blobs without knowing
their SHA1, but the function needs to be promoted and the link from tree
view seems like a perfect fit.

PS: Although hidden, the blob view still is nice for direct blob access so
there's no point in removing it.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>

 ui-shared.c | 6 ++++++
 ui-shared.h | 2 ++
 ui-tree.c | 8 ++++----


diff --git a/ui-shared.c b/ui-shared.c
index 4408969c4a3a244b98d2d6678fcdff2c93a03a04..a2e0dd2b77c97efa2dbd43df4aed7ef2eae6e2a7 100644
--- a/ui-shared.c
+++ b/ui-shared.c
@@ -243,6 +243,12 @@ {
 	reporevlink("tree", name, title, class, head, rev, path);
 }
 
+void cgit_plain_link(char *name, char *title, char *class, char *head,
+		     char *rev, char *path)
+{
+	reporevlink("plain", name, title, class, head, rev, path);
+}
+
 void cgit_log_link(char *name, char *title, char *class, char *head,
 		   char *rev, char *path, int ofs, char *grep, char *pattern)
 {




diff --git a/ui-shared.h b/ui-shared.h
index 07da4b40577e402095a01813310d93a776fdd344..c5ce056f4e4fce040029ac9e1c43da91b430a15c 100644
--- a/ui-shared.h
+++ b/ui-shared.h
@@ -11,6 +11,8 @@ extern void cgit_index_link(char *name, char *title, char *class,
 			    char *pattern, int ofs);
 extern void cgit_tree_link(char *name, char *title, char *class, char *head,
 			   char *rev, char *path);
+extern void cgit_plain_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 *grep,
 			  char *pattern);




diff --git a/ui-tree.c b/ui-tree.c
index 9a837e2a058c28f8b371a73d04e725ec9dab8951..79332fc9eb22cc83bf4a098abcaf32102862b4d1 100644
--- a/ui-tree.c
+++ b/ui-tree.c
@@ -35,10 +35,10 @@ 				     sha1_to_hex(sha1)));
 		return;
 	}
 
-	html(" blob: <a href='");
-	html_attr(cgit_pageurl(ctx.qry.repo, "blob",
-			       fmt("id=%s&path=%s", sha1_to_hex(sha1), path)));
-	htmlf("'>%s</a>",sha1_to_hex(sha1));
+	html(" (");
+	cgit_plain_link("plain", NULL, NULL, ctx.qry.head,
+		        curr_rev, path);
+	htmlf(")<br/>blob: %s", sha1_to_hex(sha1));
 
 	html("<table summary='blob content' class='blob'>\n");
 	idx = 0;