From e1c10e4d58dad58f2a8b4b121b62bd56045bf852 Mon Sep 17 00:00:00 2001 From: chris Date: Sun, 9 Apr 2006 23:49:58 +0200 Subject: Parser Update: - revisions to header class and section handling header pattern simplified header class now writes section open and close instructions section call writer removed check for and update meta['first_header'] if required (see below) - meta instruction added written by _finalize to front of instruction stack holds first header information plugins can now write first header information, or other page meta information to this data structure. - get_first_heading updated to make use of meta['first_header'] - plugin instruction structure changed to include lexer state in the data portion of the instruction. OLD INSTRUCTION: array('plugin', array(,,$pos), $pos) NEW INSTRUCTION: array('plugin', array(,,$state), $pos) - block handler/call writer update to better handle plugin PTypes 'block' & 'stack'. Lexer states are mapped as follows: DOKU_LEXER_ENTER, DOKU_LEXER_SPECIAL : block_open, stack_open DOKU_LEXER_EXIT, DOKU_LEXER_SPECIAL : block_close, stack_close DOKU_LEXER_MATCHED, DOKU_LEXER_UNMATCHED : plugin must handle

Plugin writers can now use these PTypes as intended ! darcs-hash:20060409214958-9b6ab-cd2cef97a6a2521e3a02175075b8ff4648035f69.gz --- inc/parser/parser.php | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) (limited to 'inc/parser/parser.php') diff --git a/inc/parser/parser.php b/inc/parser/parser.php index a99d8da34..e5a58f336 100644 --- a/inc/parser/parser.php +++ b/inc/parser/parser.php @@ -222,22 +222,11 @@ class Doku_Parser_Mode_header extends Doku_Parser_Mode { function preConnect() { //we're not picky about the closing ones, two are enough - - // Header 1 is special case - match 6 or more $this->Lexer->addSpecialPattern( - '[ \t]*={6,}[^\n]+={2,}[ \t]*(?=\n)', + '[ \t]*={2,6}[^\n]+={2,}[ \t]*(?=\n)', 'base', 'header' ); - - // For the rest, match exactly - for ( $i = 5; $i > 1; $i--) { - $this->Lexer->addSpecialPattern( - '[ \t]*={'.$i.'}[^\n]+={2,}[ \t]*(?=\n)', - 'base', - 'header' - ); - } } function getSort() { -- cgit v1.2.3