reprise du plugin dcgeshi
Par gerits aurelien le lundi, 8 octobre 2007, 21:53 - plugin - Lien permanent

Cela fais longtemps que le site de LAlex est indisponible et que ces plugins ne sont plus a jour.
Hors un plugin m'intéressais pour coloriser mon code dans les billets et seul dcGeshi est capable de faire cette petite merveille.
Malheureusement, la seule version que je possède tourne uniquement sur un blog dc2b4....
J'ai donc pris la chose a cœur et mis a jour la class geshi qui étais obsolète passant de la version 1.0.7.11 à 1.0.7.20 avec une réécriture des fichiers d'extensions.
Langages supportés:
- Actionscript
- ADA
- Apache Log
- AppleScript
- ASM
- ASP
- AutoIT
- Backus-Naur form
- Bash
- BlitzBasic
- C
- C for Macs
- C#
- C++
- CAD DCL
- CadLisp
- CFDG
- CFDG
- ColdFusion
- CSS
- Delphi
- DIV
- DOS
- Eiffel
- Fortran
- Fortran
- FreeBasic
- GML
- Groovy
- HTML
- Inno
- IO
- Java
- Java 5
- Javascript
- LaTeX
- Lisp
- Lua
- Microprocessor ASM
- mIRC
- MySQL
- NSIS
- Objective C
- OCaml
- OpenOffice BASIC
- Oracle 8 SQL
- Pascal
- Perl
- PHP
- PL/SQL
- Python
- Q(uick)BASIC
- robots.txt
- Ruby
- SAS
- Scheme
- SDLBasic
- Smalltalk
- Smarty
- SQL
- T-SQL
- TCL
- thinBasic
- Uno IDL
- VB.NET
- Visual BASIC
- Visual Fox Pro
- Winbatch
- X++
- XML
- Z80 ASM
Une version publique me semble être une bonne chose avec une intégration complète de mes propres icônes pour parfaire le coté esthétique très important pour une lecture des plus aisées.
D'autres amélioration esthétique ferons leur apparition avec quelque effet jquery y serons intégrer.
Démo :
<?php
$dir = "/tmp/php5";
// Ouvre un dossier bien connu, et liste tous les fichiers
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
echo "fichier : $file : type : " . filetype($dir . $file) . "\n";
}
closedir($dh);
}
}
?>
Mise en place du plugin :
- Installer automatiquement le plugin avec le .pkg.gz ou manuellement avec le .tar.gz
- Copier le code suivant dans le _head.html du thème:
tpl:include src="_dcgeshi.html"
Les changements de versions
*Correction de la class geshi principal *Ajout d'une feuille de style *Ajout d'icônes pour l'affichage du code * package-autoinstall : pkg.gz * package: tar.gz



clics



Blue Silence
Blue_Stars
clashdesign
Green Php
Natural abstr
Photoblog
standard
Theme Fashion

Commentaires
Salut, merci pour la correction de l'extension!
J'ai quelques questions concernant son utilisation:
- Quelle est la syntaxe à utilisé dans l'écriture de l'article pour mettre le code au bon format ?
- Doit-on obligatoirement être au format wiki pour le faire fonctionner, sinon, quel est la syntaxe pour mettre le fragment de code au bon format ?
- Est-il possible d'avoir un exemple d'utilisation plus détaillé ?
Merci d'avance.
oui tu peux faire comme suit seulement en wiki:
///
[php]
<?php
$dir = "/tmp/php5";
// Ouvre un dossier bien connu, et liste tous les fichiers
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
echo "fichier : $file : type : " . filetype($dir . $file) . "\n";
}
closedir($dh);
}
}
?>
///
Pour plus de faciliter tu clique sur le bouton "pre" et tu indique simplement le langage comme dans mon exemple
Bonsoir, j'ai découvert ce plugin il y a une petite semaine et je me rend compte qu'il y a un stress...
en effet, ce plugin ne se base que sur une feuille de style pré générée... je voulais travailler avec le langage Bash mais le style ne me plaisait pas... J'ai ma petite idée sur la modification à effectuer dans la feuille de style mais je voulais savoir si vous connaissiez un moyen de faire appel à ce fameux générateur de code css depuis votre plugin pour regénérer cette css avec des langages supplémentaires
merci d'avance
je peux implémenter une fonction pour éditer la feuille de style directement dans l'administration.
.
Si bien entendu cela vous intéresse
Je travail déjà sur cette fonction qui ne saurai tarder histoire de quelque jours.
Sinon en attendant éditer manuellement le fichiers css se trouvant dans le dossier du plugin
slt
je viens de voir ton post sur dcGeshi et je suis en train de l'installer. Comme ca fait pas longtemps que j'ai ouvert mon blog je connais pas encore tout sur dotClear, ma question peut paraitre bete
je trouve pas le _head.html du theme il s'agit bien de dotclear v1,... dans ton exemple ???
Merci d'avance
non il est conçu pour dotclear 2 uniquement
Salut,
je commence à préparer ma migration vers dc2. J'utilise la dernière svn de DC2beta7 et je ne comprends pas pourquoi la coloration ne fonctionne pas.
le plugin est correctement installé, la bout de code bien ajoutée dans le _head.html du thème... rien à faire, voir ici http://dc2.oum.fr/post/2007/02/25/8...
merci pour toute aide
J'ai regarder la source de votre page et je constate que la balise html "pre" est utilisé hors c'est la balise "code" qui doit être utilisé.

