X-Git-Url: https://sipb.mit.edu/gitweb.cgi/ikiwiki.git/blobdiff_plain/c2ffd205f3301a9fe6b5949a88da770899642589..490d2c65986abf7359d230d96e74276116083515:/IkiWiki.pm diff --git a/IkiWiki.pm b/IkiWiki.pm index c14124f79..3f8a4bca3 100644 --- a/IkiWiki.pm +++ b/IkiWiki.pm @@ -545,10 +545,11 @@ sub beautify_urlpath ($) { #{{{ return $url; } #}}} -sub urlto ($$) { #{{{ +sub urlto ($$;$) { #{{{ my $to=shift; my $from=shift; - + my $absolute=shift; + if (! length $to) { return beautify_urlpath(baseurl($from)."index.$config{htmlext}"); } @@ -557,6 +558,10 @@ sub urlto ($$) { #{{{ $to=htmlpage($to); } + if ($absolute) { + return $config{url}.beautify_urlpath("/".$to); + } + my $link = abs2rel($to, dirname(htmlpage($from))); return beautify_urlpath($link); @@ -759,13 +764,10 @@ sub preprocess ($$$;$$) { #{{{ if ($preprocessing{$page}++ > 3) { # Avoid loops of preprocessed pages preprocessing # other pages that preprocess them, etc. - #translators: The first parameter is a - #translators: preprocessor directive name, - #translators: the second a page name, the - #translators: third a number. - return "[[".sprintf(gettext("%s preprocessing loop detected on %s at depth %i"), - $command, $page, $preprocessing{$page}). - "]]"; + return "[[!$command ". + sprintf(gettext("preprocessing loop detected on %s at depth %i"), + $page, $preprocessing{$page}). + "]]"; } my $ret; if (! $scan) {