cgit

commit 4468ec1b15becf3838d8cf38440c527c487565a4

Author: Peter Wu <lekensteyn@gmail.com>

Reduce line number bloat, fix hover effect

Currently line numbers look like (for blob view and sdiff respectively):

    <a class='no' id='n68' name='n68' href='#n68'>68</a>
    <td class='lineno'><a class='no' href='...#n1' id='n1' name='n1'>1</a></td>

name=".." is unnecessary if the id attribute is set (this even applies
to IE6), so drop it. (aside, in HTML5, the name attribute is gone.)

The line number links can be selected through their parent classes, no
need for another class "no", so drop it too.

For a file with 2000 lines, this yields a saving of 40% (29% gzipped).

While at it, fix the hover effect of line numbers: now the line number
get a black background as was intended.

Signed-off-by: Peter Wu <lekensteyn@gmail.com>
Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>

 cgit.css | 6 ++++--
 tests/t0104-tree.sh | 4 ++--
 ui-ssdiff.c | 8 ++++----
 ui-tree.c | 3 +--


diff --git a/cgit.css b/cgit.css
index d467c662d0bf5cf92ce3f89cf45312cddae8371e..71b0b9b699586255b1787b0a72da0f557031f41e 100644
--- a/cgit.css
+++ b/cgit.css
@@ -291,13 +291,15 @@ div#cgit table.blob pre {
 	padding: 0; margin: 0;
 }
 
-div#cgit table.blob a.no, div#cgit table.ssdiff a.no {
+div#cgit table.blob td.linenumbers a,
+div#cgit table.ssdiff td.lineno a {
 	color: gray;
 	text-align: right;
 	text-decoration: none;
 }
 
-div#cgit table.blob a.no a:hover {
+div#cgit table.blob td.linenumbers a:hover,
+div#cgit table.ssdiff td.lineno a:hover {
 	color: black;
 }
 




diff --git a/tests/t0104-tree.sh b/tests/t0104-tree.sh
index 100b02614f374f486ca181b3ea4bb0b4a62a73e5..2e140f5939c1b9ac17a0987e2d550fc7d06ef099 100755
--- a/tests/t0104-tree.sh
+++ b/tests/t0104-tree.sh
@@ -10,11 +10,11 @@
 test_expect_success 'generate bar/tree/file-50' 'cgit_url "bar/tree/file-50" >tmp'
 
 test_expect_success 'find line 1' '
-	grep "<a class=.no. id=.n1. name=.n1. href=.#n1.>1</a>" tmp
+	grep "<a id=.n1. href=.#n1.>1</a>" tmp
 '
 
 test_expect_success 'no line 2' '
-	! grep "<a class=.no. id=.n2. name=.n2. href=.#n2.>2</a>" tmp
+	! grep "<a id=.n2. href=.#n2.>2</a>" tmp
 '
 
 test_expect_success 'generate foo+bar/tree' 'cgit_url "foo%2bbar/tree" >tmp'




diff --git a/ui-ssdiff.c b/ui-ssdiff.c
index cbe60bd6da0709b53a355d6d775b9ced0e1cd968..08cf513b477097b85315e448f80401900f50e5d8 100644
--- a/ui-ssdiff.c
+++ b/ui-ssdiff.c
@@ -230,9 +230,9 @@ 	if (old_line_no > 0) {
 		struct diff_filespec *old_file = cgit_get_current_old_file();
 		char *lineno_str = fmt("n%d", old_line_no);
 		char *id_str = fmt("id=%s#%s", is_null_sha1(old_file->sha1)?"HEAD":sha1_to_hex(old_rev_sha1), lineno_str);
-		html("<td class='lineno'><a class='no' href='");
+		html("<td class='lineno'><a href='");
 		html(cgit_fileurl(ctx.repo->url, "tree", old_file->path, id_str));
-		htmlf("' id='%s' name='%s'>%s</a>", lineno_str, lineno_str, lineno_str + 1);
+		htmlf("' id='%s'>%s</a>", lineno_str, lineno_str + 1);
 		html("</td>");
 		htmlf("<td class='%s'>", class);
 	} else if (old_line)
@@ -251,9 +251,9 @@ 	if (new_line_no > 0) {
 		struct diff_filespec *new_file = cgit_get_current_new_file();
 		char *lineno_str = fmt("n%d", new_line_no);
 		char *id_str = fmt("id=%s#%s", is_null_sha1(new_file->sha1)?"HEAD":sha1_to_hex(new_rev_sha1), lineno_str);
-		html("<td class='lineno'><a class='no' href='");
+		html("<td class='lineno'><a href='");
 		html(cgit_fileurl(ctx.repo->url, "tree", new_file->path, id_str));
-		htmlf("' id='%s' name='%s'>%s</a>", lineno_str, lineno_str, lineno_str + 1);
+		htmlf("' id='%s'>%s</a>", lineno_str, lineno_str + 1);
 		html("</td>");
 		htmlf("<td class='%s'>", class);
 	} else if (new_line)




diff --git a/ui-tree.c b/ui-tree.c
index aa5dee93c46a680d3acd62f61b801ab3f25024ab..52b57b7a07ddbb313def5296529b31682a0705d5 100644
--- a/ui-tree.c
+++ b/ui-tree.c
@@ -21,8 +21,7 @@
 static void print_text_buffer(const char *name, char *buf, unsigned long size)
 {
 	unsigned long lineno, idx;
-	const char *numberfmt =
-		"<a class='no' id='n%1$d' name='n%1$d' href='#n%1$d'>%1$d</a>\n";
+	const char *numberfmt = "<a id='n%1$d' href='#n%1$d'>%1$d</a>\n";
 
 	html("<table summary='blob content' class='blob'>\n");