]> granicus.if.org Git - cgit/commitdiff
ui-shared: add support for header/footer options when embedded=1
authorLars Hjemli <hjemli@gmail.com>
Tue, 11 Aug 2009 08:12:35 +0000 (10:12 +0200)
committerLars Hjemli <hjemli@gmail.com>
Tue, 11 Aug 2009 08:12:35 +0000 (10:12 +0200)
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>
ui-shared.c

index 4175bd8d335c710ab24c40b282813d4e8ccf6e96..cf065116cfdd19da8c63f0ae2324c55f9f546cac 100644 (file)
@@ -481,8 +481,11 @@ void cgit_print_http_headers(struct cgit_context *ctx)
 
 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_docstart(struct cgit_context *ctx)
 
 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 @@ void cgit_print_docend()
                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");
 }