all repos — cgit @ 5f2664f13c90f083b827d8fafa6cfc01c0c4f513

a hyperfast web frontend for git written in c

ui-shared: add homepage to tabs

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Jason A. Donenfeld Jason@zx2c4.com
Mon, 22 Feb 2016 16:04:15 +0100
commit

5f2664f13c90f083b827d8fafa6cfc01c0c4f513

parent

75298209bf8386656b82f185e2901690ac5b671c

7 files changed, 26 insertions(+), 5 deletions(-)

jump to
M cgit.ccgit.c

@@ -41,6 +41,8 @@ else if (!strcmp(name, "desc"))

repo->desc = xstrdup(value); else if (!strcmp(name, "owner")) repo->owner = xstrdup(value); + else if (!strcmp(name, "homepage")) + repo->homepage = xstrdup(value); else if (!strcmp(name, "defbranch")) repo->defbranch = xstrdup(value); else if (!strcmp(name, "snapshots"))

@@ -793,6 +795,8 @@ if (repo->module_link)

fprintf(f, "repo.module-link=%s\n", repo->module_link); if (repo->section) fprintf(f, "repo.section=%s\n", repo->section); + if (repo->homepage) + fprintf(f, "repo.homepage=%s\n", repo->homepage); if (repo->clone_url) fprintf(f, "repo.clone-url=%s\n", repo->clone_url); fprintf(f, "repo.enable-commit-graph=%d\n",
M cgit.csscgit.css

@@ -85,6 +85,11 @@ color: #000;

background-color: #ccc; } +div#cgit table.tabs a[href^="http://"]:after, div#cgit table.tabs a[href^="https://"]:after { + content: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAQAAAAnOwc2AAAAAnNCSVQICFXsRgQAAAAJcEhZcwAAABQAAAAUAVyMgXwAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwaAAAAeklEQVQI12NoYCu3q3ABwXL98vTy/0D4jaF8XXldRRoYejAwlu8BCTOU72SAg4q08j/le0GC22BC5anlfyrSGBiBGCZYllz+pywLJg8WLOMtf1GeCjRgI5IgSBhMboUIHq40r1CCQrfyDRAV6uXdZTMhsKKlVIIBFwAAVeg4KFYK95cAAAAASUVORK5CYII=); + margin: 0 0 0 5px; +} + div#cgit table.tabs td.form { text-align: right; }
M cgit.hcgit.h

@@ -81,6 +81,7 @@ char *name;

char *path; char *desc; char *owner; + char *homepage; char *defbranch; char *module_link; struct string_list readme;
M cgitrc.5.txtcgitrc.5.txt

@@ -205,11 +205,11 @@ enable-git-config::

Flag which, when set to "1", will allow cgit to use git config to set any repo specific settings. This option is used in conjunction with "scan-path", and must be defined prior, to augment repo-specific - settings. The keys gitweb.owner, gitweb.category, and gitweb.description - will map to the cgit keys repo.owner, repo.section, and repo.desc, - respectively. All git config keys that begin with "cgit." will be mapped - to the corresponding "repo." key in cgit. Default value: "0". See also: - scan-path, section-from-path. + settings. The keys gitweb.owner, gitweb.category, gitweb.description, + and gitweb.homepage will map to the cgit keys repo.owner, repo.section, + repo.desc, and repo.homepage respectively. All git config keys that begin + with "cgit." will be mapped to the corresponding "repo." key in cgit. + Default value: "0". See also: scan-path, section-from-path. favicon:: Url used as link to a shortcut icon for cgit. It is suggested to use

@@ -495,6 +495,9 @@ "master" if there is no suitable HEAD.

repo.desc:: The value to show as repository description. Default value: none. + +repo.homepage:: + The value to show as repository homepage. Default value: none. repo.email-filter:: Override the default email-filter. Default value: none. See also:
M scan-tree.cscan-tree.c

@@ -61,6 +61,8 @@ else if (!strcmp(key, "gitweb.description"))

config_fn(repo, "desc", value); else if (!strcmp(key, "gitweb.category")) config_fn(repo, "section", value); + else if (!strcmp(key, "gitweb.homepage")) + config_fn(repo, "homepage", value); else if (starts_with(key, "cgit.")) config_fn(repo, key + 5, value);
M shared.cshared.c

@@ -54,6 +54,7 @@ ret->name = ret->url;

ret->path = NULL; ret->desc = cgit_default_repo_desc; ret->owner = NULL; + ret->homepage = NULL; ret->section = ctx.cfg.section; ret->snapshots = ctx.cfg.snapshots; ret->enable_commit_graph = ctx.cfg.enable_commit_graph;
M ui-shared.cui-shared.c

@@ -997,6 +997,11 @@ ctx.qry.sha1, ctx.qry.sha2, ctx.qry.vpath);

if (ctx.repo->max_stats) cgit_stats_link("stats", NULL, hc("stats"), ctx.qry.head, ctx.qry.vpath); + if (ctx.repo->homepage) { + html("<a href='"); + html_attr(ctx.repo->homepage); + html("' target='_blank'>homepage</a>"); + } html("</td><td class='form'>"); html("<form class='right' method='get' action='"); if (ctx.cfg.virtual_root) {