latin: pairwise loop through rows
[sheet.git] / latin.plp
index 6f8e3e0d8cb6b7b2108a40e1de0ee416f3e305fb..1fda12c5fb40846fa8cc49b62f11fb0c1cf93dd9 100644 (file)
--- a/latin.plp
+++ b/latin.plp
@@ -27,6 +27,13 @@ Html({
                stroke: currentColor;
                fill: none;
        }
+
+       td {
+               vertical-align: top;
+       }
+       td > svg {
+               vertical-align: middle;
+       }
 </style>
 
 <h1>Latin alphabet</h1>
@@ -36,18 +43,24 @@ or <span title="fuck yeah!">'mercan</span>) letters A–Z.
 Also see <a href="/writing">related alphabets</a>
 and <a href="/unicode">common chars</a>.</p>
 
-<div class="-diinfo">
+<div>
 
 <:
+use List::Util qw( pairs );
+
 my @table = do 'writing-latn.inc.pl';
 if ($! or $@) {
-       printf "<p class=error>Table data not found: <em>%s</em>.</p>\n", $@ || $!;
+       Alert("Table data not found", $@ || $!);
 }
 else {
-       print '<table class="glyphs">';
-       print ref $_ ne 'ARRAY' ? "<tr><th>$_" : map {/^<td/ ? $_ : "<td>$_"} @$_ for @table;
-       print "</table>\n\n";
+       say '<table class="glyphs">';
+       for my $row (pairs @table) {
+               my ($title, $cells) = @{$row};
+               say '<tr><th>', $title;
+               print /^<td/ ? $_ : "\t<td>$_\n" for @{$cells};
+       }
+       say "</table>\n";
 }
 
-print "</div>\n";
+:></div>