From b115955d71c50cd2d0065c45f3df6b02fa4730bd Mon Sep 17 00:00:00 2001
From: Lars Hjemli <hjemli@gmail.com>
Date: Thu, 29 Jan 2009 21:27:39 +0100
Subject: Add support for a custom header

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

diff --git a/cgit.c b/cgit.c
index 608cab6..64d95f9 100644
--- a/cgit.c
+++ b/cgit.c
@@ -31,6 +31,8 @@ void config_cb(const char *name, const char *value)
 		ctx.cfg.favicon = xstrdup(value);
 	else if (!strcmp(name, "footer"))
 		ctx.cfg.footer = xstrdup(value);
+	else if (!strcmp(name, "header"))
+		ctx.cfg.header = xstrdup(value);
 	else if (!strcmp(name, "logo"))
 		ctx.cfg.logo = xstrdup(value);
 	else if (!strcmp(name, "index-header"))
diff --git a/cgit.h b/cgit.h
index 4fe94c6..4942b96 100644
--- a/cgit.h
+++ b/cgit.h
@@ -135,6 +135,7 @@ struct cgit_config {
 	char *css;
 	char *favicon;
 	char *footer;
+	char *header;
 	char *index_header;
 	char *index_info;
 	char *logo;
diff --git a/cgitrc.5.txt b/cgitrc.5.txt
index 09f56a6..fd299ae 100644
--- a/cgitrc.5.txt
+++ b/cgitrc.5.txt
@@ -84,6 +84,10 @@ footer
 	verbatim at the bottom of all pages (i.e. it replaces the standard
 	"generated by..." message. Default value: none.
 
+header
+	The content of the file specified with this option will be included
+	verbatim at the top of all pages. Default value: none.
+
 include
 	Name of a configfile to include before the rest of the current config-
 	file is parsed. Default value: none.
diff --git a/ui-shared.c b/ui-shared.c
index 4f28512..de77bbf 100644
--- a/ui-shared.c
+++ b/ui-shared.c
@@ -500,6 +500,8 @@ void cgit_print_docstart(struct cgit_context *ctx)
 	}
 	html("</head>\n");
 	html("<body>\n");
+	if (ctx->cfg.header)
+		html_include(ctx->cfg.header);
 }
 
 void cgit_print_docend()
-- 
cgit v0.10.1