summaryrefslogtreecommitdiff
path: root/doc/todo
diff options
context:
space:
mode:
authorjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>2006-05-02 02:34:33 +0000
committerjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>2006-05-02 02:34:33 +0000
commit54d5308cd83c67e7e9c32450c776ef0dac63549f (patch)
tree0352882349bca8952a59fd322099470b7952e0c8 /doc/todo
parent457d6bbbbfbb0474749a0d68e959613c86facf72 (diff)
* Added plugin system, currently only supporting for PreProcessorDirectives.
* Added a pagecount plugin, enabled by default. * Support PreProcessorDirectives with no parameters, ie "[[pagecount ]]". * Fixed/optimised backlinks code, to avoid rebuilding pages to update backlinks when the backlinks hadn't really changed. * Moved inline page support, rss generation etc into the inline plugin, enabled by default. * Added brokenlinks plugin, not enabled by default, but rather handy. * Fix several broken links in the doc wiki.
Diffstat (limited to 'doc/todo')
-rw-r--r--doc/todo/lists.mdwn5
-rw-r--r--doc/todo/plugin.mdwn19
2 files changed, 8 insertions, 16 deletions
diff --git a/doc/todo/lists.mdwn b/doc/todo/lists.mdwn
index 841e3a463..933012493 100644
--- a/doc/todo/lists.mdwn
+++ b/doc/todo/lists.mdwn
@@ -1,7 +1,8 @@
* list of all missing pages
- Could be a [[plugin]].
+ done
* list of registered users, with the names being links to any userpages.
- Could be implemented with a [[preprocessordirective]], which suggests that there needs to be some sort of plugin interface for new preprocessordirectives. Although, how to let the wiki know that the page needs an update whever a new user is added? \ No newline at end of file
+ Might be a plugin, but how to let the wiki know that the page
+ needs an update whever a new user is added?
diff --git a/doc/todo/plugin.mdwn b/doc/todo/plugin.mdwn
index 0a8a0942e..255f0ccf6 100644
--- a/doc/todo/plugin.mdwn
+++ b/doc/todo/plugin.mdwn
@@ -1,5 +1,3 @@
-For one type of plugin, see [[todo/PluggableRenderers]].
-
A plugin system should ideally support things like:
* [[todo/lists]] of pages, of mising pages / broken links, of registered users, etc
@@ -11,22 +9,15 @@ A plugin system should ideally support things like:
* 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
+* For another type of plugin, see [[todo/PluggableRenderers]].
-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.
+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.
## preprocessor plugins
-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.
-
-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 %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.
+done
## case study: Moin Moin plugins