createCacheKey($md, 'markdown'); if ($antCache->isCached($cacheKey)) { $cachedContent = $antCache->getCache($cacheKey); if ($cachedContent !== false && !empty($cachedContent)) { return $cachedContent; } } $mdConfig = [ 'embed' => [ 'adapter' => new OscaroteroEmbedAdapter(), 'allowed_domains' => ['youtube.com', 'twitter.com', 'github.com', 'vimeo.com', 'flickr.com', 'instagram.com', 'facebook.com'], 'fallback' => 'link', ], ]; $environment = new Environment($mdConfig); $environment->addExtension(new CommonMarkCoreExtension()); $environment->addExtension(new AutolinkExtension()); //$environment->addExtension(new DisallowedRawHtmlExtension()); $environment->addExtension(new StrikethroughExtension()); $environment->addExtension(new TableExtension()); $environment->addExtension(new TaskListExtension()); $environment->addExtension(new EmojiExtension()); $environment->addExtension(new EmbedExtension()); $markdownConverter = new MarkdownConverter($environment); $renderedContent = $markdownConverter->convert($md); $antCache->setCache($cacheKey, $renderedContent); return $renderedContent; } }