print "\n<tr>";
for my $browser (@browsers) {
for (@{ $versions{$browser} }) {
- my $lastver = $_->[-1];
- my $release = $caniuse->{agents}->{$browser}->{verrelease}->{$lastver};
- my $future = defined $release;
+ my $lastver = first {
+ !defined $caniuse->{agents}->{$browser}->{verrelease}->{$_} # stable
+ } reverse @{$_};
printf('<td title="%s"%s>%s',
join(' ',
sprintf('%.1f%%', sum(@{ $canihas->{$browser} }{@$_}) * $usagepct),
- $future ? 'development' : (),
- 'version ' . join(', ', @{$_}),
+ 'version ' . showversions(@{$_}, undef),
+ $_->[-1] eq $lastver ? () : '(development)',
),
- $future && ' class="ex"',
+ !defined $lastver && ' class="ex"',
showversions($lastver),
);
}
),
scalar @span,
$title,
- showversions($span[0]->[0], @span > 1 ? ($span[-1]->[-1]) : ()),
+ showversions($span[0]->[0], @span > 1 ? $span[-1]->[-1] : ()),
);
undef $prev;
@span = ();
}
sub showversions {
- my @span = ($_[0], @_>1 ? $_[-1] : ());
- s/-.*// for $span[0];
- for (@span) {
- s/^\./0./;
- s/x$/.*/;
- s/.*-//;
- }
+ # title to describe minumum version and optional maximum for multiple cells
+ my @span = (map { split /-/ } grep { defined } @_);
+ return $span[0] if @_ <= 1;
+ splice @span, 1, -1;
return join('‒', @span);
}