* @since 2.0 */ class Markdown extends Component { private $_parseDown; protected function getParseDown() { if ($this->_parseDown === null) { $this->_parseDown = new ParseDown(); } return $this->_parseDown; } public function parse($markdown) { return $this->getParseDown()->parse($markdown); } public function parseLine($markdown) { return $this->getParseDown()->parseLine($markdown); } public function registerBlockHander($blockName, $callback) { $this->getParseDown()->register_block_handler($blockName, $callback); } public function unregisterBlockHander($blockName) { $this->getParseDown()->remove_block_handler($blockName); } public function registerInlineMarkerHandler($marker, $callback) { $this->getParseDown()->add_span_marker($marker, $callback); } public function unregisterInlineMarkerHandler($marker) { $this->getParseDown()->remove_span_marker($marker); } }