browser: omit superfluous usage class
[sheet.git] / browser.plp
index 85ed1565f1d41435d08bf2fcf226221f5a54259c..202f252d1d7d0c532698428374e74079f8c64ea2 100644 (file)
@@ -80,10 +80,11 @@ my %CSTATUS = (
        other => 'l0', # non-w3
 );
 my %versions;
-if (my ($somerow) = values %{ $caniuse->{data} }) {
-       while (my ($browser, $row) = each %{ $somerow->{stats} }) {
-               $versions{$browser} = [ sort { paddedver($a) cmp paddedver($b) } keys %$row ];
-       }
+while (my ($browser, $row) = each %{ $caniuse->{agents} }) {
+       $versions{$browser} = [
+               sort { paddedver($a) cmp paddedver($b) } grep { defined }
+               @{ $row->{versions} }
+       ];
 }
 
 print <<'';
@@ -195,7 +196,6 @@ $canihas ||= {
                }
        } @browsers
 }; # fallback hash based on release semantics
-my $usagemax = (max(map { ref $_ eq 'HASH' && sum(values %$_) } values %$canihas) // 1) / 100;
 
 my $usagepct = 1;  # score multiplier for 0..100 result
 # normalise usage percentage to only include shown browsers
@@ -311,6 +311,15 @@ sub formatnotes {
        return @html;
 }
 
+sub notestotitle {
+       my @notes = @_;
+       for (@notes) {
+               EscapeHTML($_);
+               s{ \[ ([^]]*) \] \( [^)]* \) }{$1}gx;  # strip link urls
+       }
+       return @notes;
+}
+
 sub saytitlecol {
        my ($id) = @_;
        my $row = $caniuse->{data}->{$id};
@@ -396,7 +405,7 @@ sub saybrowsercols {
                                map { split / /, $_ }
                                $prev
                        ));
-                       $title .= "\n".EscapeHTML($_) for @notes;
+                       $title .= "\n$_" for notestotitle(@notes);
 
                        printf('<td class="%s" colspan="%d" title="%s">%s',
                                join(' ',
@@ -405,7 +414,6 @@ sub saybrowsercols {
                                                sprintf('p%01d', $usage * ($usagepct - .0001) / 10),
                                                sprintf('p%02d', $usage * ($usagepct - .0001)),
                                        ),
-                                       sprintf('pp%02d', $usage / $usagemax),
                                ),
                                scalar @span,
                                $title,