X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/6a64d133526b25b46828bc75c2b3b99c0ab7e331..864bc2d9d0507a3b3f67ab785e347e37a8eaf9fa:/IkiWiki/Plugin/shortcut.pm?ds=sidebyside diff --git a/IkiWiki/Plugin/shortcut.pm b/IkiWiki/Plugin/shortcut.pm index dfc3cd7c7..dec8afdb5 100644 --- a/IkiWiki/Plugin/shortcut.pm +++ b/IkiWiki/Plugin/shortcut.pm @@ -6,18 +6,29 @@ use strict; use IkiWiki 2.00; sub import { #{{{ - hook(type => "refresh", id => "shortcut", call => \&refresh); + hook(type => "getsetup", id => "shortcut", call => \&getsetup); + hook(type => "checkconfig", id => "shortcut", call => \&checkconfig); hook(type => "preprocess", id => "shortcut", call => \&preprocess_shortcut); } #}}} -sub refresh () { #{{{ - # Preprocess the shortcuts page to get all the available shortcuts - # defined before other pages are rendered. - my $srcfile=srcfile("shortcuts.mdwn", 1); - if (! defined $srcfile) { - error(gettext("shortcut plugin will not work without a shortcuts.mdwn")); +sub getsetup () { #{{{ + return + plugin => { + safe => 1, + rebuild => undef, + }, +} #}}} + +sub checkconfig () { #{{{ + if (defined $config{srcdir}) { + # Preprocess the shortcuts page to get all the available shortcuts + # defined before other pages are rendered. + my $srcfile=srcfile("shortcuts.mdwn", 1); + if (! defined $srcfile) { + error(gettext("shortcut plugin will not work without a shortcuts.mdwn")); + } + IkiWiki::preprocess("shortcuts", "shortcuts", readfile($srcfile)); } - IkiWiki::preprocess("shortcuts", "shortcuts", readfile($srcfile)); } # }}} sub preprocess_shortcut (@) { #{{{ @@ -28,6 +39,7 @@ sub preprocess_shortcut (@) { #{{{ } hook(type => "preprocess", no_override => 1, id => $params{name}, + shortcut => 1, call => sub { shortcut_expand($params{url}, $params{desc}, @_) }); #translators: This is used to display what shortcuts are defined.