Comment passer de WP-codebox à Syntax Highlighter ?

J’ai changé de plugin pour le code source que je partage sur ce blog, passant de wp-codebox à Syntax Highlighter. J’ai changé car wp-codebox posait des problèmes avec le flux rss (celui ci n’était plus à jour et ne pouvais plus se générer). Sinon en terme d’utilisation, je trouve les deux très bien. Cependant y’a un petit plus pour syntax highlighter qui a un peu plus d’options et de thèmes, de plus le thème par défaut est très sympa.
Par contre la syntaxe à utiliser entre les deux est un peu différente. Je vous propose un petit script php a exécuter en ligne de commande pour pouvoir passer facilement de wp-codebox à Syntax Highlighter. Il va falloir commencer par exporter les données de la table *_posts (wp_posts par défaut) et de sauvegarder le fichier sur votre disque dur. (avec phpmyadmin, c’est un jeux d’enfant, cliquer sur l’image ci-dessous pour voir les options a cocher)

Voila, maintenant il ne reste plus qu’a télécharger le script, le renommer et l’exécuter avec comme paramètre le nom du fichier qui correspond à l’export de la base MySQL : (la partie suivante ne concerne que les linuxiens, pour windows il faut tout faire à la main …)
wget http://blog.lyrixx.info/wp-content/uploads/2009/12/codebox2syntaxhighlighter.php.txt mv codebox2syntaxhighlighter.php.txt codebox2syntaxhighlighter.php php codebox2syntaxhighlighter.php /path/vers/fichier/sql.sql
Voila, pour ceux qui sont sous windows il faut le télécharger ici : script de renommage
Le code : (Si vous copiez/collez directement ce code, pensez a virer l’espace ligne 31 dans la balise [/C ODE]
<?php
/**
* Description :
* Ce script sert à renommer dans un fichier text (export de base sql)
* les portions de code qui font référence au plugin wp-codebox
* en portion de code pour Syntax highlighter.
*
* Utilisation
* php codebox2syntaxhighlighter.php fichiersource.sql
* Le résultat sera ecrit dans un fichier output.sql. Pensez a vérifier
* les droits en écriture sur le dossier courant.
*
* Auteur :
* Pineau Grégoire
* http://blog.lyrixx.info/*
*
*/
if (isset($argv[1]) && $argv[1] != ''){
$file = $argv[1];
if (!file_exists($file)){
die ('Le fichier a charger n\'existe pas'."\n");
}
$handle = fopen ($file,'r');
$content = stream_get_contents($handle);
fclose($handle);
$regex='#<pre lang="(\w{0,6})"(?:(?: +file=".{0,25}")|(?: +colla="-")){0,2}>#iU';
$replace='[code language="$1"]';
$content2 = preg_replace($regex,$replace,$content);
$content2 = str_replace('</pre>','[/c ode]',$content2);
$handle2 = fopen ('output.sql','w');
fwrite($handle2,$content2);
fclose($handle2);
}else {
die ( 'Il n\'y a pas de fichier a charger'."\n");
}
P.S. J'ai utilisé le script sur ce blog, si jamais il y a des erreurs, merci de me le signaler
Enfin, je vous invite à découvrir le service http://gskinner.com/RegExr/ qui vous permet de tester en live vos regexp
{post} : Comment passer de WP-codebox à Syntax Highlighter ? http://goo.gl/fb/IZhH #blog #codesource #mysql #php
This comment was originally posted on Twitter
Comment passer de WP-codebox à Syntax Highlighter ? http://bit.ly/5oinl7 via @lyrixx #wordpress
This comment was originally posted on Twitter