/** * Code block * * @param array $params * @param string $content * @param Smarty $smarty * @param boolean $repeat * @return string */ public static function block_code($params, $content, &$smarty, &$repeat) { if ($repeat) { return null; } $content = trim($content); // Remove whitespace if (array_key_exists('inline', $params)) { $inline = isset($params['inline']) && $params['inline']; } else { $inline = strpos($content, "\n") === false; } if ($inline) { if (empty($params['class'])) { $params['class'] = 'outlined_inline outlined_inline_mono inline_code'; } else { $params['class'] .= ' outlined_inline outlined_inline_mono inline_code'; } return Shade::htmlTag('span', $params, function () use($content) { return Shade::clean(trim($content)); }); } else { $highlight = isset($params['highlight']) && $params['highlight'] ? $params['highlight'] : null; if ($highlight === 'php') { $highlight = 'iphp'; } if ($highlight === 'html' || $highlight === 'xhtml') { $highlight = 'xml'; } if ($highlight === 'json') { $highlight = 'javascript'; } return Shade::highlightCode($content, $highlight); } }