9ad4796538
1. Generate links to subtree about pages. 2. Render README files in subtrees, too.
46 lines
1.4 KiB
Diff
46 lines
1.4 KiB
Diff
From 61500898c7d1363f88b763c7778cf1a8dfd13aca Mon Sep 17 00:00:00 2001
|
|
From: Vincent Ambo <tazjin@google.com>
|
|
Date: Sat, 21 Dec 2019 22:58:19 +0000
|
|
Subject: [PATCH 2/3] feat(ui-summary): Attempt to use README at each subtree
|
|
|
|
This means that individual subtrees of a repository will also have
|
|
their READMEs rendered on the about page, for example:
|
|
|
|
/foo/bar/README.md
|
|
|
|
Will render on:
|
|
|
|
/about/foo/bar/
|
|
|
|
This is useful for monorepo setups in which subtrees represent
|
|
individual projects.
|
|
---
|
|
ui-summary.c | 12 ++++++++++++
|
|
1 file changed, 12 insertions(+)
|
|
|
|
diff --git a/ui-summary.c b/ui-summary.c
|
|
index 8e81ac4..34ce4e9 100644
|
|
--- a/ui-summary.c
|
|
+++ b/ui-summary.c
|
|
@@ -128,6 +128,18 @@ void cgit_print_repo_readme(char *path)
|
|
goto done;
|
|
}
|
|
|
|
+ /* Determine which file to serve by checking whether the given filename is
|
|
+ * already a valid file and otherwise appending the expected file name of
|
|
+ * the readme.
|
|
+ *
|
|
+ * If neither yield a valid file, the user gets a blank page. Could probably
|
|
+ * do with an error message in between there, but whatever.
|
|
+ */
|
|
+ if (path && ref && !cgit_ref_path_exists(filename, ref, 1)) {
|
|
+ filename = fmtalloc("%s/%s", path, ctx.repo->readme.items[0].string);
|
|
+ free_filename = 1;
|
|
+ }
|
|
+
|
|
/* Print the calculated readme, either from the git repo or from the
|
|
* filesystem, while applying the about-filter.
|
|
*/
|
|
--
|
|
2.24.1.735.g03f4e72817-goog
|
|
|