aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorJoey Hess <joey@gnu.kitenet.net>2009-04-22 16:00:36 -0400
committerJoey Hess <joey@gnu.kitenet.net>2009-04-22 16:00:36 -0400
commit5e1b3c0c363f4da91413b11905cce3a6d9af7abd (patch)
tree187c9539a87d244f60503c3952b094594f49fb07 /doc
parent338d4ccff115e99a6541a660433591a9b7306c32 (diff)
downloadikiwiki-5e1b3c0c363f4da91413b11905cce3a6d9af7abd.tar
ikiwiki-5e1b3c0c363f4da91413b11905cce3a6d9af7abd.tar.gz
plan of attack
Diffstat (limited to 'doc')
-rw-r--r--doc/todo/Post-compilation_inclusion_of_the_sidebar.mdwn20
1 files changed, 20 insertions, 0 deletions
diff --git a/doc/todo/Post-compilation_inclusion_of_the_sidebar.mdwn b/doc/todo/Post-compilation_inclusion_of_the_sidebar.mdwn
index 7586c060b..568b75747 100644
--- a/doc/todo/Post-compilation_inclusion_of_the_sidebar.mdwn
+++ b/doc/todo/Post-compilation_inclusion_of_the_sidebar.mdwn
@@ -28,3 +28,23 @@ NicolasLimare
> sidebar could be done as you describe using .shtml. --[[Joey]]
[[wishlist]]
+
+> I have a plan for a way to avoid unecessary rebuilds caused by the
+> sidebar. The idea is to use wikistate to store what a sidebar renders to.
+> Then in the needsbuild hook, render sidebar(s) and compare with their
+> previous stored rendering. If a sidebar's rendered content has changed,
+> then all pages that display that sidebar need to be forced to be rebuilt.
+>
+> Also, if there is no previous stored rendering for a sidebar, or
+> if there is a stored rendering for a sidebar page that no longer exists, then
+> the pages need to be rebuilt. (This should deal with the [[bugs/Building_a_sidebar_does_not_regenerate_the_subpages]] bug.
+>
+> This would also save significant time, since the stored sidebar rendering
+> could just be dumped into the page by the pagetemplate hook. Current code
+> re-loads and renders the same sidebar file for every page built!
+>
+> The sticky part is relative links on the sidebar. These would need to
+> be modified somehow depending on the page that the sidebar is placed on.
+> Doing that seems hard/tricky. Maybe it would not be worth the optimisation
+> of using the stored rendering after all, and instead still re-render it for
+> each page? --[[Joey]]