This patch adds function bestdir() which returns best directory from the directory structure. This is in addition to the bestlink() function which is there in IkiWiki.pm

Um, what is this for? :-) It would probably be a lot easier to review if it had documentation, and/or a plugin that used it. --smcv


Index: IkiWiki.pm
===================================================================
--- IkiWiki.pm  (revision 9)
+++ IkiWiki.pm  (working copy)
@@ -391,6 +391,35 @@
        return "";
 }

+sub bestdir ($$) {
+    my $page=shift;
+       my $link=shift;
+       my $cwd=$page;
+
+       if ($link=~s/^\/+//) {
+               $cwd="";
+       }
+
+       do {
+               my $l=$cwd;
+               $l.="/" if length $l;
+               $l.=$link;
+               if (-d "$config{srcdir}/$l") {
+                       return $l;
+               }
+       } while $cwd=~s!/?[^/]+$!!;
+
+       if (length $config{userdir}) {
+               my $l = "$config{userdir}/".lc($link);
+
+               if (-d $l) {
+                       return $l;
+               }
+       }
+
+       return "";
+}
+
 sub isinlinableimage ($) {
        my $file=shift;

-arpitjain