]> scripts.mit.edu Git - www/ikiwiki.git/blobdiff - doc/todo/plugin.mdwn
* Rename inlinepage to depends, so that it can be used to refer to more
[www/ikiwiki.git] / doc / todo / plugin.mdwn
index e4abc6068446290b05af6a40e1ce8ebb2deeb568..0a8a0942e096a5a723531705685c4a407712cc20 100644 (file)
@@ -9,6 +9,7 @@ A plugin system should ideally support things like:
 * Wiki stats, such as the total number of pages, total number of links, most linked to pages, etc, etc.
 * wiki info page, giving the ikiwiki version etc
 * would it be useful to reimplement the hyperestradier search integration as a plugin?
+* Support [[RecentChanges]] as a regular page containing a plugin that updates each time there is a change, and statically builds the recent changes list. (Would this be too expensive/inflexible? There might be other ways to do it as a plugin, like making all links to RecentChanges link to the cgi and have the cgi render it on demand.)
 * etc
 
 Another, separate plugin system that already (mostly) exists in ikiwiki is the RCS backend, which allows writing modules to drive other RCS systems than subversion.
@@ -19,7 +20,11 @@ Considering ikiwiki plugins, one idea I have is to make the [[PreProcessorDirect
 
 Since preprocessing happens before htmlization but after a page is loaded and linkified, it should be possible to use it to create something like a link map or lists, or a page index. Page inlining and rss generation is already done via preprocessor directives and seems a natureal as a plugin too. 
 
-Note that things like a link map or a broken link list page would need to be updated whenever a set (or all) pages change; the %inlinepages hash already allows for pages to register this, although it might need to be renamed. 
+Note that things like a link map or a broken link list page would need to
+be updated whenever a set (or all) pages change; the %depends hash
+already allows for pages to register this, although there could be some
+strange behavior if mixing multiple directives some of which exclude pages
+that others might want to include.
 
 I need to look at the full range of things that other wikis use their plugin systems for, but preprocessor directives as plugins certianly seems useful, even if it's  not a complete solution.