'allow', 'allow_unsafe_links' => false, 'max_nesting_level' => 100, ]; $environment = new Environment($config); $environment->addExtension(new CommonMarkCoreExtension()); $environment->addExtension(new AttributesExtension()); $environment->addExtension(new TableExtension()); $environment->addExtension(new DescriptionListExtension()); $environment->addExtension(new FootnoteExtension()); if ($this->option['autotoc']) { $environment->addExtension(new HeadingPermalinkExtension()); $environment->addExtension(new TableOfContentsExtension()); } if ($prefs['markdown_gfm'] === 'y') { $environment->addExtension(new GithubFlavoredMarkdownExtension()); } // add default class to code blocks ->
        $environment->addRenderer(
            FencedCode::class,
            new class implements NodeRendererInterface {
                public function render(Node $node, ChildNodeRendererInterface $childRenderer)
                {
                    $htmlEl = (new FencedCodeRenderer())->render($node, $childRenderer);
                    $class = $htmlEl->getAttribute('class') ?: 'codelisting';
                    $htmlEl->setAttribute('class', $class);
                    return $htmlEl;
                }
            },
            10
        );

        // add default class to table -> 
        $environment->addRenderer(
            Table::class,
            new class implements NodeRendererInterface {
                public function render(Node $node, ChildNodeRendererInterface $childRenderer)
                {
                    $htmlEl = (new TableRenderer())->render($node, $childRenderer);
                    $class = $htmlEl->getAttribute('class') ?: 'wikitable table table-striped table-hover';
                    $htmlEl->setAttribute('class', $class);
                    return $htmlEl;
                }
            },
            10
        );

        $converter = new MarkdownConverter($environment);
        $data = $converter->convert($data)->getContent();

        $data = $this->parse_data_wikilinks($data, false, $this->option['ck_editor']);

        return $data;
    }
}