summaryrefslogtreecommitdiff
path: root/inc/parserutils.php
diff options
context:
space:
mode:
authorAndreas Gohr <andi@splitbrain.org>2006-12-03 20:01:38 +0100
committerAndreas Gohr <andi@splitbrain.org>2006-12-03 20:01:38 +0100
commit2d5ccb39b065724c19bf34e24edfe52ebce90e74 (patch)
treedbd18b2694c1566baa69f633d23b6e7885239136 /inc/parserutils.php
parentf8cc712e2ad522d0bd56b9ba3983cd42abf664ad (diff)
downloadrpg-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.php11
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);