about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorLars Hjemli2009-08-11 10:12:35 +0200
committerLars Hjemli2009-08-11 10:12:35 +0200
commit80550bbe028b551550395653d32a0ba50db540ef (patch)
tree9dbbe6dbdbb705a55ace4524cca1435290ce4d2a
parentui-shared: add support for NO_HTTP=1/--nohttp (diff)
downloadcgit-80550bbe028b551550395653d32a0ba50db540ef.tar.gz
cgit-80550bbe028b551550395653d32a0ba50db540ef.zip
ui-shared: add support for header/footer options when embedded=1
When embedded=1, cgit used to ignore the header and footer options.
But honoring these options when embedded=1 makes it possible to "frame"
the html fragment generated by cgit with any kind of static content,
i.e. it should become easier to integrate cgit with site-specfic
layouts.

Original-patch-by: Mark Constable <markc@renta.net>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
-rw-r--r--ui-shared.c17
1 files changed, 12 insertions, 5 deletions
diff --git a/ui-shared.c b/ui-shared.c index 4175bd8..cf06511 100644 --- a/ui-shared.c +++ b/ui-shared.c
@@ -481,8 +481,11 @@ void cgit_print_http_headers(struct cgit_context *ctx)
481 481
482void cgit_print_docstart(struct cgit_context *ctx) 482void cgit_print_docstart(struct cgit_context *ctx)
483{ 483{
484 if (ctx->cfg.embedded) 484 if (ctx->cfg.embedded) {
485 if (ctx->cfg.header)
486 html_include(ctx->cfg.header);
485 return; 487 return;
488 }
486 489
487 char *host = cgit_hosturl(); 490 char *host = cgit_hosturl();
488 html(cgit_doctype); 491 html(cgit_doctype);
@@ -520,7 +523,13 @@ void cgit_print_docstart(struct cgit_context *ctx)
520 523
521void cgit_print_docend() 524void cgit_print_docend()
522{ 525{
523 html("</div>"); 526 html("</div> <!-- class=content -->\n");
527 if (ctx.cfg.embedded) {
528 html("</div> <!-- id=cgit -->\n");
529 if (ctx.cfg.footer)
530 html_include(ctx.cfg.footer);
531 return;
532 }
524 if (ctx.cfg.footer) 533 if (ctx.cfg.footer)
525 html_include(ctx.cfg.footer); 534 html_include(ctx.cfg.footer);
526 else { 535 else {
@@ -529,9 +538,7 @@ void cgit_print_docend()
529 cgit_print_date(time(NULL), FMT_LONGDATE, ctx.cfg.local_time); 538 cgit_print_date(time(NULL), FMT_LONGDATE, ctx.cfg.local_time);
530 html("</div>\n"); 539 html("</div>\n");
531 } 540 }
532 html("</div>"); 541 html("</div> <!-- id=cgit -->\n");
533 if (ctx.cfg.embedded)
534 return;
535 html("</body>\n</html>\n"); 542 html("</body>\n</html>\n");
536} 543}
537 544