X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/cbfe2af8b5e28a1c33125467bee81edc7ac03ccc..31936ad199ddd9fc371f0ee22788ab733ac5fd2e:/doc/todo/toplevel_index.mdwn diff --git a/doc/todo/toplevel_index.mdwn b/doc/todo/toplevel_index.mdwn index 7f766f79c..f749ad655 100644 --- a/doc/todo/toplevel_index.mdwn +++ b/doc/todo/toplevel_index.mdwn @@ -1,7 +1,65 @@ Some inconsistences around the toplevel [[index]] page: -* The page's title is "index"; the linkpath looks like "ikiwiki / index". - IMHO it would be nicer if the title were "ikiwiki" and the linkpath was - just "ikiwiki" (for this wiki). * [[ikiwiki]] is a separate page; links to [[ikiwiki]] should better go to the [[index]] though. +* The toplevel [[ikiwiki/Discussion]] page has some weird parentlinks + behavior. This could be special cased around with the following patch. + However, I'm unsure if I like the idea of more special cases around this. + It would be better to find a way to make the toplevel index page not be a + special case at all. + +Here is a patch: + + --- IkiWiki/Render.pm (revision 1187) + +++ IkiWiki/Render.pm (working copy) + @@ -71,6 +71,7 @@ + my $path=""; + my $skip=1; + return if $page eq 'index'; # toplevel + + $path=".." if $page=~s/^index\///; + foreach my $dir (reverse split("/", $page)) { + if (! $skip) { + $path.="../"; + +--- + +> I would like to suggest another tack, namely a bigger, better special case. +> The basic idea is that all indices of the form foo/bar/index get the wiki path foo/bar. +> This makes some things more elegant: +> +> * All files having to do with foo/bar are in the foo/bar directory, rather +> than the (admittedly minor) wart of having the index be in foo/. +> * This sort of addresses [[bugs/broken_parentlinks]] in that example/ is +> guaranteed to be a valid path. (There might be no index there, though.) +> * This is more in line with standard HTML practice, as far as I understand it, +> namely that linking to a/b means a/b/index.html rather than a/b.html. +> +> This would change the inline plugin in strange ways -- I think if foo/index.html +> contains \[[inline "* and !*/Discussion"]], it should skip inlining foo/index.html +> explicitly, but would inline index pages in child directories +> foo/bar/baz/index.html as bar/baz. +> +> It always bothers me that foo/bar/ files need a foo/bar.html in front of them, +> rather than a foo/bar/index.html, as is (to my mind) traditional. +> +> Ethan +> +> Hmm, now I've had time to think about this, and this does conflict pretty hard with foo.html/Discussion +> pages. Well, back to the drawing board. +> +> Well, it seems unlikely that you'll have both foo/bar.html and foo/bar/index.html, +> so why not accept either as foo/bar? This would both preserve backwards +> compatibility, as well as allow foo/bar/Discussion. +> +> Ethan +> +> No, in order for this to work, the wiki path foo/bar/baz could be any of: +> +> * foo/bar/baz.html +> * foo/index/bar/index/baz.html +> * foo/bar/index/baz.html +> * foo/bar/index/baz/index.html +> +> Or many others. Which is probably even hackier than having both foo.html and foo/. +> +> Ethan \ No newline at end of file