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>
This commit is contained in:
Jason A. Donenfeld 2018-02-12 23:10:06 +01:00
rodzic c4fbb99cee
commit b522a302c9
5 zmienionych plików z 12 dodań i 0 usunięć

4
cgit.c
Wyświetl plik

@ -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
Wyświetl plik

@ -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;

Wyświetl plik

@ -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.

Wyświetl plik

@ -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;

Wyświetl plik

@ -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)