Make GeSHi autoloading really work
[phorkie.git] / src / phorkie / Renderer / Geshi.php
index 08c6c74d29e30c419e89ec84f8b317163d4f3ab4..18f95acdba9577a338f57d523117222b9cb1f8f5 100644 (file)
@@ -15,21 +15,25 @@ class Renderer_Geshi
     {
         /**
          * Yes, geshi needs to be in your include path
-         * We use the mediawiki geshi extension package.
+         * We use the geshi pear package.
          */
         if (!class_exists('\\GeSHi', true)) {
             require_once $GLOBALS['phorkie']['cfg']['geshi'];
         }
         $geshi = new \GeSHi($file->getContent(), $this->getType($file));
         $geshi->enable_line_numbers(GESHI_NORMAL_LINE_NUMBERS);
-        $geshi->set_header_type(GESHI_HEADER_DIV);
+        $geshi->set_header_type(GESHI_HEADER_PRE_TABLE);
+        $geshi->enable_classes();
+        $geshi->set_line_style('color: #DDD;');
 
         if ($res !== null) {
             $geshi->highlight_lines_extra(array_keys($res->annotations));
             $geshi->set_highlight_lines_extra_style('background-color: #F2DEDE');
         }
 
-        return '<div class="code">'
+        return '<style type="text/css">'
+            . $geshi->get_stylesheet() . '</style>'
+            . '<div class="code">'
             . str_replace('&nbsp;', '&#160;', $geshi->parse_code())
             . '</div>';
     }