From e5da4bca54574522b28f88cab0dc8ebad9e35a73 Mon Sep 17 00:00:00 2001 From: Lars Hjemli Date: Wed, 6 Aug 2008 10:53:50 +0200 Subject: Implement plain view This implements a way to access plain blobs by path (similar to the tree view) instead of by sha1. Signed-off-by: Lars Hjemli --- ui-shared.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'ui-shared.c') diff --git a/ui-shared.c b/ui-shared.c index 197ee37..4408969 100644 --- a/ui-shared.c +++ b/ui-shared.c @@ -418,6 +418,8 @@ void cgit_print_http_headers(struct cgit_context *ctx) ctx->page.charset); else if (ctx->page.mimetype) htmlf("Content-Type: %s\n", ctx->page.mimetype); + if (ctx->page.size) + htmlf("Content-Length: %ld\n", ctx->page.size); if (ctx->page.filename) htmlf("Content-Disposition: inline; filename=\"%s\"\n", ctx->page.filename); -- cgit v1.2.3-70-g09d2 From 65b7b876aaaf50fc15060533359d6561f4f1819a Mon Sep 17 00:00:00 2001 From: Lars Hjemli Date: Wed, 6 Aug 2008 11:07:13 +0200 Subject: 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 --- ui-shared.c | 6 ++++++ ui-shared.h | 2 ++ ui-tree.c | 8 ++++---- 3 files changed, 12 insertions(+), 4 deletions(-) (limited to 'ui-shared.c') diff --git a/ui-shared.c b/ui-shared.c index 4408969..a2e0dd2 100644 --- a/ui-shared.c +++ b/ui-shared.c @@ -243,6 +243,12 @@ void cgit_tree_link(char *name, char *title, char *class, char *head, 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 07da4b4..c5ce056 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 9a837e2..79332fc 100644 --- a/ui-tree.c +++ b/ui-tree.c @@ -35,10 +35,10 @@ static void print_object(const unsigned char *sha1, char *path) return; } - html(" blob: %s",sha1_to_hex(sha1)); + html(" ("); + cgit_plain_link("plain", NULL, NULL, ctx.qry.head, + curr_rev, path); + htmlf(")
blob: %s", sha1_to_hex(sha1)); html("\n"); idx = 0; -- cgit v1.2.3-70-g09d2