-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
@@ -68,15 +68,19 @@ void repo_config(struct cgit_repo *repo, const char *name, const char *value) | |||
68 | else if (!strcmp(name, "max-stats")) | 68 | else if (!strcmp(name, "max-stats")) |
69 | repo->max_stats = cgit_find_stats_period(value, NULL); | 69 | repo->max_stats = cgit_find_stats_period(value, NULL); |
70 | else if (!strcmp(name, "module-link")) | 70 | else if (!strcmp(name, "module-link")) |
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")) |
80 | repo->commit_filter = new_filter(value, 0); | 84 | repo->commit_filter = new_filter(value, 0); |
81 | else if (!strcmp(name, "source-filter")) | 85 | else if (!strcmp(name, "source-filter")) |
82 | repo->source_filter = new_filter(value, 1); | 86 | repo->source_filter = new_filter(value, 1); |
@@ -67,12 +67,14 @@ struct cgit_repo { | |||
67 | char *owner; | 67 | char *owner; |
68 | char *defbranch; | 68 | char *defbranch; |
69 | char *module_link; | 69 | char *module_link; |
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; |
76 | int enable_remote_branches; | 78 | int enable_remote_branches; |
77 | int enable_subject_links; | 79 | int enable_subject_links; |
78 | int max_stats; | 80 | int max_stats; |
diff --git a/cgitrc.5.txt b/cgitrc.5.txt index 8e51ca5..01157a9 100644 --- a/cgitrc.5.txt +++ b/cgitrc.5.txt | |||
@@ -367,12 +367,21 @@ repo.enable-remote-branches:: | |||
367 | in the summary and refs views. Default value: <enable-remote-branches>. | 367 | in the summary and refs views. Default value: <enable-remote-branches>. |
368 | 368 | ||
369 | repo.enable-subject-links:: | 369 | 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 |
376 | value: none. | 385 | value: none. |
377 | 386 | ||
378 | repo.name:: | 387 | repo.name:: |
diff --git a/ui-shared.c b/ui-shared.c index ae29615..7efae7a 100644 --- a/ui-shared.c +++ b/ui-shared.c | |||
@@ -753,23 +753,33 @@ static void cgit_print_path_crumbs(struct cgit_context *ctx, char *path) | |||
753 | } | 753 | } |
754 | ctx->qry.path = old_path; | 754 | ctx->qry.path = old_path; |
755 | } | 755 | } |
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 | ||
773 | html("<td class='main'>"); | 783 | html("<td class='main'>"); |
774 | if (ctx->repo) { | 784 | if (ctx->repo) { |
775 | cgit_index_link("index", NULL, NULL, NULL, 0); | 785 | cgit_index_link("index", NULL, NULL, NULL, 0); |