[[!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 smiley images used by [[plugins/smileys]]), 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. #!/usr/bin/perl package IkiWiki::Plugin::underlay; # Copyright © 2008 Simon McVittie # 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;