X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/f5a5df14b7daeb032137c293c4db288e84429dfa..a223f4540fee2d0c49523343a422315377bc0025:/ikiwiki
diff --git a/ikiwiki b/ikiwiki
index 936b0a173..3540f8667 100755
--- a/ikiwiki
+++ b/ikiwiki
@@ -19,7 +19,7 @@ sub getconfig () { #{{{
%config=(
wiki_file_prune_regexp => qr{((^|/).svn/|\.\.|^\.|\/\.|\.html?$)},
wiki_link_regexp => qr/\[\[([^\s\]]+)\]\]/,
- wiki_file_regexp => qr/(^[-A-Za-z0-9_.:\/+]+$)/,
+ wiki_file_regexp => qr/(^[-A-Za-z0-9_.\&;:\/+]+$)/,
verbose => 0,
wikiname => "wiki",
default_pageext => ".mdwn",
@@ -92,11 +92,11 @@ sub checkconfig () { #{{{
unless exists $config{wikistatedir};
if ($config{svn}) {
- require IkiWiki::RCS::SVN;
+ require IkiWiki::Rcs::SVN;
$config{rcs}=1;
}
else {
- require IkiWiki::RCS::Stub;
+ require IkiWiki::Rcs::Stub;
$config{rcs}=0;
}
} #}}}
@@ -234,6 +234,13 @@ sub isinlinableimage ($) { #{{{
$file=~/\.(png|gif|jpg|jpeg)$/;
} #}}}
+sub pagetitle ($) { #{{{
+ my $page=shift;
+ $page=~s/__(\d+)__/$1;/g;
+ $page=~y/_/ /;
+ return $page;
+} #}}}
+
sub htmllink ($$;$$) { #{{{
my $page=shift;
my $link=shift;
@@ -248,7 +255,9 @@ sub htmllink ($$;$$) { #{{{
$bestlink="$page/".lc($link);
}
- return $link if length $bestlink && $page eq $bestlink;
+ my $linktext=pagetitle($link);
+
+ return $linktext if length $bestlink && $page eq $bestlink;
# TODO BUG: %renderedfiles may not have it, if the linked to page
# was also added and isn't yet rendered! Note that this bug is
@@ -258,7 +267,7 @@ sub htmllink ($$;$$) { #{{{
$bestlink=htmlpage($bestlink);
}
if (! grep { $_ eq $bestlink } values %renderedfiles) {
- return "?$link"
+ return "?$linktext"
}
$bestlink=File::Spec->abs2rel($bestlink, dirname($page));
@@ -266,7 +275,7 @@ sub htmllink ($$;$$) { #{{{
if (! $noimageinline && isinlinableimage($bestlink)) {
return "";
}
- return "$link";
+ return "$linktext";
} #}}}
sub indexlink () { #{{{