aboutsummaryrefslogtreecommitdiff
path: root/doc/todo/plugin_dependency_calulation.mdwn
diff options
context:
space:
mode:
authorjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>2006-08-18 04:12:29 +0000
committerjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>2006-08-18 04:12:29 +0000
commit9adb841c92be53fd1af796e4aae4437d3c098b54 (patch)
treea22052179942c5c7427bb5707647dfc4550e0ae6 /doc/todo/plugin_dependency_calulation.mdwn
parentc6ee9cbf454bd8e2b557487015ec3e45a9050153 (diff)
downloadikiwiki-9adb841c92be53fd1af796e4aae4437d3c098b54.tar
ikiwiki-9adb841c92be53fd1af796e4aae4437d3c098b54.tar.gz
thoughts on some future stuff
Diffstat (limited to 'doc/todo/plugin_dependency_calulation.mdwn')
-rw-r--r--doc/todo/plugin_dependency_calulation.mdwn23
1 files changed, 23 insertions, 0 deletions
diff --git a/doc/todo/plugin_dependency_calulation.mdwn b/doc/todo/plugin_dependency_calulation.mdwn
new file mode 100644
index 000000000..64e6ef2b6
--- /dev/null
+++ b/doc/todo/plugin_dependency_calulation.mdwn
@@ -0,0 +1,23 @@
+A few plugins need more complex dependency calculations than ikiwiki can do
+on its own:
+
+* Use of a version plugin should only make the page rebuild when it's built
+ with a new version of ikiwiki.
+* The [[plugins/sidebar]] plugin should make any page get rebuilt if a
+ sidebar is created "closer" to it than the current sidebar.
+* Some plugin might want to _always_ rebuild the page that uses it.
+* If backlinks were turned into a plugin, it would need to make a page
+ rebuild when its backlinks changed.
+
+These suggest there should be a way for plugins to have hooks that tweak
+the list of pages to rebuild.
+
+Which in turn suggests that there should *be* a list of pages to rebuild;
+currently there's not, and the best such an interface could do would be to
+rebuild the pages even if they were already going to be rebuilt for some
+other reason. (See [[optimisation]].)
+
+It also suggests that plugins will want to examine pages and/or
+[[store_data|plugin_data_storage]] about them to use in the dependency
+calculations. For example, the version plugin would need to store info
+about what pages use it.