common: preferred external url in canonical link
[sheet.git] / keyboard.plp
index 7689af5851591a3e3fbaaf96ac2d7d4f47e51e7a..e4ba72da23a61720a847b547989228d404f9dd0b 100644 (file)
@@ -1,7 +1,8 @@
 <(common.inc.plp)><:
 
-my $mode = lc($Request || 'altgr');
-my $include = "$mode.eng";
+$Request ||= 'altgr/windows';
+my $mode = lc $Request;
+my $include = "keyboard/$mode.eng";
 
 my $info = eval { Data($include) } || {};
 warn "error in $include: ", @{$@} if ref $@;
@@ -16,7 +17,7 @@ my @keystyle = (
        $showkeys eq 'ghost' ? '<style> .no, .alias {opacity:.5} </style>' : (),
        '<script type="text/javascript" src="/keys.js?1.6" async></script>',
 );
-if ($include =~ /^altgr/ and open my $cssinc, '<', 'keyboard-altgr.css') {
+if ($Request =~ /^altgr/ and open my $cssinc, '<', 'keyboard/altgr.css') {
        local $/;
        my $data = readline $cssinc;
        push @keystyle, "<style>\n$data</style>";
@@ -25,11 +26,13 @@ if ($include =~ /^altgr/ and open my $cssinc, '<', 'keyboard-altgr.css') {
 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,