formatting
[ikiwiki] / doc / todo / toplevel_index.mdwn
1 Some inconsistences around the toplevel [[index]] page:
2
3 * [[ikiwiki]] is a separate page; links to [[ikiwiki]] should better go to
4   the [[index]] though.
5 * The toplevel [[ikiwiki/Discussion]] page has some weird parentlinks
6   behavior. This could be special cased around with the following patch.
7   However, I'm unsure if I like the idea of more special cases around this.
8   It would be better to find a way to make the toplevel index page not be a
9   special case at all.
10
11         --- IkiWiki/Render.pm   (revision 1187)
12         +++ IkiWiki/Render.pm   (working copy)
13         @@ -71,6 +71,7 @@
14                 my $path="";
15                 my $skip=1;
16                 return if $page eq 'index'; # toplevel
17         +       $path=".." if $page=~s/^index\///;
18                 foreach my $dir (reverse split("/", $page)) {
19                         if (! $skip) {
20                                 $path.="../";
21
22 ---
23
24 > I would like to suggest another tack, namely a bigger, better special case. 
25 > The basic idea is that all indices of the form foo/bar/index get the wiki path foo/bar.
26 > This makes some things more elegant:
27 >
28 > * All files having to do with foo/bar are in the foo/bar directory, rather 
29 >   than the (admittedly minor) wart of having the index be in foo/.
30 > * This sort of addresses [[bugs/broken_parentlinks]] in that example/ is 
31 >   guaranteed to be a valid path. (There might be no index there, though.)
32 > * This is more in line with standard HTML practice, as far as I understand it,
33 >   namely that linking to a/b means a/b/index.html rather than a/b.html.
34 >
35 > This would change the inline plugin in strange ways -- I think if foo/index.html
36 > contains \[[inline "* and !*/Discussion"]], it should skip inlining foo/index.html 
37 > explicitly, but would inline index pages in child directories 
38 > foo/bar/baz/index.html as bar/baz.
39 >
40 > It always bothers me that foo/bar/ files need a foo/bar.html in front of them, 
41 > rather than a foo/bar/index.html, as is (to my mind) traditional.
42
43 > Ethan
44 >
45 > Hmm, now I've had time to think about this, and this does conflict pretty hard with foo.html/Discussion 
46 > pages. Well, back to the drawing board.
47 >
48 > Well, it seems unlikely that you'll have both foo/bar.html and foo/bar/index.html, 
49 > so why not accept either as foo/bar? This would both preserve backwards
50 > compatibility, as well as allow foo/bar/Discussion.
51 >
52 > Ethan
53 >
54 > No, in order for this to work, the wiki path foo/bar/baz could be any of:
55 >
56 > * foo/bar/baz.html
57 > * foo/index/bar/index/baz.html
58 > * foo/bar/index/baz.html
59 > * foo/bar/index/baz/index.html
60 >
61 > Or many others. Which is probably even hackier than having both foo.html and foo/.
62 >
63 > Ethan