browser: add page keywords
[sheet.git] / browser.plp
index 9a865d4f0ff8a577b20c191af9604b08030c9fa3..4ed3f1b8b8fc2f8bbc9ee2da6ed874588bf50415 100644 (file)
@@ -8,7 +8,11 @@ Html({
        version => 'v1.0',
        description =>
                "caniuse.",
-       keywords => [qw'html css browser feature'],
+       keywords => [qw'
+               web browser support compatibility usage available feature
+               html html5 css css3 svg javascript js dom mobile
+               ie internet explorer firefox chrome safari webkit opera
+       '],
        stylesheet => [qw'circus dark mono red light'],
        data => ['browser-support.inc.pl'],
 });
@@ -107,9 +111,9 @@ $canihas ||= {
 my $scorediv = (max(map { ref $_ eq 'HASH' && sum(values %$_) } values %$canihas) // 1) / 100;
 
 print '<table class="mapped">';
-print '<col>' x 3;
+print '<col span="3">';  # should match first thead row
 printf '<colgroup span="%d">', scalar @{ $versions{$_} } for @browsers;
-print "\n";
+say '</colgroup><col>';
 
 my $header = join('',
        '<tr>',
@@ -119,7 +123,7 @@ my $header = join('',
                sprintf('<th colspan="%d" class="%s" title="%s">%s',
                        scalar @{ $versions{$_} },
                        join(' ', map {"b-a-$_"} grep {$_}
-                               $_, $caniuse->{agents}->{$_}->{prefix},
+                               $_, @{ $caniuse->{agents}->{$_} }{'prefix', 'type'},
                        ),
                        join(' ',
                                sprintf('%.1f%%', sum(values %{ $canihas->{$_} })),
@@ -192,6 +196,7 @@ sub saytitlecol {
 
        for ($row->{categories}) {
                my $cell = $_ ? lc $_->[0] : '-';
+               $cell =~ s/ api$//;  # trim unessential fluff in 'js api'
                printf '<th title="%s">%s', join(' + ', @$_), $cell;
        }