[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