Format code

"Format code" est un plugin pour Wordpress qui vous permet d'entourer du code source avec les balises <pre><code> et </code></pre> et de le transformer en une liste ordonnée ; cette liste peut être ensuite mise en forme avec la classe ol.code dans votre feuille de styles.

L'idée m'est venue après une visite sur le blog 456 Berea Street, je cherchais depuis un moment une manière d'afficher mon code source simplement et proprement, merci � lui !

Installation

L'installation est classique, copiez simplement le code source ci-dessous dans un fichier nommé format-code.php et placez le dans le répertoire wp-content/plugins de votre blog. Vous devez ensuite l'activer dans l'onglet "Plugins" de la partie administration de Wordpress.

Code source (mis en forme avec ce plugin)

<?php
/*
Plugin Name:	Format code
Plugin URI:		http://pilgrim.maleo.net/archives/2004/11/03/format-code/
Version:		1.0
Description:	This plugins allows you to enclose source code between 
<pre><code> and </code></pre> and transforme 
it into an ordered list.
Author:			David Duret
Author URI:		http://pilgrim.maleo.net/
*/
function filter_format_code( $content ) {

    $pattern = '/<pre><code>(.*?)</code></pre>/is';
    while ( preg_match($pattern, $content, $match) ) {

        $code	= $match[1];
        $code	= preg_replace('/</p>s*<p>/s', "nn", $code);
        $code	= str_replace("rn", "n", $code);
        $lines	= explode("n", $code);
        $ol		= '<ol class="code">'."n";
        foreach ( $lines as $line ) {
            if ( empty($line) ) $line = ' ';
            $line = str_replace(' ', ' ', $line);
            $ol .= "t".'<li><code>'.$line.'</code></li>'."n";
        }
        $ol		.= '</ol>'."n";
		
        $content = str_replace($match[0], $ol, $content);

    }

    return $content;

} // end of 'filter_format_code()'

add_filter('the_content','filter_format_code');
?>

Toute remarque ou suggestion pour l'amélioration de ce plugin sera la bienvenue :)

Posté le mercredi 03 novembre 2004 dans .

Commentaires

Il n'y a aucun commentaire ; soyez le premier à déposer le vôtre.

Ajouter un commentaire

Il n'est plus possible de réagir à cette entrée directement mais si vous pensez que votre intervention peut être intéressante, envoyez-moi votre commentaire, je l'ajouterai ici en votre nom.