diff options
author | chris <chris@jalakai.co.uk> | 2006-04-09 23:49:58 +0200 |
---|---|---|
committer | chris <chris@jalakai.co.uk> | 2006-04-09 23:49:58 +0200 |
commit | e1c10e4d58dad58f2a8b4b121b62bd56045bf852 (patch) | |
tree | 6a6cc4e8dad2172a7257fd4ca54ef5b06b49b0dc /inc/parser/parser.php | |
parent | c1b992e179931983b2b71586b99428ad98ed5d43 (diff) | |
download | rpg-e1c10e4d58dad58f2a8b4b121b62bd56045bf852.tar.gz rpg-e1c10e4d58dad58f2a8b4b121b62bd56045bf852.tar.bz2 |
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(<plugin name>,<plugin_data>,$pos), $pos)
NEW INSTRUCTION: array('plugin', array(<plugin name>,<plugin_data>,$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 <p>
Plugin writers can now use these PTypes as intended !
darcs-hash:20060409214958-9b6ab-cd2cef97a6a2521e3a02175075b8ff4648035f69.gz
Diffstat (limited to 'inc/parser/parser.php')
-rw-r--r-- | inc/parser/parser.php | 13 |
1 files changed, 1 insertions, 12 deletions
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() { |