]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - doc/bugs/broken_parentlinks.mdwn
Merge branch 'joey' into revert
[git.ikiwiki.info.git] / doc / bugs / broken_parentlinks.mdwn
index 359f026ba55c028b1fa538234cffead4654c8a78..556d89b65eb0515de9ff250ed85c2649ba6382c1 100644 (file)
@@ -6,4 +6,45 @@ For example, if you are in 'example/page.html', the header will be something
 like 'wiki / example / page'. Now, if 'example.html' doesn't exist, you'll have
 a dead link for every subpage.
 
-[[todo/done]]
+---
+
+This is a bug, but fixing it is very tricky. Consider what would happen if
+example.mdwn were created: example/page.html and the rest of example/*
+would need to be updated to change the parentlink from a bare word to a
+link to the new page. Now if example.mdwn were removed again, they'd need
+to be updated again. So example/* depends on example. But it's even more
+tricky, because if example.mdwn is modified, we _don't_ want to rebuild
+example/*!
+
+ikiwiki doesn't have a way to represent this dependency and can't get one
+without a lot of new complex code being added.
+
+> Note that this code has now been added. In new terms, example/* has a
+> presence dependency on example. So this bug is theoretically fixable now.
+> --[[Joey]] 
+
+For now the best thing to do is to make sure that you always create
+example if you create example/foo. Which is probably a good idea anyway..
+
+----
+
+Note that this bug does not exist if the wiki is built with the "usedirs"
+option, since in that case, the parent link will link to a subdirectory,
+that will just be missing the index.html file, but still nicely usable.
+--[[Joey]] 
+
+----
+
+<http://www.gnu.org/software/hurd/hurd/translator/writing.html> does not exist.
+Then, on
+<http://www.gnu.org/software/hurd/hurd/translator/writing/example.html>, in the
+*parentlinks* line, *writing* links to the top-level *index* file.  It should
+rather not link anywhere at all.  --[[tschwinge]]
+
+> So, the bug has changed behavior a bit. Rather than a broken link, we get
+> a link to the toplevel page. This, FWIW, is because the template now
+> uses this for each parentlink:
+
+       <a href="<TMPL_VAR URL>"><TMPL_VAR PAGE></a>/
+
+> Best workaround is still to enable usedirs. --[[Joey]]