summaryrefslogtreecommitdiff
path: root/doc/todo/plugin.mdwn
diff options
context:
space:
mode:
Diffstat (limited to 'doc/todo/plugin.mdwn')
-rw-r--r--doc/todo/plugin.mdwn16
1 files changed, 16 insertions, 0 deletions
diff --git a/doc/todo/plugin.mdwn b/doc/todo/plugin.mdwn
new file mode 100644
index 000000000..9e8704ec0
--- /dev/null
+++ b/doc/todo/plugin.mdwn
@@ -0,0 +1,16 @@
+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
+* a [[todo/link_map]]
+* [[todo/sigs]]
+* [[pageindexes]]
+* Wiki stats, such as the total number of pages, total number of links, most linked to pages, etc, etc.
+*
+
+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 %inlinepages hash already allows for pages to register this, although it might need to be renamed.