extra-head-content: introduce another option for meta tags

This is to support things like go-import meta tags, which are on a
per-repo basis.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Esse commit está contido em:
Jason A. Donenfeld
2018-02-12 23:10:06 +01:00
commit b522a302c9
5 arquivos alterados com 12 adições e 0 exclusões

4
cgit.c
Ver Arquivo

@@ -46,6 +46,8 @@ static void repo_config(struct cgit_repo *repo, const char *name, const char *va
repo->homepage = xstrdup(value); repo->homepage = xstrdup(value);
else if (!strcmp(name, "defbranch")) else if (!strcmp(name, "defbranch"))
repo->defbranch = xstrdup(value); repo->defbranch = xstrdup(value);
else if (!strcmp(name, "extra-head-content"))
repo->extra_head_content = xstrdup(value);
else if (!strcmp(name, "snapshots")) else if (!strcmp(name, "snapshots"))
repo->snapshots = ctx.cfg.snapshots & cgit_parse_snapshots_mask(value); repo->snapshots = ctx.cfg.snapshots & cgit_parse_snapshots_mask(value);
else if (!strcmp(name, "enable-commit-graph")) else if (!strcmp(name, "enable-commit-graph"))
@@ -797,6 +799,8 @@ static void print_repo(FILE *f, struct cgit_repo *repo)
} }
if (repo->defbranch) if (repo->defbranch)
fprintf(f, "repo.defbranch=%s\n", repo->defbranch); fprintf(f, "repo.defbranch=%s\n", repo->defbranch);
if (repo->extra_head_content)
fprintf(f, "repo.extra-head-content=%s\n", repo->extra_head_content);
if (repo->module_link) if (repo->module_link)
fprintf(f, "repo.module-link=%s\n", repo->module_link); fprintf(f, "repo.module-link=%s\n", repo->module_link);
if (repo->section) if (repo->section)

1
cgit.h
Ver Arquivo

@@ -81,6 +81,7 @@ struct cgit_repo {
char *name; char *name;
char *path; char *path;
char *desc; char *desc;
char *extra_head_content;
char *owner; char *owner;
char *homepage; char *homepage;
char *defbranch; char *defbranch;

Ver Arquivo

@@ -509,6 +509,10 @@ repo.enable-subject-links::
A flag which can be used to override the global setting A flag which can be used to override the global setting
`enable-subject-links'. Default value: none. `enable-subject-links'. Default value: none.
repo.extra-head-content::
This value will be added verbatim to the head section of each page
displayed for this repo. Default value: none.
repo.hide:: repo.hide::
Flag which, when set to "1", hides the repository from the repository Flag which, when set to "1", hides the repository from the repository
index. The repository can still be accessed by providing a direct path. index. The repository can still be accessed by providing a direct path.

Ver Arquivo

@@ -53,6 +53,7 @@ struct cgit_repo *cgit_add_repo(const char *url)
ret->name = ret->url; ret->name = ret->url;
ret->path = NULL; ret->path = NULL;
ret->desc = cgit_default_repo_desc; ret->desc = cgit_default_repo_desc;
ret->extra_head_content = NULL;
ret->owner = NULL; ret->owner = NULL;
ret->homepage = NULL; ret->homepage = NULL;
ret->section = ctx.cfg.section; ret->section = ctx.cfg.section;

Ver Arquivo

@@ -775,6 +775,8 @@ void cgit_print_docstart(void)
cgit_add_clone_urls(print_rel_vcs_link); cgit_add_clone_urls(print_rel_vcs_link);
if (ctx.cfg.head_include) if (ctx.cfg.head_include)
html_include(ctx.cfg.head_include); html_include(ctx.cfg.head_include);
if (ctx.repo && ctx.repo->extra_head_content)
html(ctx.repo->extra_head_content);
html("</head>\n"); html("</head>\n");
html("<body>\n"); html("<body>\n");
if (ctx.cfg.header) if (ctx.cfg.header)