X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/017f335aff7df37d0a22f11f45fec05c5e446826..c91b39fdb52c935fbca20ca55a256278f4661a5b:/IkiWiki.pm diff --git a/IkiWiki.pm b/IkiWiki.pm index 97946bfcf..ef8ccb2da 100644 --- a/IkiWiki.pm +++ b/IkiWiki.pm @@ -544,7 +544,7 @@ sub checkconfig () { error(gettext("Must specify url to wiki with --url when using --cgi")); } - if (length $config{url}) { + if (defined $config{url} && length $config{url}) { eval q{use URI}; my $baseurl = URI->new($config{url}); @@ -1068,6 +1068,14 @@ sub baseurl (;$) { return $page; } +sub urlabs ($$) { + my $url=shift; + my $urlbase=shift; + + eval q{use URI}; + URI->new_abs($url, $urlbase)->as_string; +} + sub abs2rel ($$) { # Work around very innefficient behavior in File::Spec if abs2rel # is passed two relative paths. It's much faster if paths are @@ -1140,7 +1148,7 @@ sub urlto ($;$$) { my $absolute=shift; if (! length $to) { - return beautify_urlpath(baseurl($from)."index.$config{htmlext}"); + $to = 'index'; } if (! $destsources{$to}) { @@ -1891,6 +1899,7 @@ sub template_depends ($$;@) { }, loop_context_vars => 1, die_on_bad_params => 0, + parent_global_vars => 1, filename => $filename, @_, ($untrusted ? (no_includes => 1) : ()), @@ -1930,7 +1939,7 @@ sub misctemplate ($$;@) { title => $title, wikiname => $config{wikiname}, content => $content, - baseurl => baseurl(), + baseurl => $config{url}.'/', html5 => $config{html5}, %params, ); @@ -2032,7 +2041,7 @@ sub rcs_recentchanges ($) { $hooks{rcs}{rcs_recentchanges}{call}->(@_); } -sub rcs_diff ($) { +sub rcs_diff ($;$) { $hooks{rcs}{rcs_diff}{call}->(@_); }