1<?php 2 3declare(strict_types=1); 4 5/* 6 * This file is part of the league/commonmark package. 7 * 8 * (c) Colin O'Dell <colinodell@gmail.com> 9 * 10 * Original code based on the CommonMark JS reference parser (https://bitly.com/commonmark-js) 11 * - (c) John MacFarlane 12 * 13 * For the full copyright and license information, please view the LICENSE 14 * file that was distributed with this source code. 15 */ 16 17namespace League\CommonMark; 18 19use League\CommonMark\Environment\Environment; 20use League\CommonMark\Extension\CommonMark\CommonMarkCoreExtension; 21 22/** 23 * Converts CommonMark-compatible Markdown to HTML. 24 */ 25final class CommonMarkConverter extends MarkdownConverter 26{ 27 /** 28 * Create a new Markdown converter pre-configured for CommonMark 29 * 30 * @param array<string, mixed> $config 31 */ 32 public function __construct(array $config = []) 33 { 34 $environment = new Environment($config); 35 $environment->addExtension(new CommonMarkCoreExtension()); 36 37 parent::__construct($environment); 38 } 39 40 public function getEnvironment(): Environment 41 { 42 \assert($this->environment instanceof Environment); 43 44 return $this->environment; 45 } 46} 47