From: Mischa POSLAWSKY Date: Thu, 27 Apr 2017 15:37:56 +0000 (+0200) Subject: browser: abbreviate multiple releases in versions row titles X-Git-Tag: v1.10~49 X-Git-Url: http://git.shiar.nl/sheet.git/commitdiff_plain/2ce75f053f97e81228960b6323b6b7bb230799df?hp=f73ec42018bd7c627db8742c92636074033f19e4 browser: abbreviate multiple releases in versions row titles Individual version numbers are not really of interest (and may not actually match usage data), and are much better represented as ranges (especially with the huge amount of Chrome increments). --- diff --git a/browser.plp b/browser.plp index a101d74..8ff9886 100644 --- a/browser.plp +++ b/browser.plp @@ -243,8 +243,8 @@ for my $browser (@browsers) { printf('%s', join(' ', sprintf('%.1f%%', sum(@{ $canihas->{$browser} }{@$_}) * $usagepct), - $future ? 'development' : (), - 'version ' . join(', ', @{$_}), + 'version ' . showversions(@{$_}, undef), + $future ? '(development)' : (), ), $future && ' class="ex"', showversions($lastver), @@ -419,7 +419,7 @@ sub saybrowsercols { ), scalar @span, $title, - showversions($span[0]->[0], @span > 1 ? ($span[-1]->[-1]) : ()), + showversions($span[0]->[0], @span > 1 ? $span[-1]->[-1] : ()), ); undef $prev; @span = (); @@ -457,13 +457,14 @@ sub paddedver { } sub showversions { - my @span = ($_[0], @_>1 ? $_[-1] : ()); - s/-.*// for $span[0]; + # title to describe minumum version and optional maximum for multiple cells + my @span = (map { split /-/ } grep { defined } @_); for (@span) { s/^\./0./; s/x$/.*/; - s/.*-//; } + return $span[0] if @_ <= 1; + splice @span, 1, -1; return join('‒', @span); }