[[!template id=plugin name=underlay author="[[Simon_McVittie|smcv]]"]]
[[!tag type/useful]]
This plugin adds an add_underlays
option to the .setup
file.
Its value is a list of underlay directories whose content is added to the wiki.
Multiple underlays are normally set up automatically by other plugins (for
instance, the images used by the [[plugins/smiley]] plugin), but they can also be
used as a way to pull in external files that you don't want in revision control,
like photos or software releases.
Directories in add_underlays
should usually be absolute. If relative, they're
interpreted as relative to the parent directory of the basewiki underlay, which
is probably not particularly useful in this context.
Please feel free to add this plugin to ikiwiki if it seems like a good
thing to have. See the 'underlay' branch in my git repository.
#!/usr/bin/perl
package IkiWiki::Plugin::underlay;
# Copyright © 2008 Simon McVittie <http://smcv.pseudorandom.co.uk/>
# Licensed under the GNU GPL, version 2, or any later version published by the
# Free Software Foundation
use warnings;
use strict;
use IkiWiki 2.00;
sub import {
hook(type => "getsetup", id => "underlay", call => \&getsetup);
hook(type => "checkconfig", id => "underlay", call => \&checkconfig);
}
sub getsetup () {
return
plugin => {
safe => 0,
rebuild => undef,
},
add_underlays => {
type => "string",
default => [],
description => "extra underlay directories to add",
advanced => 1,
safe => 0,
rebuild => 1,
},
}
sub checkconfig () {
return unless exists $config{add_underlays};
foreach my $dir (@{$config{add_underlays}}) {
add_underlay($dir);
}
}
1;