X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/ee1ad53c4c2710aa7ded61bdc56f3a8cce514f22..875d550f1278215e6c87d3b78ff87db24c6d76b3:/IkiWiki/Plugin/more.pm diff --git a/IkiWiki/Plugin/more.pm b/IkiWiki/Plugin/more.pm index 6a34682ba..6880e366d 100644 --- a/IkiWiki/Plugin/more.pm +++ b/IkiWiki/Plugin/more.pm @@ -3,29 +3,42 @@ package IkiWiki::Plugin::more; use warnings; use strict; -use IkiWiki 2.00; +use IkiWiki 3.00; my $linktext = gettext("more"); -sub import { #{{{ - hook(type => "preprocess", id => "more", call => \&preprocess); -} # }}} +sub import { + hook(type => "getsetup", id => "more", call => \&getsetup); + hook(type => "preprocess", id => "more", call => \&preprocess); +} + +sub getsetup () { + return + plugin => { + safe => 1, + rebuild => undef, + section => "widget", + }, +} -sub preprocess (@) { #{{{ +sub preprocess (@) { my %params=@_; $params{linktext} = $linktext unless defined $params{linktext}; - if ($params{page} ne $params{destpage}) { + if ($params{page} ne $params{destpage} && + (! exists $params{pages} || + pagespec_match($params{destpage}, $params{pages}, + location => $params{page}))) { return "\n". htmllink($params{page}, $params{destpage}, $params{page}, linktext => $params{linktext}, anchor => "more"); } else { - $params{text}=IkiWiki::preprocess($params{page}, $params{destpage}, - IkiWiki::filter($params{page}, $params{text})); - return "\n\n".$params{text}; + return "\n\n". + IkiWiki::preprocess($params{page}, $params{destpage}, + $params{text}); } }