X-Git-Url: https://sipb.mit.edu/gitweb.cgi/ikiwiki.git/blobdiff_plain/81678dccf21c91030afd48a505e93f2c728bb387..ff10dd2fde723dbb493521eb47a3ce4f6c5274be:/doc/todo/plugin.mdwn diff --git a/doc/todo/plugin.mdwn b/doc/todo/plugin.mdwn index 284ed7a06..1b4646724 100644 --- a/doc/todo/plugin.mdwn +++ b/doc/todo/plugin.mdwn @@ -1,16 +1,43 @@ -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]] -* Wiki stats, such as the total number of pages, total number of links, most linked to pages, etc, 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?) + +* 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. -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. +All the kinds of plugins that blogging software has is also a possibility: -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. +* Blog post calendar -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. +* How about an event calendar. Events could be sub-pages with an embedded + code to detail recurrance and/or event date/time \ No newline at end of file