Lexer->addSpecialPattern( '[ \t]*={2,}[^\n]+={2,}[ \t]*(?=\n)', $mode, 'plugin_folded_header' ); } /** * Handle the match */ function handle($match, $state, $pos, Doku_Handler $handler){ // Copied from parser: get level and title $title = trim($match); $level = 7 - strspn($title,'='); if($level < 1) $level = 1; $title = trim($title,'='); $title = trim($title); return array($title,$level,$pos); } /** * Create output */ function render($mode, Doku_Renderer $renderer, $data) { if($mode != 'xhtml') return; list($text,$level,$pos) = $data; // Write the header $renderer->doc .= DOKU_LF.''; $renderer->cdata($text); $renderer->doc .= "".DOKU_LF; return true; } }