X-Git-Url: https://sipb.mit.edu/gitweb.cgi/ikiwiki.git/blobdiff_plain/fa52a730ff3b30c7d2cdd8cd5f9c8c25a0c0a2a5..ec6c1269d251c78d2eef68cb789de6cfc6272464:/IkiWiki/Plugin/more.pm diff --git a/IkiWiki/Plugin/more.pm b/IkiWiki/Plugin/more.pm index dae3728ba..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; +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}); } }