X-Git-Url: https://gitweb.ps.run/ps-cgit/blobdiff_plain/76ba6287bfb533baca7285b107b5d975581d449d..71adba1f1678914063fc109cf3805afde2c68f75:/ui-shared.c
diff --git a/ui-shared.c b/ui-shared.c
index bb08c4a..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,6 +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); + 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(" |