diff options
author | Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> | 2010-12-23 20:47:54 (JST) |
---|---|---|
committer | Lars Hjemli <hjemli@gmail.com> | 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 | ||