]> sipb.mit.edu Git - ikiwiki.git/blobdiff - IkiWiki.pm
reorganise
[ikiwiki.git] / IkiWiki.pm
index 499d3a71f773951e7700aea3ec668d8950b7c733..b6a2a3649d83a608b1ea41e4d7d46695f0219460 100644 (file)
@@ -38,7 +38,7 @@ sub defaultconfig () { #{{{
        wikiname => "wiki",
        default_pageext => "mdwn",
        cgi => 0,
-       rcs => 'svn',
+       rcs => '',
        notify => 0,
        url => '',
        cgiurl => '',
@@ -298,10 +298,9 @@ sub bestlink ($$) { #{{{
        my $link=shift;
        
        my $cwd=$page;
-
-       # relative links
-       while ($link=~s!(^|/)\.\./!!g) {
-               $cwd=~s!/?[^/]+$!!;
+       if ($link=~s/^\/+//) {
+               # absolute links
+               $cwd="";
        }
 
        do {
@@ -327,10 +326,18 @@ sub isinlinableimage ($) { #{{{
        $file=~/\.(png|gif|jpg|jpeg)$/i;
 } #}}}
 
-sub pagetitle ($) { #{{{
+sub pagetitle ($;$) { #{{{
        my $page=shift;
-       $page=~s/__(\d+)__/&#$1;/g;
+       my $unescaped=shift;
+
+       if ($unescaped) {
+               $page=~s/__(\d+)__/chr($1)/eg;
+       }
+       else {
+               $page=~s/__(\d+)__/&#$1;/g;
+       }
        $page=~y/_/ /;
+
        return $page;
 } #}}}
 
@@ -406,6 +413,7 @@ sub htmllink ($$$;$$$) { #{{{
                $bestlink=htmlpage($bestlink);
        }
        if (! grep { $_ eq $bestlink } map { @{$_} } values %renderedfiles) {
+               return $linktext unless length $config{cgiurl};
                return "<span><a href=\"".
                        cgiurl(do => "create", page => lc($link), from => $page).
                        "\">?</a>$linktext</span>"