diff options
author | Andy Doan <andy.doan@linaro.org> | 2016-09-12 22:54:08 -0500 |
---|---|---|
committer | John Keeping <john@keeping.me.uk> | 2016-10-01 11:51:07 +0100 |
commit | 1a66e7f3c15bf8d0d5d1b198c6674911a213779e (patch) | |
tree | 23f5d14af44ad63e1a9ad8c615fe622a0d4b52fe /shared.c | |
parent | 84b158abe04ca37eb6e3038d3b63a9518714b66d (diff) | |
download | cgit-1a66e7f3c15bf8d0d5d1b198c6674911a213779e.tar.gz cgit-1a66e7f3c15bf8d0d5d1b198c6674911a213779e.tar.bz2 cgit-1a66e7f3c15bf8d0d5d1b198c6674911a213779e.zip |
ui-repolist: Allow sections to be collapsiblejk/collapsible-sections
The index page can be difficult to navigate for really large git
servers. This change allows a configuration like:
section-collapse=people
section-collapse=tests
And an index page would only display the "people" and "tests" section
headers entries (not their repos) with a hyperlink that can be used to
drill down into each section.
Additionally the boolean logic around displaying sections in
ui-repolist.c was simplified to eliminate an impossible condition.
Signed-off-by: Andy Doan <andy.doan@linaro.org>
Reviewed-by: John Keeping <john@keeping.me.uk>
Signed-off-by: John Keeping <john@keeping.me.uk>
Diffstat (limited to 'shared.c')
-rw-r--r-- | shared.c | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -443,13 +443,16 @@ typedef struct { void cgit_prepare_repo_env(struct cgit_repo * repo) { + char *section = NULL; + if (repo->section) + section = repo->section->name; cgit_env_var env_vars[] = { { .name = "CGIT_REPO_URL", .value = repo->url }, { .name = "CGIT_REPO_NAME", .value = repo->name }, { .name = "CGIT_REPO_PATH", .value = repo->path }, { .name = "CGIT_REPO_OWNER", .value = repo->owner }, { .name = "CGIT_REPO_DEFBRANCH", .value = repo->defbranch }, - { .name = "CGIT_REPO_SECTION", .value = repo->section }, + { .name = "CGIT_REPO_SECTION", .value = section }, { .name = "CGIT_REPO_CLONE_URL", .value = repo->clone_url } }; int env_var_count = ARRAY_SIZE(env_vars); |