]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - doc/todo/plugin.mdwn
* htmltidy plugin from Faidon.
[git.ikiwiki.info.git] / doc / todo / plugin.mdwn
index 9e8704ec09c4abcad66a92b164ce5008e1727cd8..0f37d61908a35e8842754ff8d2b6e30e1e6b4bb3 100644 (file)
@@ -1,16 +1,40 @@
-For one type of plugin, see [[todo/PluggableRenderers]]. 
+Suggestions of ideas for plugins:
 
 
-A plugin system should ideally support things like:
-
-* [[todo/lists]] of pages, of mising pages / broken links, of registered users, etc
-* a [[todo/link_map]]
-* [[todo/sigs]]
+* Support for restructured text (should be semi-easy to add basic support
+  now)
+* list of registered users - tricky because it sorta calls for a way to rebuild the page when a new user is registered. Might be better as a cgi?
+* a [[link_map]]
+* [[sigs]] ?
 * [[pageindexes]]
 * [[pageindexes]]
-* Wiki stats, such as the total number of pages, total number of links, most linked to pages, etc, etc.
-* 
+* Wiki stats, such as total number of links, most linked to pages (done)
+
+* 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.) 
+
+  Or using an iframe
+  to inline the cgi, although firefox seems to render that nastily with
+  nested scroll bars. :-(
+
+* For PlaceWiki I want to be able to do some custom plugins, including one
+  that links together subpages about the same place created by different
+  users. This seems to call for a plugin that applies to every page w/o any
+  specific marker being used, and pre-or-post-processes the full page
+  content. It also needs to update pages when related pages are added,
+  so it needs to register dependencies pre-emptively between pages,
+  or something. It's possible that this is a special case of backlinks and
+  is best implemented by making backlinks a plugin somehow. --[[Joey]]
+
+* interwiki links
+
+* random page (cgi plugin; how to link to it easily?)
 
 
-Considering ikiwiki plugins, one idea I have is to make the [[PreProcessorDirective]]s be a plugin. A setting in the config file would enable various plusins, which are perl modules, that each provide one or more preprocessor directives. 
+* navigation or side bar plugin, would use a specific page as the side bar
+  and include it into the other pages as specified by the template. The
+  pagetemplate hook was added to allow for this.
 
 
-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. 
+All the kinds of plugins that blogging software has is also a possibility:
 
 
-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. 
+* Blog post calendar