the repository which powers this website
Diffstat (limited to 'themed/tree.html')
| -rw-r--r-- | themed/tree.html | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/themed/tree.html b/themed/tree.html index 8b00a96f..1a5bd8fa 100644 --- a/themed/tree.html +++ b/themed/tree.html @@ -1,4 +1,21 @@ {! #include "../ui-tree.h" !} +{! + +static int match_extension(const char *filename, const char *ext) +{ + int prefixlen = strlen(filename) - strlen(ext); + + /* + * We need 1 character for the '.', and 1 character to ensure that the + * prefix is non-empty (k.e., we don't match .tar.gz with no actual + * filename). + */ + if (prefixlen < 2 || filename[prefixlen - 1] != '.') + return 0; + return !strcmp(filename + prefixlen, ext); +} +!} + {% block repo_navigation_breadcrumbs %} <div class="px-3"> @@ -48,6 +65,15 @@ <div class="text-[#F07178]"> blob size ({{ size / 1024|%ld }}KB) exceeds display size limit ({{ ctx.cfg.max_blob_size|%d }}KB). </div> + {% elif match_extension(basename, "md") %} + <div class="rendered-file p-1 border border-[#333A45] text-[#CCCAC2] rounded-md"> + {! + cgit_open_filter(ctx.repo->about_filter, xstrdup(basename)); + html_raw(buf, size); + cgit_close_filter(ctx.repo->about_filter); + free(buf); + !} + </div> {% else %} <div class="rendered-blob overflow-x-auto border border-[#333A45] rounded-md"> {! |