X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/d94bd350bda3c87f581791324db5a696235caf78..3ae8a75101c88712517294b4ebbb3e4bc68d446d:/doc/todo/Bestdir_along_with_bestlink_in_IkiWiki.pm.mdwn?ds=inline diff --git a/doc/todo/Bestdir_along_with_bestlink_in_IkiWiki.pm.mdwn b/doc/todo/Bestdir_along_with_bestlink_in_IkiWiki.pm.mdwn index b2f67ebc0..bf8de16cd 100644 --- a/doc/todo/Bestdir_along_with_bestlink_in_IkiWiki.pm.mdwn +++ b/doc/todo/Bestdir_along_with_bestlink_in_IkiWiki.pm.mdwn @@ -1,46 +1,51 @@ 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 -------- - -Index: IkiWiki.pm -=================================================================== ---- IkiWiki.pm (revision 9) -+++ IkiWiki.pm (working copy) -@@ -391,6 +391,35 @@ - return ""; - } #}}} +> 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]] -+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; +------- + 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; + ---- --[[users/arpitjain]] \ No newline at end of file +-[[users/arpitjain]] + +[[!tag patch patch/core]]