GeSHi syntax-colorer per posar-li color al codi

Gràcies a aquest post de Juanjo he descobert GeSHi, una clase de php que permet colorejar la sintaxis del codi de forma automàtica i suporta uns quants llenguàtges diferents. Per a integrar-lo amb WordPress he usat aquest plugin, aquí podeu veure els resultats:

Fragment de codi en PHP:

 
function get_mime_type(&$structure) {
	        $primary_mime_type = array("TEXT", "MULTIPART", "MESSAGE", "APPLICATION", "AUDIO", "IMAGE", "VIDEO", "OTHER");
        if($structure->subtype) {
                return $primary_mime_type[(int) $structure->type] . '/' . $structure->subtype;
        }
        return "TEXT/PLAIN";
}

Fragment de codi en bash script:

 
#!/bin/sh
	source ./include.sh
	function error {
        echo $1
        exit 1
}
	function isfield() {
	        out=""
        cfound="no"
        lon=`echo -n $1 |wc -c`
        lon=`echo $lon` # remove spaces
        for ((i=1;i< =$lon;i++)); do
                cchar=`echo $1 |cut -c $i`
                if [ "$cchar" == "\"" ]; then
                        if [ "$cfound" == "no" ]; then cfound="yes" ; else cfound="no" ; fi
                elif [ "$cchar" == "," ]; then
                        if [ "$cfound" == "yes" ]; then out="${out}\," ; else out="${out};" ; fi
                else
                        out="${out}${cchar}"
                fi
        done
        echo $out
	}

A que queda bé? ;)


meneame del.icio.us | Technorati tags: , , , , , ,

8 comentaris per a “GeSHi syntax-colorer per posar-li color al codi”

Gravatar de Ivo Sandoval

Ivo Sandoval
November 28th, 2005 @ 18:05    

Queda molt maco, li acabas de fer un :syntax on al teu tag pre ;)

Gravatar de Juanjo

Juanjo
November 28th, 2005 @ 22:01    

Oi que es maco? Encara que aquest fron negre que fas servir no queda masa be :D

Gravatar de Marc

Marc
November 28th, 2005 @ 23:14    

Uooo! Com mola. Ho poso a la cua del ToDo.

Gravatar de iolanda

iolanda
November 29th, 2005 @ 10:11    

Sip que queda curiós si. Fa molt més entenedor el codi. La font una mica petita pel meu gust. :P

Gravatar de Dan

Dan
November 30th, 2005 @ 23:05    

Uauu! Molt xulo! Fa temps ho vaig estar buscant, i vaig acabar pensant deu ser impossible..

Per cert, es poden fer funcions en un shell script? Ara me n’entero… m’hauré de documentar millor :D

Gravatar de pof

pof
December 1st, 2005 @ 0:39    

si, es poden fer funcions, els paràmetres son $1 $2… igual q si cridessis un script nou.

Gravatar de pof

pof
January 20th, 2006 @ 3:13    

glups! després de l’upgrade a WP2 ha deixat de funcionar el plugin :(

Gravatar de pof

pof
January 20th, 2006 @ 3:38    

Ja he fet que funcioni amb WP2, només calia canviar la prioritat a la funció add_filter del plugin de 6 a 11 i afegir un strip_tags, ha quedat així:

 
[...]
$geshi = new GeSHi(strip_tags($codes[$i]['code']), $codes[$i]['lang'], ABSPATH.'/wp-content/plugins/geshi/');
[...]
add_filter('the_content', 'GeshiSyntaxColorer', 11);
add_filter('the_excerpt', 'GeshiSyntaxColorer', 11);
add_filter('comment_text', 'GeshiSyntaxColorer', 11);

Deixa el teu comentari...