browser: abbreviate browser names, version numbers
authorMischa POSLAWSKY <perl@shiar.org>
Wed, 10 Nov 2010 19:16:10 +0000 (20:16 +0100)
committerMischa POSLAWSKY <perl@shiar.org>
Wed, 10 Nov 2010 21:40:55 +0000 (22:40 +0100)
browser.plp

index 5afabaf08331ccb5046094d04aa3ec2f5db52aa4..330b443c1e944c6614e4087473dd8b7b6c27621a 100644 (file)
@@ -83,13 +83,23 @@ print "\n";
 
 print '<thead><tr>';
 print '<th colspan="3">feature';
 
 print '<thead><tr>';
 print '<th colspan="3">feature';
-printf '<th colspan="%d">%s',
-       scalar @{ $versions{$_} }, $caniuse->{agents}->{$_}->{browser}
-               for @browsers;
+printf('<th colspan="%d">%s',
+       scalar @{ $versions{$_} },
+       do {
+               my $name = $caniuse->{agents}->{$_}->{browser};
+               length $name < 16 ? $name : $caniuse->{agents}->{$_}->{abbr};
+       },
+) for @browsers;
 print '<th>%';
 # preceding row without any colspan to work around gecko bug
 print '<th>%';
 # preceding row without any colspan to work around gecko bug
-print '<tr>';
-print '<td>' x $_ for 3, (map { scalar @{ $versions{$_} } } @browsers), 1;
+print "\n<tr>";
+print '<td>' x 3;
+for my $browser (@browsers) {
+       printf('<td title="%.1f%%">%s',
+               $canihas->{$browser}->{$_}, showversions($_),
+       ) for @{ $versions{$browser} };
+}
+print '<td>' x 1;
 print "</thead>\n";
 
 sub featurescore {
 print "</thead>\n";
 
 sub featurescore {
@@ -155,7 +165,7 @@ for my $id (sort {
                                        ),
                                        scalar @span,
                                        $usage,
                                        ),
                                        scalar @span,
                                        $usage,
-                                       showversions(\@span),
+                                       showversions(@span),
                                undef $prev;
                                @span = ();
                        }
                                undef $prev;
                                @span = ();
                        }
@@ -177,13 +187,12 @@ sub paddedver {
 }
 
 sub showversions {
 }
 
 sub showversions {
-       my ($span) = @_;
-       splice @$span, 1, -1;
-       for (@$span) {
+       my @span = ($_[0], @_>1 ? $_[-1] : ());
+       for (@span) {
                s/^\./0./;
                s/x$/.*/;
        }
                s/^\./0./;
                s/x$/.*/;
        }
-       return join('‒', @$span);
+       return join('‒', @span);
 }
 
 :>
 }
 
 :>