Plugin de Coloration Syntaxique
Par Mandor, jeudi 26 janvier 2006 à 20:12 :: #5:: rss
Installation
L'installation de Syntax Highlighter se déroule comme l'installation de n'importe quel plugin; vous avez le choix entre les deux méthodes:
Maintenant que le plugin est installé d'une façon ou d'une autre, rendez vous sur la page Outils de votre DotClear et, si tout s'est bien passé, vous devriez trouver un nouveau lien. En cliquant dessus vous aurez les informations que je vais redonner ici.
Mise en route
Une fois le plugin installé, vous devez faire une petite modification dans l'un des fichiers PHP de votre thème pour qu'il puisse fonctionner. Dans le fichier post.php, trouvez cette ligne:
<div class="post-content"><?php dcPostContent(); ?></div>
Et remplacez la par celle-ci:
<div class="post-content"><?php syntaxHL::PostContent(); ?></div>
Si vous désirez que le code soit mit en couleur dans la liste des billets également (pour les billets dans chapô), il vous faut aussi modifier le fichier list.php de votre thème. Cherchez dans celui-ci l'appel à la fonction dcPostAbstract() et remplacez le par un appel à la fonction syntaxHL::PostAbstract(). Les arguments restent identiques.
Et voilà, il n'y a rien de plus à faire, le plugin est en état de fonctionner!
Utilisation
Pour inclure du code coloré dans vos billets, vous avez deux solutions en fonction de si vous utilisez la saisie en format Wiki ou HTML. Prenons l'exemple d'un bout de code en PHP:
- Si vous utilisez le format Wiki:
///[php] <?php echo 'Hello, World!'; ?> ///
- Si vous utilisez le format HTML:
<pre>[php] <?php echo 'Hello, World!'; ?> </pre>
Pour poster du code d'un autre language que PHP, vous remplaceriez bien sur "php" par l'identifiant du language approprié.
Languages Supportés
Le plugin est fournit avec le support pour les languages suivant:
- Language C: c
- Language C++: cpp
- Feuilles de style: css
- Java: java
- Javascript: javascript
- Requêtes MySQL: mysql
- PHP: php
- XML: xml
Les valeurs en italique sont les identifiants que vous devez mettre entre crochets à la place de "php" dans l'exemple ci-dessus.
Ajout de Languages
La librairie GeSHi contient bien plus de languages que je n'en ai inclu dans le plugin! En fait, elle contient quasiment tout les languages de programmation immaginables, donc quel que soit ce que vous voulez colorier, c'est sûrement possible. Pour installer de nouveaux languages sur le plugin, rien de très compliqué:
- Rendez vous sur le site officiel de la librarie GeSHi et téléchargez la.
- Dans l'archive, vous trouverez un répertoire nommé geshi contenant de nombreux fichiers .php...
- Repérez celui qui correspond au language que vous désirez installer puis uploadez le dans le répertoire geshi du plugin.
- Rendez vous ensuite dans le panneau Outils de votre DotClear et cliquez sur le plugin.
- Si tout s'est bien passé, votre language apparaitra dans la liste des languages installés!
Exemple: Disons que je veuille poster du code Assembleur coloré sur mon blog (quelle drôle d'idée, mais bon :). Le language n'est pas présent dans le plugin par défaut, je vais donc telecharger la librarie GeSHi et je récupère le fichier asm.php dedans. Il me suffit ensuite de l'uploader dans le répertoire geshi du plugin (typiquement dotclear/ecrire/tools/syntaxhl/geshi) et le tour est joué! Pour poster de l'assembleur je n'ai plus qu'à faire (en mode de saisie Wiki):
///[asm] clrf PORT_A bsf STATUS,RP0 movlw 0h ///
Et mon code assembleur sera syntaxiquement coloré.
Quelques exemples de coloration
Un peu de PHP:
<?php // Ceci est un test du plugin 'Syntax Highlighter' $var = ereg_replace(' ', ', ', 'foo bar'); $trans = array('foo' => 'Hello', 'bar' => 'World'); echo strtr($var.'!', $trans); ?>
Pour rester dans le même goût on enchaine sur une requête SQL:
INSERT INTO brain VALUES ("clue");
Et pour finir en beauté, un petit bout de CSS (extrait du thème Kit par Kozlika que je salut bien bas :)
#sidebar { width : 160px; float : right; margin : 20px 0 0 0; /* meme marge haute que sur #content pour alignement */ padding : 0 20px 40px 20px; background : transparent url(images/bas-sidebar.png) no-repeat bottom center; border-left:1px dashed #A71602; font-size:0.85em; color:#666; line-height:125%; }
N'hesitez pas à commenter si par malheur le plugin ne marchait pas (je ne l'ai testé que sur mon blog pour l'instant) ou si vous avez des idées d'amélioration!





Commentaires
1. Le jeudi 26 janvier 2006 à 16:31, par philippe
2. Le vendredi 27 janvier 2006 à 11:02, par JLauriol
3. Le vendredi 3 février 2006 à 03:59, par Vraiment Rien A Dire
4. Le vendredi 17 février 2006 à 20:26, par David, biologeek
5. Le vendredi 17 février 2006 à 20:50, par Mandor
6. Le samedi 18 février 2006 à 17:29, par David, biologeek
7. Le samedi 18 février 2006 à 18:24, par Mandor
8. Le lundi 27 février 2006 à 01:36, par morenzula
9. Le mercredi 8 mars 2006 à 17:34, par sdelaunay
10. Le jeudi 9 mars 2006 à 11:47, par Mandor
11. Le samedi 25 mars 2006 à 22:28, par yöm
12. Le lundi 3 juillet 2006 à 17:06, par Pierrick
Ajouter un commentaire
Les commentaires pour ce billet sont fermés.