keyboard: fix empty key titles
[sheet.git] / countries.plp
index 575aa8bb2c40be3c67eb89e495f1e64c54a7d0ad..1ed8eef2740097e99d66f22718ea98008872b014 100644 (file)
@@ -2,18 +2,19 @@
 
 Html({
        title => 'country code cheat sheet',
-       version => 'v1.0',
+       version => '1.3',
        description =>
-               "Table of ISO-3166-2 country codes with the names of reserved territories.",
-       keywords => [qw'country code cc tld territory land table'],
+               "Table of ISO-3166-1 country codes with the names of reserved territories.",
+       keywords => [qw'country code cc tld cctld continent territory land table'],
        stylesheet => [qw'light dark circus mono red'],
+       data => ['data/countries.inc.pl'],
 });
 
 :>
-<h1>ISO-3166-2α2 Country codes</h1>
+<h1>ISO-3166-1α2 Country codes</h1>
 
 <:
-my $cc = do 'countries.inc.pl';
+my $cc = do 'data/countries.inc.pl';
 
 {
        printf '<table class="mcmap">';
@@ -33,21 +34,30 @@ my $cc = do 'countries.inc.pl';
                                next;
                        };
                        my ($name, $class, $short, $ref) = @$country;
+                       $name .= " → $ref" if $ref;
                        $ref ||= $code;
-                       local $_ = $ref;
+                       my $cell;
                        if (exists $get{show}) {
-                               my $img = "flag/$ref.png";
-                               $_ = sprintf '<img src="/%s" alt="%s">', $img, $ref if -e $img;
+                               sub showflag {
+                                       my ($cc) = @_;
+                                       my $img = "data/flag/$cc.png";
+                                       return -e $img &&
+                                               sprintf '<img src="/%s" alt="%s">', $img, $cc;
+                               }
+
+                               $cell = showflag($code) // join(' ',
+                                       map { showflag($_) || $_ } split / /, $ref
+                               );
                        }
                        else {
-                               $_ = EscapeHTML($short || $name);
+                               $cell = EscapeHTML($short || $name);
                        }
                        printf "\n".'<td class="%s" title="%s">%s',
-                               $_ ? 'X '.$class : '', EscapeHTML("$code: $name"), $_;
+                               $cell ? 'X '.$class : '', EscapeHTML("$code: $name"), $cell;
                }
                print "\n";
        }
-       print "</table>\n";
+       say '</table>';
 }
 
 :>
@@ -62,9 +72,9 @@ my $cc = do 'countries.inc.pl';
        <td class="X c-oc">oceania
        <td class="X c-sa">south america
        <td class="X c-na">north america
-       <td class="Xr">reserved
+       <td class="X Xr">reserved
+       <td class="X Xi">org
        <td class="">free
-       <td class="X Xi">unused
        <td class="X Co">user-assigned
        </table>