/** * @inheritdoc */ protected function renderCode($block) { if (self::$highlighter === null) { self::$highlighter = new Highlighter(); self::$highlighter->setAutodetectLanguages(['apache', 'nginx', 'bash', 'dockerfile', 'http', 'css', 'less', 'scss', 'javascript', 'json', 'markdown', 'php', 'sql', 'twig', 'xml']); } try { if (isset($block['language'])) { $result = self::$highlighter->highlight($block['language'], $block['content'] . "\n"); return "<pre><code class=\"hljs {$result->language} language-{$block['language']}\">{$result->value}</code></pre>\n"; } else { $result = self::$highlighter->highlightAuto($block['content'] . "\n"); return "<pre><code class=\"hljs {$result->language}\">{$result->value}</code></pre>\n"; } } catch (DomainException $e) { echo $e; return parent::renderCode($block); } }