X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/70b958bcdf1c8fa7105090135818d7219cec8fa0..453628e1984780185704e5039030beb0f910f16a:/browser.plp diff --git a/browser.plp b/browser.plp index 0d4d4e7..202f252 100644 --- a/browser.plp +++ b/browser.plp @@ -80,17 +80,18 @@ my %CSTATUS = ( other => 'l0', # non-w3 ); my %versions; -if (my ($somerow) = values %{ $caniuse->{data} }) { - while (my ($browser, $row) = each %{ $somerow->{stats} }) { - $versions{$browser} = [ sort { paddedver($a) cmp paddedver($b) } keys %$row ]; - } +while (my ($browser, $row) = each %{ $caniuse->{agents} }) { + $versions{$browser} = [ + sort { paddedver($a) cmp paddedver($b) } grep { defined } + @{ $row->{versions} } + ]; } print <<'';

Alternate rendition of Fyrd's when can I use... page my ($canihas, $usage); -my $minusage = $get{threshold} // .7; +my $minusage = $get{threshold} // 1; given ($get{usage} // 'wm') { when (!$_) { # none @@ -107,7 +108,7 @@ given ($get{usage} // 'wm') { }; $usage = $_; my $ref = $canihas->{-title} || 'unknown'; - $ref = sprintf '%s', $_, $ref + $ref = showlink($ref, $_) for $canihas->{-site} || $canihas->{-source} || (); $ref .= " $_" for $canihas->{-date} || (); print "\nwith $ref browser usage statistics"; @@ -195,7 +196,6 @@ $canihas ||= { } } @browsers }; # fallback hash based on release semantics -my $usagemax = (max(map { ref $_ eq 'HASH' && sum(values %$_) } values %$canihas) // 1) / 100; my $usagepct = 1; # score multiplier for 0..100 result # normalise usage percentage to only include shown browsers @@ -311,6 +311,15 @@ sub formatnotes { return @html; } +sub notestotitle { + my @notes = @_; + for (@notes) { + EscapeHTML($_); + s{ \[ ([^]]*) \] \( [^)]* \) }{$1}gx; # strip link urls + } + return @notes; +} + sub saytitlecol { my ($id) = @_; my $row = $caniuse->{data}->{$id}; @@ -339,10 +348,10 @@ sub saytitlecol { say '

'; } printf 'Resources: %s.', join(', ', map { - sprintf '%s', EscapeHTML($_->{url}), EscapeHTML($_->{title}) + showlink($_->{title}, $_->{url}) } @$_) for grep { @$_ } $row->{links} // (); printf '
Parent feature: %s.', join(', ', map { - sprintf '%s', EscapeHTML("#$_"), $caniuse->{data}->{$_}->{title} + showlink($caniuse->{data}->{$_}->{title}, "#$_") } $_) for $row->{parent} || (); print ''; } @@ -353,7 +362,7 @@ sub saystatuscol { for ($row->{status}) { my $cell = $_ // '-'; - $cell = sprintf '%s', $_, $cell for $row->{spec} // (); + $cell = showlink($cell, $_) for $row->{spec} // (); printf '%s', $caniuse->{statuses}->{$_}, $CSTATUS{$_} // '', $cell; } @@ -396,7 +405,7 @@ sub saybrowsercols { map { split / /, $_ } $prev )); - $title .= "\n".EscapeHTML($_) for @notes; + $title .= "\n$_" for notestotitle(@notes); printf('%s', join(' ', @@ -405,7 +414,6 @@ sub saybrowsercols { sprintf('p%01d', $usage * ($usagepct - .0001) / 10), sprintf('p%02d', $usage * ($usagepct - .0001)), ), - sprintf('pp%02d', $usage / $usagemax), ), scalar @span, $title,