index
:
ikiwiki/legacy
_clean
_da
_multilang
_nb
_scs
allinone
allinone-da
allinone-multilang
allinone-nb
clean
da
master
multilang
nb
nonedit
po4a
scs
wian
old ikiwiki engine, based on git.ikiwiki.info
Jonas Smedegaard
summary
refs
log
tree
commit
diff
log msg
author
#!/usr/bin/perl
# Sidebar plugin.
# by Tuomo Valkonen <tuomov at iki dot fi>
package
IkiWiki
::
Plugin
::
sidebar
;
use
warnings
;
use
strict
;
use
IkiWiki
2.00
;
sub
import
{
#{{{
hook
(
type
=>
"pagetemplate"
,
id
=>
"sidebar"
,
call
=>
\
&
pagetemplate
);
}
# }}}
sub
sidebar_content
($) {
#{{{
my
$page
=
shift
;
my
$sidebar_page
=
bestlink
(
$page
,
"sidebar"
) ||
return
;
my
$sidebar_file
=
$pagesources
=
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.
add_depends
(
$page
,
$sidebar_page
);
my
$content
=
readfile
(
srcfile
(
$sidebar_file
));
return unless
length
$content
;
return
IkiWiki
::
htmlize
(
$page
,
$sidebar_type
,
IkiWiki
::
linkify
(
$sidebar_page
,
$page
,
IkiWiki
::
preprocess
(
$sidebar_page
,
$page
,
IkiWiki
::
filter
(
$sidebar_page
,
$page
,
$content
))));
}
}
# }}}
sub
pagetemplate
(@) {
#{{{
my
%params
=
@_
;