X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/516c9eb3ebe932afa1004ef42490ff5d97c994d5..68869d664b978b063c9181d024edb34a63306c33:/IkiWiki/Plugin/sidebar.pm diff --git a/IkiWiki/Plugin/sidebar.pm b/IkiWiki/Plugin/sidebar.pm index a68f5e1da..41812e1c1 100644 --- a/IkiWiki/Plugin/sidebar.pm +++ b/IkiWiki/Plugin/sidebar.pm @@ -6,37 +6,45 @@ package IkiWiki::Plugin::sidebar; use warnings; use strict; -use IkiWiki; - -sub import { #{{{ - IkiWiki::hook(type => "pagetemplate", id => "sidebar", - call => \&pagetemplate); -} # }}} - -sub sidebar_content ($) { #{{{ +use IkiWiki 3.00; + +sub import { + hook(type => "getsetup", id => "sidebar", call => \&getsetup); + hook(type => "pagetemplate", id => "sidebar", call => \&pagetemplate); +} + +sub getsetup () { + return + plugin => { + safe => 1, + rebuild => 1, + }, +} + +sub sidebar_content ($) { my $page=shift; - my $sidebar_page=IkiWiki::bestlink($page, "sidebar") || return; - my $sidebar_file=$IkiWiki::pagesources{$sidebar_page} || return; - my $sidebar_type=IkiWiki::pagetype($sidebar_file); + my $sidebar_page=bestlink($page, "sidebar") || return; + my $sidebar_file=$pagesources{$sidebar_page} || return; + my $sidebar_type=pagetype($sidebar_file); if (defined $sidebar_type) { # FIXME: This isn't quite right; it won't take into account # adding a new sidebar page. So adding such a page # currently requires a wiki rebuild. - IkiWiki::add_depends($page, $sidebar_page); + add_depends($page, $sidebar_page); - my $content=IkiWiki::readfile(IkiWiki::srcfile($sidebar_file)); + my $content=readfile(srcfile($sidebar_file)); return unless length $content; - return IkiWiki::htmlize($sidebar_type, - IkiWiki::preprocess($sidebar_page, $page, + return IkiWiki::htmlize($sidebar_page, $page, $sidebar_type, IkiWiki::linkify($sidebar_page, $page, - IkiWiki::filter($sidebar_page, $content)))); + IkiWiki::preprocess($sidebar_page, $page, + IkiWiki::filter($sidebar_page, $page, $content)))); } -} # }}} +} -sub pagetemplate (@) { #{{{ +sub pagetemplate (@) { my %params=@_; my $page=$params{page}; @@ -48,6 +56,6 @@ sub pagetemplate (@) { #{{{ $template->param(sidebar => $content); } } -} # }}} +} 1