X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/6ab9c94cde0ca32c221dc3120f0088e1693e71c1..HEAD:/keyboard.plp diff --git a/keyboard.plp b/keyboard.plp index 9a69527..3a40a4d 100644 --- a/keyboard.plp +++ b/keyboard.plp @@ -1,91 +1,84 @@ <(common.inc.plp)><: +$Request ||= 'altgr/windows'; +my $mode = lc $Request; +my $include = "keyboard/$mode.eng"; + +if (-e (my $page = "keyboard/$Request/index.inc.plp")) { + Include $page; + exit; +} + +my $info = eval { Data($include) } || {}; +warn "error in $include: ", @{$@} if ref $@; +$mode = $info->{title} // $mode; + +my $showkeys //= !exists $get{keys} ? undef : + ($get{keys} ne '0' && ($get{keys} || 'always')); +my @keystyle = ( + '', + '', + !$showkeys ? '' : + $showkeys eq 'ghost' ? '' : (), + '', +); + Html({ - title => 'keyboard cheat sheet', - version => '1.0', + title => "\L$mode\E keyboard cheat sheet", + version => $info->{version} || '0.1', + canonical => -e "$Request.plp" ? "/$Request" : undef, # historic shorthand + description => $info->{description} // + ["Keyboard cheat sheet for the default controls of $mode."], + keywords => [@{ $info->{keywords} // [] }, qw' + sheet cheat reference overview keyboard control commands shortkey + '], + image => $info->{image}, stylesheet => [qw( light dark circus mono red )], - keys => 1, + data => ["$include.inc.pl"], + raw => \@keystyle, }); -:> -

keyboard cheat sheet

+%{$info} or Abort( + "Requested keyboard $mode not available", + '404 request not found', +); -

normal mode (default)

+say "

$mode keyboard

"; +say "

$_

" for $info->{intro} // (); +say "

", $info->{mode}->{''}, " (default)

" + if $info->{mode} and %{ $info->{mode} } > 1; - + 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"; -
-
-
-
info -
Info command: shows/does something without altering anything. -
motion -
positioning -
Other movement (jumps, window (re)positioning). -
command -
Direct action command. -
ins mode -
Enters Insert or Replace mode. -
mode -
Enters a different mode. -
vis mode -
Enters Visual or Select mode. -
key cmd -
Additional key commands (click for overview). -
-
+ say "\t", '
'; + $keys->print_legend('legend-options', $gflags[0]); + say ''; -
-
-
+ say "\t\t", '
    '; -
      -
    • keyboard map is - <:= $get{map} ? 'set to ' : '' :><:= $keys->{map} :> -
    • keys are - <:= $showkeys ? 'always shown' : 'hidden if unassigned' :><:= - !exists $get{keys} && ' by default' :> -
    • default style is - <:= defined $get{style} && 'set to ' :><:= $style :> -
    -
-
+ 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"; +}