termcol: monospaced terminal samples
[sheet.git] / browser.plp
index ef260e118401dd5b81649c397d4b7646801348fe..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,17 +111,20 @@ $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>',
        '<th colspan="3">feature',
        (map {
                my $name = $caniuse->{agents}->{$_}->{browser};
-               sprintf('<th colspan="%d" title="%s">%s',
+               sprintf('<th colspan="%d" class="%s" title="%s">%s',
                        scalar @{ $versions{$_} },
+                       join(' ', map {"b-a-$_"} grep {$_}
+                               $_, @{ $caniuse->{agents}->{$_} }{'prefix', 'type'},
+                       ),
                        join(' ',
                                sprintf('%.1f%%', sum(values %{ $canihas->{$_} })),
                                $name,
@@ -189,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;
        }