-rw-r--r-- | cgit.c | 4 | ||||
-rw-r--r-- | cgit.h | 2 | ||||
-rw-r--r-- | cgitrc.5.txt | 9 | ||||
-rw-r--r-- | ui-shared.c | 28 |
4 files changed, 37 insertions, 6 deletions
@@ -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); |
@@ -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 | ||
62 | embedded:: | ||
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 | |||
62 | enable-index-links:: | 67 | enable-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 | ||
161 | noheader:: | ||
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 | |||
156 | renamelimit:: | 165 | renamelimit:: |
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) | |||
493 | void cgit_print_docstart(struct cgit_context *ctx) | 496 | void 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 | ||
627 | void cgit_print_pageheader(struct cgit_context *ctx) | 636 | static 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 | |||
680 | void 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"); |