Markdown mit SmartyPants erweitern

Bereits unter MODx Evolution verwendete ich Markdown zusammen mit Smartypants. Auch MODx Revolution besitzt ein Markdown Plugin, um jedoch Smartypants zu integrieren bedarf es der folgenden Anpassung im Snippet:

$event_name = $modx->event->name;
switch ($event_name) {
    case "OnWebPagePrerender":
        include_once($modx->config["base_path"].'/assets/plugins/markdown_parser/markdown.php');
        $doc = $modx->resource->_output;
        // Smartypants einbinden
        include_once($modx->config['base_path'].'core/components/smartypants_german.php');
        preg_match_all("|<markdown>(.*)</markdown>|Uis",$doc,$matches);
        for ($i=0;$i<count($matches[0]);$i++) {
            $tag = $matches[0][$i];
            $text = Markdown($matches[1][$i]);
            // Smartypants auf Blöcke anwenden
            $text = SmartyPants($text);
            $doc = str_replace($tag,$text,$doc);
        }
        $modx->resource->_output = $doc;
    break;
    default:    // stop here
        return;
    break;
}
return $markdown;

Übersicht