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/parserutils.php | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) (limited to 'inc/parserutils.php') diff --git a/inc/parserutils.php b/inc/parserutils.php index 13c9396a0..b295ae152 100644 --- a/inc/parserutils.php +++ b/inc/parserutils.php @@ -390,11 +390,8 @@ function p_get_first_heading($id){ $file = wikiFN($id); if (@file_exists($file)) { $instructions = p_cached_instructions($file,true); - foreach ( $instructions as $instruction ) { - if ($instruction[0] == 'header') { - return trim($instruction[1][0]); - } - } + $meta = $instructions[0][1]; + return isset($meta[0]['first_heading']) ? trim($meta[0]['first_heading']) : NULL; } return NULL; } -- cgit v1.2.3