summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--cgit.c4
-rw-r--r--cgit.h2
-rw-r--r--cgitrc.5.txt9
-rw-r--r--ui-shared.c28
4 files changed, 37 insertions, 6 deletions
diff --git a/cgit.c b/cgit.c
index 513ea12..2039ab1 100644
--- a/cgit.c
+++ b/cgit.c
@@ -52,4 +52,6 @@ void config_cb(const char *name, const char *value)
52 } else if (!strcmp(name, "nocache")) 52 } else if (!strcmp(name, "nocache"))
53 ctx.cfg.nocache = atoi(value); 53 ctx.cfg.nocache = atoi(value);
54 else if (!strcmp(name, "noheader"))
55 ctx.cfg.noheader = atoi(value);
54 else if (!strcmp(name, "snapshots")) 56 else if (!strcmp(name, "snapshots"))
55 ctx.cfg.snapshots = cgit_parse_snapshots_mask(value); 57 ctx.cfg.snapshots = cgit_parse_snapshots_mask(value);
@@ -74,4 +76,6 @@ void config_cb(const char *name, const char *value)
74 else if (!strcmp(name, "cache-dynamic-ttl")) 76 else if (!strcmp(name, "cache-dynamic-ttl"))
75 ctx.cfg.cache_dynamic_ttl = atoi(value); 77 ctx.cfg.cache_dynamic_ttl = atoi(value);
78 else if (!strcmp(name, "embedded"))
79 ctx.cfg.embedded = atoi(value);
76 else if (!strcmp(name, "max-message-length")) 80 else if (!strcmp(name, "max-message-length"))
77 ctx.cfg.max_msg_len = atoi(value); 81 ctx.cfg.max_msg_len = atoi(value);
diff --git a/cgit.h b/cgit.h
index 78b30ba..8c64efe 100644
--- a/cgit.h
+++ b/cgit.h
@@ -157,4 +157,5 @@ struct cgit_config {
157 int cache_root_ttl; 157 int cache_root_ttl;
158 int cache_static_ttl; 158 int cache_static_ttl;
159 int embedded;
159 int enable_index_links; 160 int enable_index_links;
160 int enable_log_filecount; 161 int enable_log_filecount;
@@ -168,4 +169,5 @@ struct cgit_config {
168 int max_stats; 169 int max_stats;
169 int nocache; 170 int nocache;
171 int noheader;
170 int renamelimit; 172 int renamelimit;
171 int snapshots; 173 int snapshots;
diff --git a/cgitrc.5.txt b/cgitrc.5.txt
index 683f3b5..a207fe0 100644
--- a/cgitrc.5.txt
+++ b/cgitrc.5.txt
@@ -60,4 +60,9 @@ css::
60 Default value: "/cgit.css". 60 Default value: "/cgit.css".
61 61
62embedded::
63 Flag which, when set to "1", will make cgit generate a html fragment
64 suitable for embedding in other html pages. Default value: none. See
65 also: "noheader".
66
62enable-index-links:: 67enable-index-links::
63 Flag which, when set to "1", will make cgit generate extra links for 68 Flag which, when set to "1", will make cgit generate extra links for
@@ -154,4 +159,8 @@ nocache::
154 value: "0". 159 value: "0".
155 160
161noheader::
162 Flag which, when set to "1", will make cgit omit the standard header
163 on all pages. Default value: none. See also: "embedded".
164
156renamelimit:: 165renamelimit::
157 Maximum number of files to consider when detecting renames. The value 166 Maximum number of files to consider when detecting renames. The value
diff --git a/ui-shared.c b/ui-shared.c
index 66d5b82..015c52b 100644
--- a/ui-shared.c
+++ b/ui-shared.c
@@ -470,4 +470,7 @@ void cgit_print_http_headers(struct cgit_context *ctx)
470 const char *method = getenv("REQUEST_METHOD"); 470 const char *method = getenv("REQUEST_METHOD");
471 471
472 if (ctx->cfg.embedded)
473 return;
474
472 if (ctx->page.status) 475 if (ctx->page.status)
473 htmlf("Status: %d %s\n", ctx->page.status, ctx->page.statusmsg); 476 htmlf("Status: %d %s\n", ctx->page.status, ctx->page.statusmsg);
@@ -493,4 +496,7 @@ void cgit_print_http_headers(struct cgit_context *ctx)
493void cgit_print_docstart(struct cgit_context *ctx) 496void cgit_print_docstart(struct cgit_context *ctx)
494{ 497{
498 if (ctx->cfg.embedded)
499 return;
500
495 char *host = cgit_hosturl(); 501 char *host = cgit_hosturl();
496 html(cgit_doctype); 502 html(cgit_doctype);
@@ -538,4 +544,7 @@ void cgit_print_docend()
538 html("</div>\n"); 544 html("</div>\n");
539 } 545 }
546 html("</div>");
547 if (ctx.cfg.embedded)
548 return;
540 html("</body>\n</html>\n"); 549 html("</body>\n</html>\n");
541} 550}
@@ -625,11 +634,6 @@ char *hc(struct cgit_cmd *cmd, const char *page)
625} 634}
626 635
627void cgit_print_pageheader(struct cgit_context *ctx) 636static void print_header(struct cgit_context *ctx)
628{ 637{
629 struct cgit_cmd *cmd = cgit_get_cmd(ctx);
630
631 if (!cmd && ctx->repo)
632 fallback_cmd = "summary";
633
634 html("<table id='header'>\n"); 638 html("<table id='header'>\n");
635 html("<tr>\n"); 639 html("<tr>\n");
@@ -672,4 +676,16 @@ void cgit_print_pageheader(struct cgit_context *ctx)
672 } 676 }
673 html("</td></tr></table>\n"); 677 html("</td></tr></table>\n");
678}
679
680void cgit_print_pageheader(struct cgit_context *ctx)
681{
682 struct cgit_cmd *cmd = cgit_get_cmd(ctx);
683
684 if (!cmd && ctx->repo)
685 fallback_cmd = "summary";
686
687 html("<div id='cgit'>");
688 if (!ctx->cfg.noheader)
689 print_header(ctx);
674 690
675 html("<table class='tabs'><tr><td>\n"); 691 html("<table class='tabs'><tr><td>\n");