diff options
author | Lukas Fleischer <cgit@cryptocrack.de> | 2015-03-05 22:41:45 +0300 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2015-03-13 16:52:52 +0300 |
commit | db021a1989a52911557ce6b998c11fbe4a4bea9d (patch) | |
tree | b92c3f017e657cf0ecb38f0259b2021a066a3dd8 | |
parent | 7511f4b4df521656d422010b06e2b5b96b21eb84 (diff) |
Remove no-op link from submodule entries
Instead of linking to the current page ("href='#'"), do not add a link
to a submodule entry at all if the module-link setting is not used.
Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
-rw-r--r-- | cgit.css | 2 | ||||
-rw-r--r-- | ui-shared.c | 41 |
2 files changed, 25 insertions, 18 deletions
@@ -254,7 +254,7 @@ div#cgit div.error { margin: 1em 2em; } -div#cgit a.ls-blob, div#cgit a.ls-dir, div#cgit a.ls-mod { +div#cgit a.ls-blob, div#cgit a.ls-dir, div#cgit .ls-mod { font-family: monospace; } diff --git a/ui-shared.c b/ui-shared.c index 23a893b..1dd8722 100644 --- a/ui-shared.c +++ b/ui-shared.c @@ -559,25 +559,32 @@ void cgit_submodule_link(const char *class, char *path, const char *rev) item = lookup_path(list, path); } } - html("<a "); - if (class) - htmlf("class='%s' ", class); - html("href='"); - if (item) { - html_attrf(item->util, rev); - } else if (ctx.repo->module_link) { - dir = strrchr(path, '/'); - if (dir) - dir++; - else - dir = path; - html_attrf(ctx.repo->module_link, dir, rev); + if (item || ctx.repo->module_link) { + html("<a "); + if (class) + htmlf("class='%s' ", class); + html("href='"); + if (item) { + html_attrf(item->util, rev); + } else { + dir = strrchr(path, '/'); + if (dir) + dir++; + else + dir = path; + html_attrf(ctx.repo->module_link, dir, rev); + } + html("'>"); + html_txt(path); + html("</a>"); } else { - html("#"); + html("<span"); + if (class) + htmlf(" class='%s'", class); + html(">"); + html_txt(path); + html("</span>"); } - html("'>"); - html_txt(path); - html("</a>"); html_txtf(" @ %.7s", rev); if (item && tail) path[len - 1] = tail; |