diff options
author | Andreas Gohr <andi@splitbrain.org> | 2006-12-03 20:01:38 +0100 |
---|---|---|
committer | Andreas Gohr <andi@splitbrain.org> | 2006-12-03 20:01:38 +0100 |
commit | 2d5ccb39b065724c19bf34e24edfe52ebce90e74 (patch) | |
tree | dbd18b2694c1566baa69f633d23b6e7885239136 /inc/parserutils.php | |
parent | f8cc712e2ad522d0bd56b9ba3983cd42abf664ad (diff) | |
download | rpg-2d5ccb39b065724c19bf34e24edfe52ebce90e74.tar.gz rpg-2d5ccb39b065724c19bf34e24edfe52ebce90e74.tar.bz2 |
pluggable renderers
Plugins can now provide their own renderer in lib/plugins/<name>/renderer.php
The class inside this file needs to inherit from Doku_Renderer and has to be
called Doku_Renderer_<name>
To access the renderer the export action can be used eg: ?do
darcs-hash:20061203190138-7ad00-f56b470b5dd043e1168ff2101c677eb8a9851627.gz
Diffstat (limited to 'inc/parserutils.php')
-rw-r--r-- | inc/parserutils.php | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/inc/parserutils.php b/inc/parserutils.php index f219696d5..45e6fd5aa 100644 --- a/inc/parserutils.php +++ b/inc/parserutils.php @@ -512,15 +512,18 @@ function p_sort_modes($a, $b){ function p_render($mode,$instructions,& $info){ if(is_null($instructions)) return ''; - if ($mode=='wiki') { msg("Renderer for $mode not valid",-1); return null; } //FIXME!! remove this line when inc/parser/wiki.php works. - // Create the renderer - if(!@file_exists(DOKU_INC."inc/parser/$mode.php")){ + $file = DOKU_INC.'lib/plugins/'.$mode.'/renderer.php'; + if(!@file_exists($file)){ + $file = DOKU_INC."inc/parser/$mode.php"; + } + if(!@file_exists($file)){ msg("No renderer for $mode found",-1); return null; } - require_once DOKU_INC."inc/parser/$mode.php"; + require_once $file; + $rclass = "Doku_Renderer_$mode"; if ( !class_exists($rclass) ) { trigger_error("Unable to resolve render class $rclass",E_USER_WARNING); |