X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/347ff57fabbe238835561648537b232ec2653190..7ee7a878e0b44cd8306fb0ff35ddbcee216bd7d9:/browser.plp diff --git a/browser.plp b/browser.plp index 85ee802..d8ebf86 100644 --- a/browser.plp +++ b/browser.plp @@ -5,7 +5,7 @@ use List::Util qw(sum max first); Html({ title => 'browser compatibility cheat sheet', - version => 'v1.1', + version => 'v1.2', description => [ "Compatibility table of new web features (HTML5, CSS3, SVG, Javascript)", "comparing support and usage share for all popular browser versions.", @@ -293,6 +293,18 @@ sub featurescore { return $rank; } +sub formatnotes { + my @html = @_; + for (@html) { + s/\h* $//gmx; # trailing whitespace + s/(?<= [^.\n]) $/./gmx; # consistently end each line by a period + Entity($_); + s{ ` ([^`]*) ` }{$1}gx; + s{ \[ ([^]]*) \] \( ([^)]*) \) }{$1}gx; + } + return @html; +} + sub saytitlecol { my ($id) = @_; my $row = $caniuse->{data}->{$id}; @@ -313,9 +325,13 @@ sub saytitlecol { ); } $row->{title}; print '
'; - s/\.?$/./, print "

$_

" for map { ref $_ ? @$_ : $_ || () } - Entity($row->{description}), - map { s/\s*\n/\n
/g; $_ } $row->{notes}; + print "

$_

" + for formatnotes($row->{description}, $row->{notes} || ()); + if (my %notes = %{ $row->{notes_by_num} }) { + say '

Browser-specific notes:'; + say "
#$_: ", formatnotes($notes{$_}) for sort keys %notes; + say '

'; + } printf 'Resources: %s.', join(', ', map { sprintf '%s', EscapeHTML($_->{url}), $_->{title} } @$_) for grep { @$_ } $row->{links} // ();