Lexer->addSpecialPattern( '\n[ ]{0,3}\[[^\n]+?\]:[ \t]*\n?[ \t]*?[ \t]*\n?[ \t]*(?:(?<=\s)["(].+?[")][\t]*)?(?=\n)', $mode, 'plugin_markdowku_references'); } function handle($match, $state, $pos, Doku_Handler $handler) { return array($state, $match); } function render($mode, Doku_Renderer $renderer, $data) { if ($mode != 'metadata') return false; preg_match( '/\[(.+)\]:[ \t]*\n?[ \t]*?[ \t]*\n?[ \t]*(?:(?<=\s)["(](.+?)[")][\t]*)?/', $data[1], $matches); $key = 'markdowku_references_'.preg_replace("/ /", ".", $matches[1]); $renderer->meta[$key] = $matches[2]; return true; } } //Setup VIM: ex: et ts=4 enc=utf-8 :