sub checkconfig () { #{{{
# Preprocess the shortcuts page to get all the available shortcuts
# defined before other pages are rendered.
- IkiWiki::preprocess("shortcuts", "shortcuts",
- readfile(srcfile("shortcuts.mdwn")));
+ my $srcfile=eval {srcfile("shortcuts.mdwn")};
+ if (! defined $srcfile) {
+ error(gettext("shortcut plugin will not work without a shortcuts.mdwn"));
+ }
+ IkiWiki::preprocess("shortcuts", "shortcuts", readfile($srcfile));
} # }}}
sub preprocess_shortcut (@) { #{{{
my $text=join(" ", @params);
my $encoded_text=$text;
$encoded_text=~s/([^A-Za-z0-9])/sprintf("%%%02X", ord($1))/seg;
+
+ $url=~s{\%([sS])}{
+ $1 eq 's' ? $encoded_text : $text
+ }eg;
$text=~s/_/ /g;
+ if (defined $params{desc}) {
+ $desc=$params{desc};
+ }
if (defined $desc) {
$desc=~s/\%s/$text/g;
}
$desc=$text;
}
- $url=~s/\%s/$encoded_text/g;
return "<a href=\"$url\">$desc</a>";
} #}}}