summaryrefslogtreecommitdiff
path: root/doc/bugs
diff options
context:
space:
mode:
authorjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>2006-08-02 05:32:10 +0000
committerjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>2006-08-02 05:32:10 +0000
commit044a5eba9aefa211e3b0473e24c2ce9a1b3dd96f (patch)
tree5c294c37a37636b69c23e1289c264a517b1b14db /doc/bugs
parentfae3da7ce3910d8aeb16ec875a5c2d4f095313ff (diff)
thoughts
Diffstat (limited to 'doc/bugs')
-rw-r--r--doc/bugs/inline_page_not_updated_on_removal.mdwn27
1 files changed, 21 insertions, 6 deletions
diff --git a/doc/bugs/inline_page_not_updated_on_removal.mdwn b/doc/bugs/inline_page_not_updated_on_removal.mdwn
index 69dc6fb8d..7f5e49871 100644
--- a/doc/bugs/inline_page_not_updated_on_removal.mdwn
+++ b/doc/bugs/inline_page_not_updated_on_removal.mdwn
@@ -6,12 +6,27 @@ This only happens if the page is removed from the inlined pagespec due to
a tag changing; the problem is that once the tag is changed, ikiwiki does
not know that the page used to match before.
+Another example would be a pagespec that allowed only matching new pages:
+
+ newer(1 day)
+
+Obviously, the pages that matches are going to change, and again once they
+do, ikiwiki will no longer know that they matched before, so it won't know
+to remove them from a page that used that to inline them.
+
To fix, seems I would need to record the actual list of pages that are
currently included on an inline page, and do a comparison to see if any
-have changed. At first I thought, why not just add them to the dependencies
-explicitly, but that fails because the dependencies pagespec fails to match
-when a negated expression like "!tag(bugs/done)" is matched.
+have changed.
+
+At first I thought, why not just add them to the dependencies
+explicitly, but that failed because the dependencies GlobList failed to match
+when a negated expression like "!tag(bugs/done)" is matched. It is,
+however, doable with PageSpecs:
+
+ (real deps here) or (list of all currently inlined pages here)
+
+However, it's not really clear to me how to _remove_ inlined pages from the
+deps when they stop being inlined for whatever reason. So a separate list
+would be better.
-So, quick fixes aside, what's the generic mechanism here that a plugin can
-use to let ikiwiki know that a page should be updated if some other page
-stops matching its dependencies pagespec?
+So this is blocked by [[todo/plugin_data_storage]] I suppose.