From 0cbb50841ac82e08e715bbff614f96c7d5ba22fa Mon Sep 17 00:00:00 2001
From: Lars Hjemli
Date: Thu, 22 Jan 2009 23:33:56 +0100
Subject: Add support for an 'embedded' option in cgitrc
When activated, cgit will neither generate http headers nor any 'framing'
html elements (like and
). Also, all page content is now
wrapped in a element to make it easier to select the
correct cgit classes when embedded/themed.
Suggested-by: Matt Sealey
Signed-off-by: Lars Hjemli
---
ui-shared.c | 10 ++++++++++
1 file changed, 10 insertions(+)
(limited to 'ui-shared.c')
diff --git a/ui-shared.c b/ui-shared.c
index de77bbf..f18b2c7 100644
--- a/ui-shared.c
+++ b/ui-shared.c
@@ -456,6 +456,9 @@ void cgit_print_age(time_t t, time_t max_relative, char *format)
void cgit_print_http_headers(struct cgit_context *ctx)
{
+ if (ctx->cfg.embedded)
+ return;
+
if (ctx->page.mimetype && ctx->page.charset)
htmlf("Content-Type: %s; charset=%s\n", ctx->page.mimetype,
ctx->page.charset);
@@ -473,6 +476,9 @@ void cgit_print_http_headers(struct cgit_context *ctx)
void cgit_print_docstart(struct cgit_context *ctx)
{
+ if (ctx->cfg.embedded)
+ return;
+
char *host = cgit_hosturl();
html(cgit_doctype);
html("\n");
@@ -515,6 +521,9 @@ void cgit_print_docend()
cgit_print_date(time(NULL), FMT_LONGDATE, ctx.cfg.local_time);
html("
\n");
}
+ html("");
+ if (ctx.cfg.embedded)
+ return;
html("\n\n");
}
@@ -609,6 +618,7 @@ void cgit_print_pageheader(struct cgit_context *ctx)
if (!cmd && ctx->repo)
fallback_cmd = "summary";
+ html("");
html("