memoize("abs2rel");
memoize("pagespec_translate");
memoize("file_pruned");
+memoize("template_file");
sub getsetup () {
wikiname => {
safe => 0, # path
rebuild => 1,
},
+ templatedirs => {
+ type => "internal",
+ default => [],
+ description => "additional directories containing template files",
+ safe => 0,
+ rebuild => 0,
+ },
underlaydir => {
type => "string",
default => "$installdir/share/ikiwiki/basewiki",
},
web_commit_regexp => {
type => "internal",
- default => qr/^web commit (by (.*?(?=: |$))|from (\d+\.\d+\.\d+\.\d+)):?(.*)/,
+ default => qr/^web commit (by (.*?(?=: |$))|from ([0-9a-fA-F:.]+[0-9a-fA-F])):?(.*)/,
description => "regexp to parse web commits from logs",
safe => 0,
rebuild => 0,
sub template_file ($) {
my $template=shift;
- foreach my $dir ($config{templatedir}, "$installdir/share/ikiwiki/templates") {
+ foreach my $dir ($config{templatedir}, @{$config{templatedirs}},
+ "$installdir/share/ikiwiki/templates") {
return "$dir/$template" if -e "$dir/$template";
}
return;