diff options
| author | 2010-12-23 20:47:54 (JST) | |
|---|---|---|
| committer | 2011-02-19 22:41:39 (JST) | |
| commit | 808c685ebb7cd2d24d3881b74e3be2439bd1393b (patch) | |
| tree | 5bb224b73bbbc7d57864c587cc022fcc9826f4b3 | |
| parent | 17596459fe9a43428a261e66f65b227d15bf7ee5 (diff) | |
| download | cgit-808c685ebb7cd2d24d3881b74e3be2439bd1393b.zip cgit-808c685ebb7cd2d24d3881b74e3be2439bd1393b.tar.gz | |
implement repo.logo and repo.logo-link
Allow for per repo logo and logo-link; Use global logo and logo-link per
default.
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| -rw-r--r-- | cgit.c | 8 | ||||
| -rw-r--r-- | cgit.h | 2 | ||||
| -rw-r--r-- | cgitrc.5.txt | 9 | ||||
| -rw-r--r-- | ui-shared.c | 18 |
4 files changed, 31 insertions, 6 deletions
| @@ -71,9 +71,13 @@ void repo_config(struct cgit_repo *repo, const char *name, const char *value) | |||
| 71 | repo->module_link= xstrdup(value); | 71 | repo->module_link= xstrdup(value); |
| 72 | else if (!strcmp(name, "section")) | 72 | else if (!strcmp(name, "section")) |
| 73 | repo->section = xstrdup(value); | 73 | repo->section = xstrdup(value); |
| 74 | else if (!strcmp(name, "readme") && value != NULL) { | 74 | else if (!strcmp(name, "readme") && value != NULL) |
| 75 | repo->readme = xstrdup(value); | 75 | repo->readme = xstrdup(value); |
| 76 | } else if (ctx.cfg.enable_filter_overrides) { | 76 | else if (!strcmp(name, "logo") && value != NULL) |
| 77 | repo->logo = xstrdup(value); | ||
| 78 | else if (!strcmp(name, "logo-link") && value != NULL) | ||
| 79 | repo->logo_link = xstrdup(value); | ||
| 80 | else if (ctx.cfg.enable_filter_overrides) { | ||
| 77 | if (!strcmp(name, "about-filter")) | 81 | if (!strcmp(name, "about-filter")) |
| 78 | repo->about_filter = new_filter(value, 0); | 82 | repo->about_filter = new_filter(value, 0); |
| 79 | else if (!strcmp(name, "commit-filter")) | 83 | else if (!strcmp(name, "commit-filter")) |
| @@ -70,6 +70,8 @@ struct cgit_repo { | |||
| 70 | char *readme; | 70 | char *readme; |
| 71 | char *section; | 71 | char *section; |
| 72 | char *clone_url; | 72 | char *clone_url; |
| 73 | char *logo; | ||
| 74 | char *logo_link; | ||
| 73 | int snapshots; | 75 | int snapshots; |
| 74 | int enable_log_filecount; | 76 | int enable_log_filecount; |
| 75 | int enable_log_linecount; | 77 | int enable_log_linecount; |
diff --git a/cgitrc.5.txt b/cgitrc.5.txt index 8e51ca5..01157a9 100644 --- a/cgitrc.5.txt +++ b/cgitrc.5.txt | |||
| @@ -370,6 +370,15 @@ repo.enable-subject-links:: | |||
| 370 | A flag which can be used to override the global setting | 370 | A flag which can be used to override the global setting |
| 371 | `enable-subject-links'. Default value: none. | 371 | `enable-subject-links'. Default value: none. |
| 372 | 372 | ||
| 373 | repo.logo:: | ||
| 374 | Url which specifies the source of an image which will be used as a logo | ||
| 375 | on this repo's pages. Default value: global logo. | ||
| 376 | |||
| 377 | repo.logo-link:: | ||
| 378 | Url loaded when clicking on the cgit logo image. If unspecified the | ||
| 379 | calculated url of the repository index page will be used. Default | ||
| 380 | value: global logo-link. | ||
| 381 | |||
| 373 | repo.max-stats:: | 382 | repo.max-stats:: |
| 374 | Override the default maximum statistics period. Valid values are equal | 383 | Override the default maximum statistics period. Valid values are equal |
| 375 | to the values specified for the global "max-stats" setting. Default | 384 | to the values specified for the global "max-stats" setting. Default |
diff --git a/ui-shared.c b/ui-shared.c index ae29615..7efae7a 100644 --- a/ui-shared.c +++ b/ui-shared.c | |||
| @@ -756,17 +756,27 @@ static void cgit_print_path_crumbs(struct cgit_context *ctx, char *path) | |||
| 756 | 756 | ||
| 757 | static void print_header(struct cgit_context *ctx) | 757 | static void print_header(struct cgit_context *ctx) |
| 758 | { | 758 | { |
| 759 | char *logo = NULL, *logo_link = NULL; | ||
| 760 | |||
| 759 | html("<table id='header'>\n"); | 761 | html("<table id='header'>\n"); |
| 760 | html("<tr>\n"); | 762 | html("<tr>\n"); |
| 761 | 763 | ||
| 762 | if (ctx->cfg.logo && ctx->cfg.logo[0] != 0) { | 764 | if (ctx->repo && ctx->repo->logo && *ctx->repo->logo) |
| 765 | logo = ctx->repo->logo; | ||
| 766 | else | ||
| 767 | logo = ctx->cfg.logo; | ||
| 768 | if (ctx->repo && ctx->repo->logo_link && *ctx->repo->logo_link) | ||
| 769 | logo_link = ctx->repo->logo_link; | ||
| 770 | else | ||
| 771 | logo_link = ctx->cfg.logo_link; | ||
| 772 | if (logo && *logo) { | ||
| 763 | html("<td class='logo' rowspan='2'><a href='"); | 773 | html("<td class='logo' rowspan='2'><a href='"); |
| 764 | if (ctx->cfg.logo_link) | 774 | if (logo_link && *logo_link) |
| 765 | html_attr(ctx->cfg.logo_link); | 775 | html_attr(logo_link); |
| 766 | else | 776 | else |
| 767 | html_attr(cgit_rooturl()); | 777 | html_attr(cgit_rooturl()); |
| 768 | html("'><img src='"); | 778 | html("'><img src='"); |
| 769 | html_attr(ctx->cfg.logo); | 779 | html_attr(logo); |
| 770 | html("' alt='cgit logo'/></a></td>\n"); | 780 | html("' alt='cgit logo'/></a></td>\n"); |
| 771 | } | 781 | } |
| 772 | 782 | ||
