all repos — cgit @ 80550bbe028b551550395653d32a0ba50db540ef

a hyperfast web frontend for git written in c

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>
Lars Hjemli hjemli@gmail.com
Tue, 11 Aug 2009 10:12:35 +0200
commit

80550bbe028b551550395653d32a0ba50db540ef

parent

8b2252b0b61617e9de9d9e9ba743881ad62523af

1 files changed, 12 insertions(+), 5 deletions(-)

jump to
M ui-shared.cui-shared.c

@@ -481,8 +481,11 @@ }

void cgit_print_docstart(struct cgit_context *ctx) { - if (ctx->cfg.embedded) + if (ctx->cfg.embedded) { + if (ctx->cfg.header) + html_include(ctx->cfg.header); return; + } char *host = cgit_hosturl(); html(cgit_doctype);

@@ -520,7 +523,13 @@ }

void cgit_print_docend() { - html("</div>"); + html("</div> <!-- class=content -->\n"); + if (ctx.cfg.embedded) { + html("</div> <!-- id=cgit -->\n"); + if (ctx.cfg.footer) + html_include(ctx.cfg.footer); + return; + } if (ctx.cfg.footer) html_include(ctx.cfg.footer); else {

@@ -529,9 +538,7 @@ cgit_version);

cgit_print_date(time(NULL), FMT_LONGDATE, ctx.cfg.local_time); html("</div>\n"); } - html("</div>"); - if (ctx.cfg.embedded) - return; + html("</div> <!-- id=cgit -->\n"); html("</body>\n</html>\n"); }