X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/767fa1a306e3c4aa810024de9c2b2c9c30dbca0b..f2c485e21f1945fdd5ddbc1ffff3433624744d32:/browser.plp?ds=sidebyside
diff --git a/browser.plp b/browser.plp
index 7d78670..7e52a03 100644
--- a/browser.plp
+++ b/browser.plp
@@ -43,7 +43,7 @@ my $caniuse = from_json($source, {
my %CSTATS = (
n => 'di-b',
- y => 'di-a',
+ y => 'di-aa',
a => 'di-d',
j => 'di-prop',
p => 'di-prop',
@@ -55,7 +55,7 @@ my %CSTATUS = (
pr => 'di-prop', # proposed
cr => 'di-d', # candidate
rec => 'di-a', # recommendation
- ietf => 'di-a', # standard
+ ietf => 'di-aa', # standard
);
my @browsers = qw(trident gecko webkit_saf presto);
my %versions;
@@ -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 '';
@@ -143,10 +146,11 @@ sub paddedver {
- yes
- | almost
- | plugin or js
- | no
+ | supported
+ | prefixed
+ | partial
+ | external (js/plugin)
+ | missing
|
|