diff options
author | Peter Wu | 2013-10-03 12:17:23 +0200 |
---|---|---|
committer | Jason A. Donenfeld | 2014-01-08 14:59:38 +0100 |
commit | 4468ec1b15becf3838d8cf38440c527c487565a4 (patch) | |
tree | 4c9220561ab256dc012e17146f6d0546637e6c69 /ui-ssdiff.c | |
parent | 407f71cc061564d63b7358dd36a5bfebda05b15a (diff) | |
download | cgit-4468ec1b15becf3838d8cf38440c527c487565a4.tar.gz cgit-4468ec1b15becf3838d8cf38440c527c487565a4.tar.bz2 cgit-4468ec1b15becf3838d8cf38440c527c487565a4.zip |
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>
Diffstat (limited to 'ui-ssdiff.c')
-rw-r--r-- | ui-ssdiff.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/ui-ssdiff.c b/ui-ssdiff.c index cbe60bd..08cf513 100644 --- a/ui-ssdiff.c +++ b/ui-ssdiff.c | |||
@@ -230,9 +230,9 @@ static void print_ssdiff_line(char *class, | |||
230 | struct diff_filespec *old_file = cgit_get_current_old_file(); | 230 | struct diff_filespec *old_file = cgit_get_current_old_file(); |
231 | char *lineno_str = fmt("n%d", old_line_no); | 231 | char *lineno_str = fmt("n%d", old_line_no); |
232 | char *id_str = fmt("id=%s#%s", is_null_sha1(old_file->sha1)?"HEAD":sha1_to_hex(old_rev_sha1), lineno_str); | 232 | char *id_str = fmt("id=%s#%s", is_null_sha1(old_file->sha1)?"HEAD":sha1_to_hex(old_rev_sha1), lineno_str); |
233 | html("<td class='lineno'><a class='no' href='"); | 233 | html("<td class='lineno'><a href='"); |
234 | html(cgit_fileurl(ctx.repo->url, "tree", old_file->path, id_str)); | 234 | html(cgit_fileurl(ctx.repo->url, "tree", old_file->path, id_str)); |
235 | htmlf("' id='%s' name='%s'>%s</a>", lineno_str, lineno_str, lineno_str + 1); | 235 | htmlf("' id='%s'>%s</a>", lineno_str, lineno_str + 1); |
236 | html("</td>"); | 236 | html("</td>"); |
237 | htmlf("<td class='%s'>", class); | 237 | htmlf("<td class='%s'>", class); |
238 | } else if (old_line) | 238 | } else if (old_line) |
@@ -251,9 +251,9 @@ static void print_ssdiff_line(char *class, | |||
251 | struct diff_filespec *new_file = cgit_get_current_new_file(); | 251 | struct diff_filespec *new_file = cgit_get_current_new_file(); |
252 | char *lineno_str = fmt("n%d", new_line_no); | 252 | char *lineno_str = fmt("n%d", new_line_no); |
253 | char *id_str = fmt("id=%s#%s", is_null_sha1(new_file->sha1)?"HEAD":sha1_to_hex(new_rev_sha1), lineno_str); | 253 | char *id_str = fmt("id=%s#%s", is_null_sha1(new_file->sha1)?"HEAD":sha1_to_hex(new_rev_sha1), lineno_str); |
254 | html("<td class='lineno'><a class='no' href='"); | 254 | html("<td class='lineno'><a href='"); |
255 | html(cgit_fileurl(ctx.repo->url, "tree", new_file->path, id_str)); | 255 | html(cgit_fileurl(ctx.repo->url, "tree", new_file->path, id_str)); |
256 | htmlf("' id='%s' name='%s'>%s</a>", lineno_str, lineno_str, lineno_str + 1); | 256 | htmlf("' id='%s'>%s</a>", lineno_str, lineno_str + 1); |
257 | html("</td>"); | 257 | html("</td>"); |
258 | htmlf("<td class='%s'>", class); | 258 | htmlf("<td class='%s'>", class); |
259 | } else if (new_line) | 259 | } else if (new_line) |