external plugin in your favorite programming language. Wow us at how much
easier you can do the same thing in your favorite language. ;-)
+There's now a second external plugin, the [[rst]] plugin, written in
+python. (Could someone convert it into a python library that can be used by
+other plugins?)
+
[[toc ]]
## How external plugins use XML RPC
Since XML RPC can't pass around references to objects, it can't be used
with functions that take or return such references. That means you can't
-use XML RPC for `cgi` or `formbuilder` hooks (which are passed CGI and
+100% use XML RPC for `cgi` or `formbuilder` hooks (which are passed CGI and
FormBuilder perl objects), or use it to call `template()` (which returns a
perl HTML::Template object).
Injecting a replacement for a commonly called ikiwiki function
could result in a lot more RPC calls than expected and slow
eveything down. `pagetitle`, for instance, is called about 100 times
-per page build. Memoizing injected functions whenever possible is a very
-good idea.
+per page build. Whenever possible, you should tell ikiwiki to memoize
+injected functions.
In general, use common sense, and your external plugin will probably
perform ok.