summaryrefslogtreecommitdiff
path: root/IkiWiki/Plugin/external.pm
AgeCommit message (Collapse)Author
2008-10-21function injection overhaulJoey Hess
Add an inject function, that can be used by plugins that want to replace one of ikiwiki's functions with their own version. (This is a scary thing that grubs through the symbol table, and replaces all exported occurances of a function with the injected version.) external: RPC functions can be injected to replace exported functions. Removed the stupid displaytime hook, and use injection instead.
2008-10-21disable warnings when redefining functionsJoey Hess
2008-08-06external: Fix support for hooks called in an array context.Joey Hess
2008-08-03add plugin safe/rebuild info (part 1 of 2)Joey Hess
too many plugins.. brain exploding..
2008-03-21Allow external plugins to return no valuemartin f. krafft
Instead of using the XML-RPC v2 extension <nil/>, which Perl's XML::RPC::Parser does not (yet) support (Joey's patch is pending), we agreed on a sentinel: {'null':''}, that is, a hash with a single key "null" pointing to the empty string. The Python proxy automatically converts None appropriately and raises an exception if a hook function should, by weird coincidence, attempt to return {'null':''}. Signed-off-by: martin f. krafft <madduck@madduck.net>
2008-03-19fix setstateJoey Hess
Same fix as in d7f1292c3134fd9464ca4005f48b9274be861c10
2008-03-19make setargv take an arrayJoey Hess
for consistentcy with getargv, which returns one
2008-03-19fix setvarJoey Hess
It was incorrectly setting the value to the number of items in @_, ie, always 1.
2008-03-19getargv needs to return a list referenceJoey Hess
xml rpc only allows functions to return a single value, no lists. So getargv needs to return a list reference, which means that the caller will see an xml rpc array.
2008-03-15* external: Add getargv and setargv methods to allow access to ikiwiki'sJoey Hess
@ARGV.
2008-03-15* external: Fix support of XML::RPC::fault.Joey Hess
2008-02-11* Generate XML RPC messages with the encoding set to utf-8 insteadJoey Hess
of XML::RPC's default of us-ascii. Allows interoperation with python's xmlrpc library, which threw invalid encoding exceptions and caused the rst plugin to hang.
2007-12-08* Finally implemented a simple per-page data storage mechanism for plugins,Joey Hess
via the %pagestate hash. * Use pagestate in meta to detect potential redir loops.
2007-10-13untaint plugin filename, will be tainted if specified at the command linejoey
2007-08-13memoization for injected RPC functions is a very, very good thingjoey
2007-08-13* Fix --libdir to work at the command line.joey
* Plugins can now be written as standalone external programs, which can be written in any language that can do XML::RPC.