X-Git-Url: https://gitweb.ps.run/ps-cgit/blobdiff_plain/536b0541fcfea2169e4df33043cd9ff14c657bce..905dbaef5aa33ea11d385b82de0188fee73dd655:/ui-shared.c
diff --git a/ui-shared.c b/ui-shared.c
index 6253a90..d08ede9 100644
--- a/ui-shared.c
+++ b/ui-shared.c
@@ -114,6 +114,49 @@ char *cgit_currurl()
return fmt("%s/", ctx.cfg.virtual_root);
}
+static void site_url(char *page, char *search)
+{
+ char *delim = "?";
+
+ if (ctx.cfg.virtual_root) {
+ html_attr(ctx.cfg.virtual_root);
+ if (ctx.cfg.virtual_root[strlen(ctx.cfg.virtual_root) - 1] != '/')
+ html("/");
+ } else
+ html(ctx.cfg.script_name);
+
+ if (page) {
+ htmlf("?p=%s", page);
+ delim = "&";
+ }
+ if (search) {
+ html(delim);
+ html("q=");
+ html_attr(search);
+ }
+}
+
+static void site_link(char *page, char *name, char *title, char *class,
+ char *search)
+{
+ html("");
+ html_txt(name);
+ html("");
+}
+
static char *repolink(char *title, char *class, char *page, char *head,
char *path)
{
@@ -484,15 +527,10 @@ void cgit_print_pageheader(struct cgit_context *ctx)
html_attr(cgit_rooturl());
html("'>\n");
+ html("' alt='cgit logo'/>\n");
html("
| \n"); if (ctx->repo) { @@ -541,8 +574,10 @@ void cgit_print_pageheader(struct cgit_context *ctx) ctx->qry.head, ctx->qry.sha1); cgit_diff_link("diff", NULL, hc(cmd, "diff"), ctx->qry.head, ctx->qry.sha1, ctx->qry.sha2, NULL); - cgit_patch_link("patch", NULL, hc(cmd, "patch"), ctx->qry.head, - ctx->qry.sha1); + if (ctx->repo->readme) + reporevlink("about", "about", NULL, + hc(cmd, "about"), ctx->qry.head, NULL, + NULL); html(" | "); html("\n"); html("\n"); } else { - html("index\n"); + site_link(NULL, "index", NULL, hc(cmd, "repolist"), NULL); + if (ctx->cfg.root_readme) + site_link("about", "about", NULL, hc(cmd, "about"), NULL); html(" | "); html(" |