X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/c150590e275b21945bc50eeecf4331c48252f6f2..9f479a83a78cc199d7e7854e4beecd5594e87629:/IkiWiki.pm
diff --git a/IkiWiki.pm b/IkiWiki.pm
index c7328e427..c1d9119e8 100644
--- a/IkiWiki.pm
+++ b/IkiWiki.pm
@@ -1,6 +1,7 @@
#!/usr/bin/perl
package IkiWiki;
+
use warnings;
use strict;
use Encode;
@@ -532,13 +533,18 @@ sub displaytime ($;$) { #{{{
return decode_utf8(POSIX::strftime($format, localtime($time)));
} #}}}
-sub beautify_url ($) { #{{{
+sub beautify_urlpath ($) { #{{{
my $url=shift;
if ($config{usedirs}) {
$url =~ s!/index.$config{htmlext}$!/!;
}
- $url =~ s!^$!./!; # Browsers don't like empty links...
+
+ # Ensure url is not an empty link, and
+ # if it's relative, make that explicit to avoid colon confusion.
+ if ($url !~ /\//) {
+ $url="./$url";
+ }
return $url;
} #}}}
@@ -548,7 +554,7 @@ sub urlto ($$) { #{{{
my $from=shift;
if (! length $to) {
- return beautify_url(baseurl($from)."index.$config{htmlext}");
+ return beautify_urlpath(baseurl($from)."index.$config{htmlext}");
}
if (! $destsources{$to}) {
@@ -557,7 +563,7 @@ sub urlto ($$) { #{{{
my $link = abs2rel($to, dirname(htmlpage($from)));
- return beautify_url($link);
+ return beautify_urlpath($link);
} #}}}
sub htmllink ($$$;@) { #{{{
@@ -596,7 +602,7 @@ sub htmllink ($$$;@) { #{{{
return " "create",
- page => pagetitle(lc($link), 1),
+ page => lc($link),
from => $lpage
).
"\" rel=\"nofollow\">?$linktext"
@@ -604,7 +610,7 @@ sub htmllink ($$$;@) { #{{{
}
$bestlink=abs2rel($bestlink, dirname(htmlpage($page)));
- $bestlink=beautify_url($bestlink);
+ $bestlink=beautify_urlpath($bestlink);
if (! $opts{noimageinline} && isinlinableimage($bestlink)) {
return "";
@@ -1344,7 +1350,7 @@ sub match_glob ($$;@) { #{{{
$glob="$from/$glob" if length $from;
}
- my $regexp=glob2re($glob);
+ my $regexp=IkiWiki::glob2re($glob);
if ($page=~/^$regexp$/i) {
if (! IkiWiki::isinternal($page) || $params{internal}) {
return IkiWiki::SuccessReason->new("$glob matches $page");