Html({
title => 'APL',
- version => 'v1.0',
+ version => '1.0',
description => [
],
keywords => [qw'
'],
stylesheet => [qw'light circus dark red'],
data => [qw'apl.inc.pl'],
+ raw => <<'EOT',
+<style>
+ .target tbody td:nth-child(4) ~ td,
+ :target tbody td:nth-child(4) ~ td {
+ text-align: left;
+ }
+ .target tbody td[title]::after,
+ :target tbody td[title]::after {
+ content: ': ' attr(title);
+ font-size: 75%;
+ opacity: .7;
+ }
+</style>
+EOT
});
use Shiar_Sheet::FormatChar;
<h1>APL Symbols</h1>
<div class="section">
-<table class="mapped">
+<table class="mapped" onclick="this.classList.toggle('target')">
+ <col><colgroup span=3><colgroup span=2>
<thead><tr>
<td rowspan=2>op
- <td colspan=2>input
+ <td colspan=3>input
<td colspan=2>meaning
<tr>
+ <td title="unified/Dyalog key combination">⎈
<td><a href="/digraphs" title="digraph">di</a><td>html
- <td>monadic
- <td>dyadic
-</thead>
-
+ <td title="…B">monadic
+ <td title="A…B">dyadic
+<tbody>
<:
for my $op (@ops) {
- my ($chr, $monad, $dyad) = @{$op};
+ $op or do {
+ print "<tbody>\n";
+ next;
+ };
+
+ my ($chr, $dyad, $monad) = @{$op};
+ ($chr, my $altkey) = split /\n/, $chr;
my $codepoint = ord $chr;
my $ascii = $codepoint <= 127;
my $info = $glyphs->glyph_info($codepoint);
my ($class, $name, $mnem, $html, $string) = @{$info};
- printf '<tr><th title="%2$s">%s'."\n", $chr, EscapeHTML($name || '?'), $class;
+
+ printf '<tr><th title="%2$s">%s', $chr, EscapeHTML($name || '?'), $class;
printf '<td class="%s">%s', @{$_} for (
+ [$ascii ? 'l5' : defined $altkey ? 'l4' : 'l3', $altkey],
[defined $mnem ? $class =~ /\bu-di\b/ ? 'l4' : 'l3' : $ascii ? 'l5' : 'l1',
EscapeHTML($mnem) // sprintf('%s%0*X', $codepoint < 256 ? (x => 2) : (u => 4), $codepoint)],
[defined $html ? 'l4' : $ascii ? 'l5' : 'l1', $html // "#$codepoint"],
);
printf(
- defined $_ ? '<td title="%2$s">%s' : '<td class="Xi">',
- map { EscapeHTML($_) } split /\n/, $_, 2
+ defined $_ ? '<td%s>%s' : '<td class=Xi>',
+ map { !!$_->[1] && qq( title="$_->[1]"), $_->[0] }
+ [map { EscapeHTML($_) } split /\n/, $_, 2]
) for $monad, $dyad;
+ print "</td>\n";
}
:></table>