1 <?php 2 /** 3 * A simple script which outputs the CSS classes for all languages 4 * supported by GeSHi. You can access it directly to download 5 * the CSS file. On *NIX you can also do a simple `php cssgen.php > geshi.css`. 6 * 7 * This file is part of GeSHi. 8 * 9 * GeSHi is free software; you can redistribute it and/or modify 10 * it under the terms of the GNU General Public License as published by 11 * the Free Software Foundation; either version 2 of the License, or 12 * (at your option) any later version. 13 * 14 * GeSHi is distributed in the hope that it will be useful, 15 * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 * GNU General Public License for more details. 18 * 19 * You should have received a copy of the GNU General Public License 20 * along with GeSHi; if not, write to the Free Software 21 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 22 * 23 * @package geshi 24 * @subpackage contrib 25 * @author revulo <revulon (at) gmail.com> 26 * @copyright 2008 revulo 27 * @license http://gnu.org/copyleft/gpl.html GNU GPL 28 * 29 */ 30 31 require dirname(dirname(__FILE__)) . DIRECTORY_SEPARATOR . 'geshi.php'; 32 $geshi = new GeSHi; 33 34 $languages = array(); 35 if ($handle = opendir($geshi->language_path)) { 36 while (($file = readdir($handle)) !== false) { 37 $pos = strpos($file, '.'); 38 if ($pos > 0 && substr($file, $pos) == '.php') { 39 $languages[] = substr($file, 0, $pos); 40 } 41 } 42 closedir($handle); 43 } 44 sort($languages); 45 46 header('Content-Type: application/octet-stream'); 47 header('Content-Disposition: attachment; filename="geshi.css"'); 48 49 echo "/**\n". 50 " * GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann\n" . 51 " * (http://qbnz.com/highlighter/ and http://geshi.org/)\n". 52 " */\n"; 53 54 foreach ($languages as $language) { 55 $geshi->set_language($language); 56 // note: the false argument is required for stylesheet generators, see API documentation 57 $css = $geshi->get_stylesheet(false); 58 echo preg_replace('/^\/\*\*.*?\*\//s', '', $css); 59 } 60