*/
// must be run within Dokuwiki
if(!defined('DOKU_INC')) die();
if(!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/');
require_once(DOKU_PLUGIN.'syntax.php');
require_once(DOKU_PLUGIN.'textile2/classTextile.php');
/**
* All DokuWiki plugins to extend the parser/rendering mechanism
* need to inherit from this class
*/
class syntax_plugin_textile2 extends DokuWiki_Syntax_Plugin {
/**
* return some info
*/
function getInfo(){
return array(
'author' => 'Ryan Schwartz',
'email' => 'textile@ryanschwartz.net',
'date' => '2007-02-06',
'name' => 'Textile2 Plugin',
'desc' => 'Parses Textile2-blocks',
'url' => 'https://www.dokuwiki.org/plugin:textile2',
);
}
/**
* What kind of syntax are we?
*/
function getType(){
return 'protected';
}
/**
* Where to sort in?
*/
function getSort(){
return 69;
}
function getPType() {
return 'block';
}
/**
* Connect pattern to lexer
*/
function connectTo($mode) {
$this->Lexer->addEntryPattern('(?=.*)',$mode,'plugin_textile2');
}
function postConnect() {
$this->Lexer->addExitPattern('','plugin_textile2');
}
/**
* Handle the match
*/
function handle($match, $state, $pos, &$handler){
return array($match);
}
/**
* Create output
*/
function render($mode, &$renderer, $data) {
if($mode == 'xhtml' && $data[0] != "" && $data[0] != "") {
$renderme = new Textile;
$renderer->doc .= $renderme->TextileThis($data[0]);
return true;
}
return false;
}
}
//Setup VIM: ex: et ts=4 enc=utf-8 :