charset: check ucplanes for modification date
[sheet.git] / browser.plp
index f8b20a9eeab7726a483fc05444300038dbd48b8e..0d4d4e7c8ed17e7da6e8567f41db20164ac0af84 100644 (file)
@@ -1,12 +1,10 @@
 <(common.inc.plp)><:
-use 5.010;
-use utf8;
 use List::Util qw(sum max first);
 no if $] >= 5.018, warnings => 'experimental::smartmatch';
 
 Html({
        title => 'browser compatibility cheat sheet',
-       version => '1.3',
+       version => '1.4',
        description => [
                "Compatibility table of new web features (HTML5, CSS3, SVG, Javascript)",
                "comparing support and usage share for all popular browser versions.",
@@ -98,11 +96,13 @@ given ($get{usage} // 'wm') {
                # none
        }
        when (!m{ \A [a-z]\w+ (?:/\d[\d-]*\d)? \z }x) {
-               printf "<p>Invalid browser usage data request: <em>%s</em>",
-                       'identifier must be alphanumeric name or <q>0</q>';
+               Alert([
+                       'Invalid browser usage data request',
+                       'Identifier must be alphanumeric name or <q>0</q>.',
+               ]);
        }
        $canihas = do "data/browser/usage-$_.inc.pl" or do {
-               printf "<p>Browser usage data not found: <em>%s</em>", $@ || $!;
+               Alert('Browser usage data not found', $@ || $!);
                break;
        };
        $usage = $_;
@@ -339,7 +339,7 @@ sub saytitlecol {
                say '</p>';
        }
        printf 'Resources: %s.', join(', ', map {
-               sprintf '<a href="%s">%s</a>', EscapeHTML($_->{url}), $_->{title}
+               sprintf '<a href="%s">%s</a>', EscapeHTML($_->{url}), EscapeHTML($_->{title})
        } @$_) for grep { @$_ } $row->{links} // ();
        printf '<br>Parent feature: %s.', join(', ', map {
                sprintf '<a href="%s">%s</a>', EscapeHTML("#$_"), $caniuse->{data}->{$_}->{title}