[PATCH] Remove no-op link from submodule entries
Lukas Fleischer
cgit at cryptocrack.de
Thu Mar 5 20:41:45 CET 2015
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 at cryptocrack.de>
---
cgit.css | 2 +-
ui-shared.c | 41 ++++++++++++++++++++++++-----------------
2 files changed, 25 insertions(+), 18 deletions(-)
diff --git a/cgit.css b/cgit.css
index 6888cde..82c755c 100644
--- a/cgit.css
+++ b/cgit.css
@@ -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 ff03cb2..c8c1ae0 100644
--- a/ui-shared.c
+++ b/ui-shared.c
@@ -555,25 +555,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;
--
2.3.1
More information about the CGit
mailing list