+sub beautify_url ($) { #{{{
+ my $url=shift;
+
+ $url =~ s!/index.html$!/!;
+ $url =~ s!^$!./!; # Browsers don't like empty links...
+
+ return $url;
+} #}}}
+
+sub urlto ($$) { #{{{
+ my $to=shift;
+ my $from=shift;
+
+ if (! length $to) {
+ return beautify_url(baseurl($from));
+ }
+
+ if (! grep { $_ eq $to } map { @{$_} } values %renderedfiles) {
+ $to=htmlpage($to);
+ }
+
+ my $link = abs2rel($to, dirname(htmlpage($from)));
+
+ return beautify_url($link);
+} #}}}
+