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é? 😉

This entry was posted in linux, pofHQ, Uncategorized. Bookmark the permalink.

8 Responses to GeSHi syntax-colorer per posar-li color al codi

  1. Ivo Sandoval says:

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

  2. Juanjo says:

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

  3. Marc says:

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

  4. iolanda says:

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

  5. Dan says:

    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 😀

  6. pof says:

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

  7. pof says:

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

  8. pof says:

    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);

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>