From: Simon McVittie Date: Mon, 22 Nov 2010 23:33:13 +0000 (+0000) Subject: urlto(): if $from is undef, return a local path, not an absolute URL X-Git-Url: http://git.tremily.us/?p=ikiwiki.git;a=commitdiff_plain;h=4c224ae143ebc4b13f824fe1782561a5cd165864 urlto(): if $from is undef, return a local path, not an absolute URL --- diff --git a/IkiWiki.pm b/IkiWiki.pm index a4afef8e0..ee0b1f1ea 100644 --- a/IkiWiki.pm +++ b/IkiWiki.pm @@ -1148,6 +1148,12 @@ sub urlto ($$;$) { return $config{url}.beautify_urlpath("/".$to); } + if (! defined $from) { + my $u = $local_url; + $u =~ s{/$}{}; + return $u.beautify_urlpath("/".$to); + } + my $link = abs2rel($to, dirname(htmlpage($from))); return beautify_urlpath($link); diff --git a/doc/plugins/write.mdwn b/doc/plugins/write.mdwn index 6b751f0cd..33db3e707 100644 --- a/doc/plugins/write.mdwn +++ b/doc/plugins/write.mdwn @@ -988,6 +988,10 @@ Construct a relative url to the first parameter from the page named by the second. The first parameter can be either a page name, or some other destination file, as registered by `will_render`. +If the second parameter is `undef`, the URL will be valid from any page on the +wiki, or from the CGI; if possible it'll be a path starting with `/`, but an +absolute URL will be used if the wiki and the CGI are on different servers. + If the third parameter is passed and is true, an absolute url will be constructed instead of the default relative url.