Dieses Plugin für Smarty macht das hervorheben von Quelltext bequem vom Template aus möglich.
Dazu muss man die Pfadangabe in Zeile 28 bearbeiten, damit GeSHi eingebunden werden kann.
Um Probleme zu vermeiden sollte man die literal tags von Smarty innerhalb des code Tags verwenden.
/** * Smarty {code lang="php" numbers="1"}{/code} block plugin * * Type: block function<br> * Name: code<br> * Purpose: format text a certain way with preset styles * or custom wrap/indent settings<br> * Requires: GeSHi http://qbnz.com/highlighter/ * alter the path to the GheSHi file * @param array * <pre> * Params: lang: string programming language * numbers: integer (0) * file: path to file instead content * </pre> * @author Johannes 'Banana' Keßler mail at bananas-playground dot net * @param content string to highlight * @param Smarty clever simulation of a method * @return string string $content re-formatted */ function smarty_block_code($params, $content, &$smarty) { return; } } require_once("path/to/geshi.php"); if($params['file'] != "") { $high = new GeSHi("",$params['lang']); $high->load_from_file($params['file']); } else { $high = new GeSHi($content,$params['lang']); } if($params['numbers'] == "1") { $high->enable_line_numbers(GESHI_NORMAL_LINE_NUMBERS); } $text = $high->parse_code(); return $text; }
