X-Git-Url: https://sipb.mit.edu/gitweb.cgi/ikiwiki.git/blobdiff_plain/903213e63fd6c409046f66e73881aba33c3926de..3d2be49420b0f29f169ec015f11af1f0624b9ec9:/IkiWiki/Plugin/more.pm diff --git a/IkiWiki/Plugin/more.pm b/IkiWiki/Plugin/more.pm index 4484441c3..6880e366d 100644 --- a/IkiWiki/Plugin/more.pm +++ b/IkiWiki/Plugin/more.pm @@ -3,38 +3,42 @@ package IkiWiki::Plugin::more; use warnings; use strict; -use IkiWiki 2.00; +use IkiWiki 3.00; my $linktext = gettext("more"); -sub import { #{{{ +sub import { hook(type => "getsetup", id => "more", call => \&getsetup); hook(type => "preprocess", id => "more", call => \&preprocess); -} # }}} +} -sub getsetup () { #{{{ +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{destpage}, $params{text})); - return "\n\n".$params{text}; + return "\n\n". + IkiWiki::preprocess($params{page}, $params{destpage}, + $params{text}); } }