summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
3beb5af)
Browser agents were threated differently from versions to force a complete
overview of all known browsers, regardless of usage (so one could see
cutting edge features in rare browsers for example, but also because not all
user agents were distinguished in usage data).
With the increasing amount of Webkit forks though, there isn't enough space
so apply the same threshold as versions.
$versions{$browser} = [ sort { paddedver($a) cmp paddedver($b) } keys %$row ];
}
}
$versions{$browser} = [ sort { paddedver($a) cmp paddedver($b) } keys %$row ];
}
}
-my @browsers = keys %versions;
print <<'';
<p id="intro">Alternate rendition of Fyrd's <a href="http://caniuse.com/">when can I use...</a> page
print <<'';
<p id="intro">Alternate rendition of Fyrd's <a href="http://caniuse.com/">when can I use...</a> page
-my ($canihas, $usage, $minusage);
+my ($canihas, $usage);
+my $minusage = $get{threshold} // .5;
given ($get{usage} // 'wm') {
when (!$_) {
# none
given ($get{usage} // 'wm') {
when (!$_) {
# none
$ref .= " $_" for $canihas->{-date} || ();
print "\nwith $ref browser usage statistics";
}
$ref .= " $_" for $canihas->{-date} || ();
print "\nwith $ref browser usage statistics";
}
if ($usage) { # first() does not work inside given >:(
# adapt version usage to actual support data
my %engineuse; # prefix => usage sum
for my $browser (keys %versions) {
my $row = $canihas->{$browser} // {};
my $verlist = $versions{$browser} or next;
if ($usage) { # first() does not work inside given >:(
# adapt version usage to actual support data
my %engineuse; # prefix => usage sum
for my $browser (keys %versions) {
my $row = $canihas->{$browser} // {};
my $verlist = $versions{$browser} or next;
+ if ($minusage and sum(values %$row) < $minusage) {
+ delete $versions{$browser};
+ next;
+ }
my %supported = map { $_ => 1 } @$verlist;
# cascade unknown versions
my %supported = map { $_ => 1 } @$verlist;
# cascade unknown versions
}
# build row list for each version
}
# build row list for each version
- if ($minusage = $get{threshold} // .5) {
my @vershown; # $verlist replacement
my ($rowusage, @verrow) = (0); # replacement row tracking
for (@$verlist) {
my @vershown; # $verlist replacement
my ($rowusage, @verrow) = (0); # replacement row tracking
for (@$verlist) {
$engineuse{ $caniuse->{agents}->{$a}->{prefix} }
||
$canihas->{$b}->{-total} <=> $canihas->{$a}->{-total}
$engineuse{ $caniuse->{agents}->{$a}->{prefix} }
||
$canihas->{$b}->{-total} <=> $canihas->{$a}->{-total}
}
else {
# order browser columns by name grouped by engine
}
else {
# order browser columns by name grouped by engine
$caniuse->{agents}->{$a}->{prefix}
||
$a cmp $b
$caniuse->{agents}->{$a}->{prefix}
||
$a cmp $b