bah je fais comme indiqué dans le commentaire n°2 :/
et d'ailleurs avec la syntaxe wiki de code j'ai pire o.O...
je comprends rien là
et en fait si je fais la même chose avec la version DC1 ça marche nickel http://www.oum.fr/2007/02/25/89-tes... ... mais pas sur dc2
J'ai regardé votre source et essayé donc en utilisant mon modèle.
Copié collé le pour voir car j'ai vu une balise "< pre>" alors qu'il faut "code" et j'ai vu aussi @@ ?
Comme ceci:
///
[css]
#top {
position: relative;
height: 130px;
width: 800px;
padding: 0;
margin: 50px auto 0 auto;
background: transparent url(img/page-t.png) no-repeat bottom left;
}
///
bah oui je sais qu'il faut code au lieu de pre.... mais dans dc2 ///.../// = <pre>, pas de ma faute à moi ^^
Les @@...@@ c'est justement la syntaxe wiki pour <code> mais c'est pas au point j'ai l'impression
en tout cas sous mon dc1 c'est <pre> qui est utilisé pour coroler le code
avec /// : http://dc2.oum.fr/post/2008/02/23/t...
avec <code> en corrigeant manuellement en xhtml, c'est déjà mieux, mais pas de colorisation :
http://dc2.oum.fr/post/2008/02/23/t...
C'est curieux il n'ajoute pas les balises adéquate
Tester le plugin en local pour voir si vous avez le même bug.
Au fait ou êtes vous héberger ?
chez OVH, Php 5.2.5, MySQL v 5.0.44
autant pour moi, après une réinstallation au propre de dc2 ça marche, désolé
et j'ai crié victoire trop vite, depuis quelques minutes sans avoir rien changé, ça ne marche plus o.O
bon j'ai trouvé un bout du problème : dcgeshi ne fonctionne plus quand j'active les url de tracbacks jetables avec le plugin Rétrocontrôle... mais c'est bizarre puisqu'apparemment ça marche chez toi, tu as fait un modif spéciale quelque part ?
Aussi, maintenant que ça fonctionne, j'ai cette erreur sur la page : Strict Standards: is_a(): Deprecated. Please use the instanceof operator in /***/***/***/***/plugins/dcGeshi/geshi/css.php on line 204
il y as sûrement un conflit avec un autre plugin.
Ou alors un problème avec l'install de celui-ci.
en retirant tout les plugins tiers, puis en réinstallant dcgeshi, puis retrocontrol, j'obtiens le même résultat : pas de colorisation syntaxique quand les adresses jetables de retroliens sont activées :|
chez OVH, Php 5.2.5, MySQL v 5.0.44
Dotcleat 2b7 svn 1664, dcGeshi 0.3, Retrocontrol 2.1.2
Je vais tester pour voir d'oû cela peux provenir, si c'est retrocontrol qui exécute le conflit je préviendrai son auteur.
Si j'ai le moindre correctif je vous l'enverrai immédiatement
merci
Bonjour,
j'ai soumis le problème à l'auteur de Retrocontrol sur le code.google dcplugins, il a effectivement apporter une correction qui fonctionne, cela va sans doute t'intéresser : http://code.google.com/p/dcplugins/...
Salut,
très bon et c'est ce plugin que j'utilise, il y a aussi http://www.code-web.org/post/2008/0...
Comme ça ne fonctionne pas en mode xhtml et que j'avais la flemme de remettre en forme tous mes posts, j'ai trouvé le palliatif à moindre coût suivant :
partant du principe que vous possédez une plateforme de développement (i.e. un blog de dév local où vous testez les extensions par exemple, votre bac à sable en quelque sorte), vous créez un billet au format wiki et vous y collez le code que vous voulez coloriser. Vous le visualisez (dans le site et pas en mode prévisu!) et vous copier le rendu. Vous pouvez ensuite coller ce rendu dans votre billet xhtml...
Bon, c'est pas le plus élégant, mais c'est assez rapide.
cfab