browser: recognise 'ls' feature status
[sheet.git] / browser.plp
index bd6d8abde4ec1a195bbf32a599397da1502e3bb1..e65395ea1cba69b0c20a047ade609b17756be26e 100644 (file)
@@ -63,12 +63,13 @@ my %DSTATS = (
 );
 my %CSTATUS = (
        unoff => 'l1', # unofficial
-       wd    => 'l3', # draft
-       cr    => 'l4', # candidate
-       pr    => 'l4', # proposed
+       wd    => 'l2', # draft
+       cr    => 'l3', # candidate
+       pr    => 'l3', # proposed
        rec   => 'l5', # recommendation
-       other => 'l2', # non-w3
-       ietf  => 'l5', # standard
+       ls    => 'l4', # whatwg
+       ietf  => 'l0', # standard
+       other => 'l0', # non-w3
 );
 my %versions;
 if (my ($somerow) = values %{ $caniuse->{data} }) {
@@ -240,7 +241,22 @@ for my $browser (@browsers) {
 }
 print '<td>' x 1;
 say '</thead>';
-say '<tfoot>', $header, '</tfoot>';
+say '<tfoot>', $header;
+{
+       # prefix indicates browser family; count adjacent families
+       my (@families, %familycount);
+       for my $browser (@browsers) {
+               my $family = $caniuse->{agents}->{$browser}->{prefix};
+               push @families, $family unless $familycount{$family};
+               $familycount{$family} += @{ $versions{$browser} };
+       }
+
+       print "\n", '<tr class="cat">';
+       print '<td>' x 3;
+       printf '<th colspan="%d">%s', $familycount{$_}, $_ for @families;
+       print '<td>';
+}
+say '</tfoot>';
 
 sub featurescore {
        # relative amount of support for given feature