diff options
author | Simon McVittie <smcv@debian.org> | 2010-11-22 23:33:13 +0000 |
---|---|---|
committer | Simon McVittie <smcv@debian.org> | 2010-11-22 23:47:05 +0000 |
commit | 4c224ae143ebc4b13f824fe1782561a5cd165864 (patch) | |
tree | 37dff831b8272cb067841037ea1a01f7ff55bf2e | |
parent | f032bce79158005032c09e4db75093abaca45751 (diff) |
urlto(): if $from is undef, return a local path, not an absolute URL
-rw-r--r-- | IkiWiki.pm | 6 | ||||
-rw-r--r-- | doc/plugins/write.mdwn | 4 |
2 files changed, 10 insertions, 0 deletions
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. |