X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/a58b7fef8448841cc81a3b956819cccb26452743..f2c485e21f1945fdd5ddbc1ffff3433624744d32:/browser.plp
diff --git a/browser.plp b/browser.plp
index a3a984d..7e52a03 100644
--- a/browser.plp
+++ b/browser.plp
@@ -80,12 +80,11 @@ print '
';
print '' x $_ for 2, map { scalar @{ $versions{$_} } } @browsers;
print "\n";
-sub featurerank {
+sub featurescore {
# relative amount of support for given feature
state $statspts = { y=>10, 'y x'=>9, a=>5, j=>2, p=>1 };
- my ($id) = @_;
my $rank = 0;
- if (my $row = $caniuse->{data}->{$id}->{stats}) {
+ if (my $row = shift) {
while (my ($browser, $vercols) = each %versions) {
my $div = 0; # multiplier exponent (decreased to lower value)
my @vers = map { $row->{$browser}->{$_} } @$vercols;
@@ -105,7 +104,8 @@ sub featurerank {
}
for my $id (sort {
- featurerank($b) <=> featurerank($a)
+ featurescore($caniuse->{data}->{$b}->{stats})
+ <=> featurescore($caniuse->{data}->{$a}->{stats})
} keys %{ $caniuse->{data} }) {
my $row = $caniuse->{data}->{$id};
my $data = $row->{stats} or next; # skip metadata [summary]
@@ -128,7 +128,10 @@ for my $id (sort {
$prev = $ver;
}
}
- print ' | ', int featurerank($id);
+ state $maxscore = featurescore({ # yes for every possible version
+ map { $_ => { map {$_ => 'y'} @{$versions{$_}} } } keys %versions
+ });
+ print ' | ', int featurescore($caniuse->{data}->{$id}->{stats}) / $maxscore * 100;
}
print '';
|