latin: palm graffiti font placeholder
[sheet.git] / browser.plp
index b22637c1eefefc4ff724749c30806f36cb26bef8..2fe75009ef3cd293b8296ee7e19594b24db41592 100644 (file)
@@ -4,7 +4,7 @@ no if $] >= 5.018, warnings => 'experimental::smartmatch';
 
 Html({
        title => 'browser compatibility cheat sheet',
-       version => '1.4',
+       version => '1.5',
        description => [
                "Compatibility table of new web features (HTML5, CSS3, SVG, Javascript)",
                "comparing support and usage share for all popular browser versions.",
@@ -36,11 +36,14 @@ my %CSTATS = (
        'p d' => 'l2',
        'a d' => 'l2',
        'y'   => 'l5',
+       'y #' => 'l4',
        'y x' => 'l5 ex',
+       'y x #' => 'l4 ex',
        'a'   => 'l3',
        'a x' => 'l3 ex',
        'p'   => 'l2',
        'u'   => 'l0',
+       'u d' => 'l2',
 );
 my %DSTATS = (
        u => 'unknown',
@@ -83,8 +86,11 @@ while (my ($browser, $row) = each %{ $caniuse->{agents} }) {
        ];
 }
 
-print <<'';
-<p id="intro">Alternate rendition of Fyrd's <a href="http://caniuse.com/">when can I use...</a> page
+my $ref = showlink('Can I use', 'https://caniuse.com/');
+$ref =~ s/(?=>)/ title="updated $_"/
+       for map { s/[\sT].*//r } $caniuse->{-date} || ();
+$ref = "Fyrd's $ref page";
+say '<p id="intro">Alternate rendition of '.$ref;
 
 my ($canihas, $usage);
 my $minusage = $get{threshold} // 1;
@@ -106,7 +112,7 @@ given ($get{usage} // 'wm') {
        my $ref = $canihas->{-title} || 'unknown';
        $ref = showlink($ref, $_)
                for $canihas->{-site} || $canihas->{-source} || ();
-       $ref .= " $_" for $canihas->{-date} || ();
+       $ref =~ s/(?=>)/ title="updated $_"/ for $canihas->{-date} || ();
        print "\nwith $ref browser usage statistics";
 }
 
@@ -195,7 +201,10 @@ $canihas ||= {
 
 # score multiplier for percentage of all browser versions
 my $usagepct = 99.99 / sum(
-       map { $_->{-total} // values %{$_} } values %{$canihas}
+       map { $_->{-total} // values %{$_} }
+       map { $canihas->{$_} }
+       grep { !/^-/ }
+       keys %{$canihas}
 );
 
 $_->{usage} = featurescore($_->{stats}) * $usagepct
@@ -413,6 +422,7 @@ sub saybrowsercols {
                        ));
                        $title .= "\n$_" for notestotitle(@notes);
 
+                       $prev .= ' #' if @notes and $prev =~ /^y/;
                        printf('<td class="%s" colspan="%d" title="%s">%s',
                                join(' ',
                                        X => $CSTATS{$prev},
@@ -423,7 +433,7 @@ sub saybrowsercols {
                                ),
                                scalar @span,
                                $title,
-                               showversions($span[0]->[0], @span > 1 ? $span[-1]->[-1] : ()),
+                               showversions($span[0]->[0], @span > 1 && defined $ver ? $span[-1]->[-1] : ()),
                        );
                        undef $prev;
                        @span = ();
@@ -474,6 +484,7 @@ sub showversions {
 <div class="legend">
        <table class="glyphs"><tr>
        <td class="X l5">supported
+       <td class="X l4">annotated
        <td class="X l3">partial
        <td class="X l2">optional
        <td class="X l1">missing
@@ -511,5 +522,7 @@ sub showversions {
 </div>
 
 <script type="text/javascript" src="/searchlocal.js"></script>
-<script type="text/javascript"> prependsearch(document.getElementById('intro')) </script>
+<script type="text/javascript"><!--
+       prependsearch(document.getElementById('intro'));
+//--></script>