(common.inc.plp)><:
my $mode = lc($Request || 'altgr');
my $include = "$mode.eng";
my $info = eval { Data($include) } || {};
warn "error in $include: ", @{$@} if ref $@;
$mode = $info->{title} // $mode;
Html({
title => "\L$mode\E keyboard cheat sheet",
version => $info->{version} || '0.1',
description => $info->{description} //
["Keyboard cheat sheet for the default controls of $mode."],
keywords => [@{ $info->{keywords} // [] }, qw'
sheet cheat reference overview keyboard control commands shortkey
'],
stylesheet => [qw( light dark circus mono red )],
keys => 1,
data => ["$include.inc.pl"],
});
%{$info} or Abort(
"Requested keyboard $mode
not available",
'404 request not found',
);
say "
$mode cheat sheet
";
say "$_
" for $info->{intro} // ();
say "", $info->{mode}->{''}, " (default)
"
if $info->{mode} and %{ $info->{mode} } > 1;
use Shiar_Sheet::Keyboard 2.08;
my $keys = Shiar_Sheet::Keyboard->new($info);
$keys->map($get{map}) or undef $get{map};
$keys->print_rows($get{rows}, $info->{rows});
{
say "
\n";
say '';
use List::MoreUtils qw( part );
my @gflags = part {/^g\d/} sort keys %{ $keys->{flag} };
say "\t", '
';
$keys->print_legend('legend-types', $gflags[1]);
say "\t
\n";
say "\t", '
';
$keys->print_legend('legend-options', $gflags[0]);
say '';
say "\t\t", '
';
say "\t\t- keyboard map is ",
($get{map} ? 'set to ' : ''), "$keys->{map}";
say "\t\t
- keys are ",
"", ($showkeys ? 'always shown' : 'hidden if unassigned'), "",
(!defined $showkeys && ' by default');
say "\t\t
- default style is ",
(defined $get{style} && 'set to '), "$style";
say "\t\t
";
say "\t
\n";
say "
\n";
}