| #
71096e46 |
| 18-Apr-2026 |
Andreas Gohr <andi@splitbrain.org> |
move handler methods into ParserMode classes and rename Handler
Each ParserMode class now implements handle() from ModeInterface, containing the token handling logic that previously lived as individ
move handler methods into ParserMode classes and rename Handler
Each ParserMode class now implements handle() from ModeInterface, containing the token handling logic that previously lived as individual methods on Doku_Handler.
The Handler class (formerly Doku_Handler) is the single dispatch point: Lexer passes tokens to Handler::handleToken() which routes to mode objects, plugins, or returns false. The Lexer only tokenizes and resolves mapHandler aliases.
Key changes: - Add handle() to ModeInterface, implemented by all mode classes - Move Doku_Handler to dokuwiki\Parsing\Handler namespace - File extends Code (shared parsing via $type property) - Quotes uses mapHandler() + Handler::getModeName() for sub-modes - Media::parseMedia() replaces Doku_Handler_Parse_Media() - Code::parseHighlightOptions() replaces parse_highlight_options() - Per-parse state (footnote, doublequote) stays on Handler - Deprecated wrappers kept for base/header/internallink/media - Class alias and rector rules added for backward compatibility
show more ...
|
| #
db926724 |
| 26-Jan-2024 |
Andreas Gohr <andi@splitbrain.org> |
Replace strftime with Intl ICU. Fixes #3573
This uses a class that maps strftime placeholders to the appropriate ICU patterns. I am using the fallback-intl branch here which provides an English-only
Replace strftime with Intl ICU. Fixes #3573
This uses a class that maps strftime placeholders to the appropriate ICU patterns. I am using the fallback-intl branch here which provides an English-only fallback when the intl extension is not available.
Core has only two places where strftime is used: dformat() and the SimplePie feed parser. Both are adjusted with this patch. For the latter a custom Item class had to be registered. For better separation all our FeedParser classes have been moved to the Feed namespace where our FeedCreator classes already reside.
Note that this will currently be a degration for users without intl as it will fall back to date and not to the still available strftime.
show more ...
|