summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--ui-shared.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/ui-shared.c b/ui-shared.c
index 137e469..3d5030b 100644
--- a/ui-shared.c
+++ b/ui-shared.c
@@ -513,49 +513,49 @@ void cgit_print_docstart(struct cgit_context *ctx)
513 } 513 }
514 514
515 char *host = cgit_hosturl(); 515 char *host = cgit_hosturl();
516 html(cgit_doctype); 516 html(cgit_doctype);
517 html("<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>\n"); 517 html("<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>\n");
518 html("<head>\n"); 518 html("<head>\n");
519 html("<title>"); 519 html("<title>");
520 html_txt(ctx->page.title); 520 html_txt(ctx->page.title);
521 html("</title>\n"); 521 html("</title>\n");
522 htmlf("<meta name='generator' content='cgit %s'/>\n", cgit_version); 522 htmlf("<meta name='generator' content='cgit %s'/>\n", cgit_version);
523 if (ctx->cfg.robots && *ctx->cfg.robots) 523 if (ctx->cfg.robots && *ctx->cfg.robots)
524 htmlf("<meta name='robots' content='%s'/>\n", ctx->cfg.robots); 524 htmlf("<meta name='robots' content='%s'/>\n", ctx->cfg.robots);
525 html("<link rel='stylesheet' type='text/css' href='"); 525 html("<link rel='stylesheet' type='text/css' href='");
526 html_attr(ctx->cfg.css); 526 html_attr(ctx->cfg.css);
527 html("'/>\n"); 527 html("'/>\n");
528 if (ctx->cfg.favicon) { 528 if (ctx->cfg.favicon) {
529 html("<link rel='shortcut icon' href='"); 529 html("<link rel='shortcut icon' href='");
530 html_attr(ctx->cfg.favicon); 530 html_attr(ctx->cfg.favicon);
531 html("'/>\n"); 531 html("'/>\n");
532 } 532 }
533 if (host && ctx->repo) { 533 if (host && ctx->repo) {
534 html("<link rel='alternate' title='Atom feed' href='"); 534 html("<link rel='alternate' title='Atom feed' href='");
535 html(cgit_httpscheme()); 535 html(cgit_httpscheme());
536 html_attr(cgit_hosturl()); 536 html_attr(cgit_hosturl());
537 html_attr(cgit_fileurl(ctx->repo->url, "atom", ctx->qry.path, 537 html_attr(cgit_fileurl(ctx->repo->url, "atom", ctx->qry.vpath,
538 fmt("h=%s", ctx->qry.head))); 538 fmt("h=%s", ctx->qry.head)));
539 html("' type='application/atom+xml'/>\n"); 539 html("' type='application/atom+xml'/>\n");
540 } 540 }
541 if (ctx->cfg.head_include) 541 if (ctx->cfg.head_include)
542 html_include(ctx->cfg.head_include); 542 html_include(ctx->cfg.head_include);
543 html("</head>\n"); 543 html("</head>\n");
544 html("<body>\n"); 544 html("<body>\n");
545 if (ctx->cfg.header) 545 if (ctx->cfg.header)
546 html_include(ctx->cfg.header); 546 html_include(ctx->cfg.header);
547} 547}
548 548
549void cgit_print_docend() 549void cgit_print_docend()
550{ 550{
551 html("</div> <!-- class=content -->\n"); 551 html("</div> <!-- class=content -->\n");
552 if (ctx.cfg.embedded) { 552 if (ctx.cfg.embedded) {
553 html("</div> <!-- id=cgit -->\n"); 553 html("</div> <!-- id=cgit -->\n");
554 if (ctx.cfg.footer) 554 if (ctx.cfg.footer)
555 html_include(ctx.cfg.footer); 555 html_include(ctx.cfg.footer);
556 return; 556 return;
557 } 557 }
558 if (ctx.cfg.footer) 558 if (ctx.cfg.footer)
559 html_include(ctx.cfg.footer); 559 html_include(ctx.cfg.footer);
560 else { 560 else {
561 htmlf("<div class='footer'>generated by cgit %s at ", 561 htmlf("<div class='footer'>generated by cgit %s at ",
@@ -600,50 +600,50 @@ int print_archive_ref(const char *refname, const unsigned char *sha1,
600 return 0; 600 return 0;
601 } else { 601 } else {
602 hashcpy(fileid, sha1); 602 hashcpy(fileid, sha1);
603 } 603 }
604 if (!*header) { 604 if (!*header) {
605 html("<h1>download</h1>\n"); 605 html("<h1>download</h1>\n");
606 *header = 1; 606 *header = 1;
607 } 607 }
608 url = cgit_pageurl(ctx.qry.repo, "blob", 608 url = cgit_pageurl(ctx.qry.repo, "blob",
609 fmt("id=%s&amp;path=%s", sha1_to_hex(fileid), 609 fmt("id=%s&amp;path=%s", sha1_to_hex(fileid),
610 buf)); 610 buf));
611 html_link_open(url, NULL, "menu"); 611 html_link_open(url, NULL, "menu");
612 html_txt(strlpart(buf, 20)); 612 html_txt(strlpart(buf, 20));
613 html_link_close(); 613 html_link_close();
614 return 0; 614 return 0;
615} 615}
616 616
617void cgit_add_hidden_formfields(int incl_head, int incl_search, 617void cgit_add_hidden_formfields(int incl_head, int incl_search,
618 const char *page) 618 const char *page)
619{ 619{
620 char *url; 620 char *url;
621 621
622 if (!ctx.cfg.virtual_root) { 622 if (!ctx.cfg.virtual_root) {
623 url = fmt("%s/%s", ctx.qry.repo, page); 623 url = fmt("%s/%s", ctx.qry.repo, page);
624 if (ctx.qry.path) 624 if (ctx.qry.vpath)
625 url = fmt("%s/%s", url, ctx.qry.path); 625 url = fmt("%s/%s", url, ctx.qry.vpath);
626 html_hidden("url", url); 626 html_hidden("url", url);
627 } 627 }
628 628
629 if (incl_head && ctx.qry.head && ctx.repo->defbranch && 629 if (incl_head && ctx.qry.head && ctx.repo->defbranch &&
630 strcmp(ctx.qry.head, ctx.repo->defbranch)) 630 strcmp(ctx.qry.head, ctx.repo->defbranch))
631 html_hidden("h", ctx.qry.head); 631 html_hidden("h", ctx.qry.head);
632 632
633 if (ctx.qry.sha1) 633 if (ctx.qry.sha1)
634 html_hidden("id", ctx.qry.sha1); 634 html_hidden("id", ctx.qry.sha1);
635 if (ctx.qry.sha2) 635 if (ctx.qry.sha2)
636 html_hidden("id2", ctx.qry.sha2); 636 html_hidden("id2", ctx.qry.sha2);
637 if (ctx.qry.showmsg) 637 if (ctx.qry.showmsg)
638 html_hidden("showmsg", "1"); 638 html_hidden("showmsg", "1");
639 639
640 if (incl_search) { 640 if (incl_search) {
641 if (ctx.qry.grep) 641 if (ctx.qry.grep)
642 html_hidden("qt", ctx.qry.grep); 642 html_hidden("qt", ctx.qry.grep);
643 if (ctx.qry.search) 643 if (ctx.qry.search)
644 html_hidden("q", ctx.qry.search); 644 html_hidden("q", ctx.qry.search);
645 } 645 }
646} 646}
647 647
648static const char *hc(struct cgit_context *ctx, const char *page) 648static const char *hc(struct cgit_context *ctx, const char *page)
649{ 649{
@@ -707,49 +707,49 @@ void cgit_print_pageheader(struct cgit_context *ctx)
707 if (ctx->repo) { 707 if (ctx->repo) {
708 cgit_summary_link("summary", NULL, hc(ctx, "summary"), 708 cgit_summary_link("summary", NULL, hc(ctx, "summary"),
709 ctx->qry.head); 709 ctx->qry.head);
710 cgit_refs_link("refs", NULL, hc(ctx, "refs"), ctx->qry.head, 710 cgit_refs_link("refs", NULL, hc(ctx, "refs"), ctx->qry.head,
711 ctx->qry.sha1, NULL); 711 ctx->qry.sha1, NULL);
712 cgit_log_link("log", NULL, hc(ctx, "log"), ctx->qry.head, 712 cgit_log_link("log", NULL, hc(ctx, "log"), ctx->qry.head,
713 NULL, NULL, 0, NULL, NULL, ctx->qry.showmsg); 713 NULL, NULL, 0, NULL, NULL, ctx->qry.showmsg);
714 cgit_tree_link("tree", NULL, hc(ctx, "tree"), ctx->qry.head, 714 cgit_tree_link("tree", NULL, hc(ctx, "tree"), ctx->qry.head,
715 ctx->qry.sha1, NULL); 715 ctx->qry.sha1, NULL);
716 cgit_commit_link("commit", NULL, hc(ctx, "commit"), 716 cgit_commit_link("commit", NULL, hc(ctx, "commit"),
717 ctx->qry.head, ctx->qry.sha1, 0); 717 ctx->qry.head, ctx->qry.sha1, 0);
718 cgit_diff_link("diff", NULL, hc(ctx, "diff"), ctx->qry.head, 718 cgit_diff_link("diff", NULL, hc(ctx, "diff"), ctx->qry.head,
719 ctx->qry.sha1, ctx->qry.sha2, NULL, 0); 719 ctx->qry.sha1, ctx->qry.sha2, NULL, 0);
720 if (ctx->repo->max_stats) 720 if (ctx->repo->max_stats)
721 cgit_stats_link("stats", NULL, hc(ctx, "stats"), 721 cgit_stats_link("stats", NULL, hc(ctx, "stats"),
722 ctx->qry.head, NULL); 722 ctx->qry.head, NULL);
723 if (ctx->repo->readme) 723 if (ctx->repo->readme)
724 reporevlink("about", "about", NULL, 724 reporevlink("about", "about", NULL,
725 hc(ctx, "about"), ctx->qry.head, NULL, 725 hc(ctx, "about"), ctx->qry.head, NULL,
726 NULL); 726 NULL);
727 html("</td><td class='form'>"); 727 html("</td><td class='form'>");
728 html("<form class='right' method='get' action='"); 728 html("<form class='right' method='get' action='");
729 if (ctx->cfg.virtual_root) 729 if (ctx->cfg.virtual_root)
730 html_url_path(cgit_fileurl(ctx->qry.repo, "log", 730 html_url_path(cgit_fileurl(ctx->qry.repo, "log",
731 ctx->qry.path, NULL)); 731 ctx->qry.vpath, NULL));
732 html("'>\n"); 732 html("'>\n");
733 cgit_add_hidden_formfields(1, 0, "log"); 733 cgit_add_hidden_formfields(1, 0, "log");
734 html("<select name='qt'>\n"); 734 html("<select name='qt'>\n");
735 html_option("grep", "log msg", ctx->qry.grep); 735 html_option("grep", "log msg", ctx->qry.grep);
736 html_option("author", "author", ctx->qry.grep); 736 html_option("author", "author", ctx->qry.grep);
737 html_option("committer", "committer", ctx->qry.grep); 737 html_option("committer", "committer", ctx->qry.grep);
738 html("</select>\n"); 738 html("</select>\n");
739 html("<input class='txt' type='text' size='10' name='q' value='"); 739 html("<input class='txt' type='text' size='10' name='q' value='");
740 html_attr(ctx->qry.search); 740 html_attr(ctx->qry.search);
741 html("'/>\n"); 741 html("'/>\n");
742 html("<input type='submit' value='search'/>\n"); 742 html("<input type='submit' value='search'/>\n");
743 html("</form>\n"); 743 html("</form>\n");
744 } else { 744 } else {
745 site_link(NULL, "index", NULL, hc(ctx, "repolist"), NULL, 0); 745 site_link(NULL, "index", NULL, hc(ctx, "repolist"), NULL, 0);
746 if (ctx->cfg.root_readme) 746 if (ctx->cfg.root_readme)
747 site_link("about", "about", NULL, hc(ctx, "about"), 747 site_link("about", "about", NULL, hc(ctx, "about"),
748 NULL, 0); 748 NULL, 0);
749 html("</td><td class='form'>"); 749 html("</td><td class='form'>");
750 html("<form method='get' action='"); 750 html("<form method='get' action='");
751 html_attr(cgit_rooturl()); 751 html_attr(cgit_rooturl());
752 html("'>\n"); 752 html("'>\n");
753 html("<input type='text' name='q' size='10' value='"); 753 html("<input type='text' name='q' size='10' value='");
754 html_attr(ctx->qry.search); 754 html_attr(ctx->qry.search);
755 html("'/>\n"); 755 html("'/>\n");