index: release v1.18 with only altgr index linked
[sheet.git] / keyboard.plp
index 4a49ebba91a52e64ddc6420a86bfce8d8193d727..fa2aaf25d19ef2c7c0c461cd5e8e29cbb43b44c0 100644 (file)
@@ -1,7 +1,13 @@
 <(common.inc.plp)><:
 
-my $mode = lc($Request || 'altgr');
-my $include = "$mode.eng";
+$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 $@;
@@ -20,11 +26,13 @@ my @keystyle = (
 Html({
        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 )],
        data => ["$include.inc.pl"],
        raw => \@keystyle,
@@ -35,7 +43,7 @@ Html({
        '404 request not found',
 );
 
-say "<h1>$mode cheat sheet</h1>";
+say "<h1>$mode keyboard</h1>";
 say "<p>$_</p>" for $info->{intro} // ();
 say "<h2>", $info->{mode}->{''}, " (default)</h2>"
        if $info->{mode} and %{ $info->{mode} } > 1;