plugins, from a user-configurable directory.
adminemail => undef,
plugin => [qw{mdwn inline htmlscrubber passwordauth openid signinedit
lockedit conditional}],
+ libdir => undef,
timeformat => '%c',
locale => undef,
sslcookie => 0,
} #}}}
sub loadplugins () { #{{{
+ if (defined $config{libdir}) {
+ unshift @INC, $config{libdir};
+ }
+
loadplugin($_) foreach @{$config{plugin}};
-
+
run_hooks(getopt => sub { shift->() });
if (grep /^-/, @ARGV) {
print STDERR "Unknown option: $_\n"
* Add templatefile hook.
* Add pagetemplate plugin, which allows changing the template used for
a page. (Not to be confused with the hook of the same name..)
+ * Add a libdir config option to let ikiwiki load perl modules, including
+ plugins, from a user-configurable directory.
- -- Joey Hess <joeyh@debian.org> Thu, 26 Jul 2007 16:16:55 -0400
+ -- Joey Hess <joeyh@debian.org> Thu, 26 Jul 2007 20:47:23 -0400
ikiwiki (2.4) unstable; urgency=low
# htmltidy fortune sidebar map rst anonok}],
# If you want to disable any of the default plugins, list them here.
#disable_plugins => [qw{inline htmlscrubber passwordauth openid}],
+ # To add a directory to the perl searh path, use this.
+ #libdir => "/home/me/.ikiwiki/",
# For use with the tag plugin, make all tags be located under a
# base page.
Enable the [[goodstuff]] plugin to get a nice selection of plugins that
will fit most uses of ikiwiki.
-Without administrator access, you can add some custom plugins by storing
-yourcustomplugin.pm in /home/user/.ikiwiki/IkiWiki/Plugins (or any other
-place, keeping the "IkiWiki/Plugins" part of the path) and adding this
-line at the begining of your ikiwiki.setup file:
-
- BEGIN { push @INC, "/home/user/.ikiwiki" }
-
-
## Plugin directory
[[inline pages="plugins/* and !plugins/type/* and !plugins/write and
inside the perl search path. For example, if your perl looks in
`/usr/local/lib/site_perl` for modules, you can locally install ikiwiki
plugins to `/usr/local/lib/site_perl/IkiWiki/Plugin`
+
+You can use the `libdir` configuration option to add a directory to the
+search path. For example, if you set `libdir` to `/home/you/.ikiwiki/`,
+then ikiwiki will look for plugins in `/home/you/.ikiwiki/IkiWiki/Plugins`.
Disables use of a plugin. For example "--disable-plugin htmlscrubber"
to do away with HTML sanitization.
+* --libdir directory
+
+ Makes ikiwiki look in the specified directory first, before the regular perl
+ library directories. For example, if you set libdir to "/home/you/.ikiwiki/",
+ you can install plugins in "/home/you/.ikiwiki/IkiWiki/Plugins/".
+
* --discussion, --no-discussion
Enables or disables "Discussion" links from being added to the header of
"httpauth!" => \$config{httpauth},
"userdir=s" => \$config{userdir},
"htmlext=s" => \$config{htmlext},
+ "libdir" => \$config{libdir},
"exclude=s@" => sub {
push @{$config{wiki_file_prune_regexps}}, $_[1];
},