1<?php 2 3namespace Dokuwiki\Plugin\Commonmark; 4 5use League\CommonMark\Environment; 6use League\CommonMark\DocParser; 7use Dokuwiki\Plugin\Commonmark\Extension\CommonmarkToDokuwikiExtension; 8use Dokuwiki\Plugin\Commonmark\Extension\FootnoteToDokuwikiExtension; 9 10class Commonmark { 11 public static function RendtoDW($markdown): string { 12 # create environment 13 $environment = self::createDWEnvironment(); 14 15 # create parser 16 $parser = new DocParser($environment); 17 # create Dokuwiki Renderer 18 $DWRenderer = new DWRenderer($environment); 19 20 $document = $parser->parse($markdown); 21 return $DWRenderer->renderBlock($document); 22 } 23 24 public static function createDWEnvironment(): Environment { 25 $environment = new Environment(); 26 $environment->addExtension(new CommonMarkToDokuWikiExtension()); 27 $environment->addExtension(new FootnoteToDokuwikiExtension()); 28 29 $environment->mergeConfig([ 30 'html_input' => 'strip', 31 ]); 32 33 return $environment; 34 } 35} 36 37?>