X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/b72b8b2b0ec5888d53450db26e20252d1e18fb99..bd50ba3e8392db13c584b4166783ee4794b20365:/IkiWiki/Plugin/shortcut.pm?ds=sidebyside diff --git a/IkiWiki/Plugin/shortcut.pm b/IkiWiki/Plugin/shortcut.pm index fb096ecbd..7bfce586f 100644 --- a/IkiWiki/Plugin/shortcut.pm +++ b/IkiWiki/Plugin/shortcut.pm @@ -6,14 +6,23 @@ use strict; use IkiWiki 2.00; sub import { #{{{ - hook(type => "checkconfig", id => "shortcut", call => \&checkconfig); + hook(type => "getsetup", id => "shortcut", call => \&getsetup); + hook(type => "refresh", id => "shortcut", call => \&refresh); hook(type => "preprocess", id => "shortcut", call => \&preprocess_shortcut); } #}}} -sub checkconfig () { #{{{ +sub getsetup () { #{{{ + return + plugin => { + safe => 1, + rebuild => undef, + }, +} #}}} + +sub refresh () { #{{{ # Preprocess the shortcuts page to get all the available shortcuts # defined before other pages are rendered. - my $srcfile=eval {srcfile("shortcuts.mdwn")}; + my $srcfile=srcfile("shortcuts.mdwn", 1); if (! defined $srcfile) { error(gettext("shortcut plugin will not work without a shortcuts.mdwn")); } @@ -24,7 +33,7 @@ sub preprocess_shortcut (@) { #{{{ my %params=@_; if (! defined $params{name} || ! defined $params{url}) { - return "[[shortcut ".gettext("missing name or url parameter")."]]"; + error gettext("missing name or url parameter"); } hook(type => "preprocess", no_override => 1, id => $params{name}, @@ -62,6 +71,9 @@ sub shortcut_expand ($$@) { #{{{ }eg; $text=~s/_/ /g; + if (defined $params{desc}) { + $desc=$params{desc}; + } if (defined $desc) { $desc=~s/\%s/$text/g; }