cgit

commit ef0c6aadf70e33ef63f0a68ca16338a49d0a3f1f

Author: Lars Hjemli <hjemli@gmail.com>

Add support for 'noheader' option

This option can be used to disable the standard cgit page header, which
might be useful in combination with the 'embedded' option.

Suggested-by: Mark Constable <markc@renta.net>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>

 cgit.c | 2 ++
 cgit.h | 1 +
 ui-shared.c | 20 +++++++++++++-------


diff --git a/cgit.c b/cgit.c
index 2aef44dbd1da27b62326d3dabfa7023a541095de..38f0fdda6c3d76bca1fe7dd0734253b1f9ac4529 100644
--- a/cgit.c
+++ b/cgit.c
@@ -49,6 +49,8 @@ 		if (!ctx.cfg.virtual_root && (!strcmp(value, "/")))
 			ctx.cfg.virtual_root = "";
 	} else if (!strcmp(name, "nocache"))
 		ctx.cfg.nocache = atoi(value);
+	else if (!strcmp(name, "noheader"))
+		ctx.cfg.noheader = atoi(value);
 	else if (!strcmp(name, "snapshots"))
 		ctx.cfg.snapshots = cgit_parse_snapshots_mask(value);
 	else if (!strcmp(name, "enable-index-links"))




diff --git a/cgit.h b/cgit.h
index 73d7208a2c7d24a8dd627da6321809521a5f2b48..1056231fb0f9169ec9e1fec6f62bea542aa20d3c 100644
--- a/cgit.h
+++ b/cgit.h
@@ -172,6 +172,7 @@ 	int summary_branches;
 	int summary_log;
 	int summary_tags;
 	int embedded;
+	int noheader;
 };
 
 struct cgit_page {




diff --git a/ui-shared.c b/ui-shared.c
index f18b2c74f661ce2ec1fbb5365ca9204fdaab8bfe..5e03a7a52ef7697f039b684f2fc1779fecbb9270 100644
--- a/ui-shared.c
+++ b/ui-shared.c
@@ -611,14 +611,8 @@ {
 	return (strcmp(cmd ? cmd->name : fallback_cmd, page) ? NULL : "active");
 }
 
-void cgit_print_pageheader(struct cgit_context *ctx)
+static void print_header(struct cgit_context *ctx)
 {
-	struct cgit_cmd *cmd = cgit_get_cmd(ctx);
-
-	if (!cmd && ctx->repo)
-		fallback_cmd = "summary";
-
-	html("<div id='cgit'>");
 	html("<table id='header'>\n");
 	html("<tr>\n");
 	html("<td class='logo' rowspan='2'><a href='");
@@ -659,6 +653,18 @@ 		else if (ctx->cfg.index_info)
 			html_include(ctx->cfg.index_info);
 	}
 	html("</td></tr></table>\n");
+}
+
+void cgit_print_pageheader(struct cgit_context *ctx)
+{
+	struct cgit_cmd *cmd = cgit_get_cmd(ctx);
+
+	if (!cmd && ctx->repo)
+		fallback_cmd = "summary";
+
+	html("<div id='cgit'>");
+	if (!ctx->cfg.noheader)
+		print_header(ctx);
 
 	html("<table class='tabs'><tr><td>\n");
 	if (ctx->repo) {