List for cgit developers and users
 help / color / mirror / Atom feed
* [PATCH] Reduce line number bloat, fix hover effect
@ 2013-10-03 10:17 lekensteyn
  2013-11-27 16:59 ` lekensteyn
  0 siblings, 1 reply; 3+ messages in thread
From: lekensteyn @ 2013-10-03 10:17 UTC (permalink / raw)


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 at gmail.com>
---
 cgit.css    | 6 ++++--
 ui-ssdiff.c | 8 ++++----
 ui-tree.c   | 2 +-
 3 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/cgit.css b/cgit.css
index d467c66..71b0b9b 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/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,
 		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 @@ static void print_ssdiff_line(char *class,
 		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 aa5dee9..9fb9590 100644
--- a/ui-tree.c
+++ b/ui-tree.c
@@ -22,7 +22,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";
+		"<a id='n%1$d' href='#n%1$d'>%1$d</a>\n";
 
 	html("<table summary='blob content' class='blob'>\n");
 
-- 
1.8.4



^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH] Reduce line number bloat, fix hover effect
  2013-10-03 10:17 [PATCH] Reduce line number bloat, fix hover effect lekensteyn
@ 2013-11-27 16:59 ` lekensteyn
  2014-01-08 15:36   ` Jason
  0 siblings, 1 reply; 3+ messages in thread
From: lekensteyn @ 2013-11-27 16:59 UTC (permalink / raw)


Hi,

Could you have a look at this patch?

Regards,
Peter

On Thursday 03 October 2013 12:17:23 Peter Wu wrote:
> 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 at gmail.com>
> ---
>  cgit.css    | 6 ++++--
>  ui-ssdiff.c | 8 ++++----
>  ui-tree.c   | 2 +-
>  3 files changed, 9 insertions(+), 7 deletions(-)
> 
> diff --git a/cgit.css b/cgit.css
> index d467c66..71b0b9b 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/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,
>  		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 @@ static void print_ssdiff_line(char *class,
>  		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 aa5dee9..9fb9590 100644
> --- a/ui-tree.c
> +++ b/ui-tree.c
> @@ -22,7 +22,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";
> +		"<a id='n%1$d' href='#n%1$d'>%1$d</a>\n";
>  
>  	html("<table summary='blob content' class='blob'>\n");
>  
> 



^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH] Reduce line number bloat, fix hover effect
  2013-11-27 16:59 ` lekensteyn
@ 2014-01-08 15:36   ` Jason
  0 siblings, 0 replies; 3+ messages in thread
From: Jason @ 2014-01-08 15:36 UTC (permalink / raw)


Merged, thanks.


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2014-01-08 15:36 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-10-03 10:17 [PATCH] Reduce line number bloat, fix hover effect lekensteyn
2013-11-27 16:59 ` lekensteyn
2014-01-08 15:36   ` Jason

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).