X-Git-Url: http://git.tremily.us/?a=blobdiff_plain;f=IkiWiki.pm;h=9de25a4b31dc46dd450b2a6ab60261f44e9f0401;hb=5e08848189b96ac772a6e581eb51bde9c7a9bae6;hp=ef8ccb2da51e4b763418344237280cf563011fba;hpb=c91b39fdb52c935fbca20ca55a256278f4661a5b;p=ikiwiki.git diff --git a/IkiWiki.pm b/IkiWiki.pm index ef8ccb2da..9de25a4b3 100644 --- a/IkiWiki.pm +++ b/IkiWiki.pm @@ -810,17 +810,23 @@ sub srcfile ($;$) { return (srcfile_stat(@_))[0]; } -sub add_underlay ($) { +sub add_literal_underlay ($) { my $dir=shift; - if ($dir !~ /^\//) { - $dir="$config{underlaydirbase}/$dir"; - } - if (! grep { $_ eq $dir } @{$config{underlaydirs}}) { unshift @{$config{underlaydirs}}, $dir; } +} +sub add_underlay ($) { + my $dir = shift; + + if ($dir !~ /^\//) { + $dir="$config{underlaydirbase}/$dir"; + } + + add_literal_underlay($dir); + # why does it return 1? we just don't know return 1; } @@ -1072,6 +1078,8 @@ sub urlabs ($$) { my $url=shift; my $urlbase=shift; + return $url unless defined $urlbase && length $urlbase; + eval q{use URI}; URI->new_abs($url, $urlbase)->as_string; } @@ -1160,7 +1168,7 @@ sub urlto ($;$$) { } if (! defined $from) { - my $u = $local_url; + my $u = $local_url || ''; $u =~ s{/$}{}; return $u.beautify_urlpath("/".$to); } @@ -1914,39 +1922,6 @@ sub template ($;@) { template_depends(shift, undef, @_); } -sub misctemplate ($$;@) { - my $title=shift; - my $content=shift; - my %params=@_; - - my $template=template("page.tmpl"); - - my $page=""; - if (exists $params{page}) { - $page=delete $params{page}; - } - run_hooks(pagetemplate => sub { - shift->( - page => $page, - destpage => $page, - template => $template, - ); - }); - templateactions($template, ""); - - $template->param( - dynamic => 1, - title => $title, - wikiname => $config{wikiname}, - content => $content, - baseurl => $config{url}.'/', - html5 => $config{html5}, - %params, - ); - - return $template->output; -} - sub templateactions ($$) { my $template=shift; my $page=shift;