Kirby\Patterns\Lab::codeblock PHP Method

codeblock() public method

public codeblock ( $object, $lang = 'markup' )
    public function codeblock($object, $lang = 'markup')
    {
        $langs = ['css' => 'css', 'php' => 'php', 'js' => 'js', 'scss' => 'sass', 'md' => 'markdown', 'mdown' => 'markdown'];
        try {
            if (is_a($object, 'Media')) {
                $code = $object->read();
                $lang = a::get($langs, $object->extension(), 'markup');
            } else {
                if (is_a($object, 'Kirby\\Patterns\\Pattern')) {
                    $code = htmlawed($object->render(), ['tidy' => 1]);
                    $lang = 'php';
                } else {
                    if (is_string($object)) {
                        $code = $object;
                    } else {
                        $code = '';
                    }
                }
            }
        } catch (Exception $e) {
            return $this->error($e);
        }
        if (strlen($code) > 20000) {
            $lang = 'none';
        }
        return '<pre><code class="language-' . $lang . '">' . htmlspecialchars(trim($code)) . '</code></pre>';
    }