Voici mon premier plugin MooTools ! Il permet de formater très simplement les portions de code présentées au travers de ce blog. Son rôle est de mettre en forme dynamiquement les éléments qui contiennent des extraits de code. Prenons comme exemple la balise <code> dans laquelle se trouve un exemple de code PHP en texte brut.
<code>
<?php
function sayHello() {
echo 'Hello, world !';
}
?>
</code>
<?php function sayHello() { echo 'Hello, world !'; } ?>
Pour mettre le plugin en place, il suffit de spécifier qu'au chargement de la page, la transformation devra s'appliquer à tous les éléments <code>. Bien évidemment, il est possible d'effectuer des sélections plus complexes grâce aux sélecteurs de MooTools.
<script type="text/javascript"> window.addEvent('domready', function(){ new MooCode().applyTo($$('code')); }); </script>
Et le tour est joué !
Vous connaissez peut-être déjà MooRainbow, ce bien joli plugin MooTools mettant à notre disposition une palette de sélection de couleur fort bien conçue. Et pour cause, son auteur (Djamil Legato) n'est autre qu'un des développeurs officiels de MooTools ! Malheureusement, par manque de temps, le projet est resté en stand by et la dernière version disponible n'est pas compatible à 100% avec la version 1.2 finale de MooTools. Voici donc mon humble contribution au projet : une mise à jour mineure du plugin qui corrige ce léger problème de compatibilité : mooRainbow.1.2b2-gw.js
$('myForm').addEvent('submit', function(e) { new Event(e).stop(); this.send({ update: $('ajax_response') }); });Depuis MooTools 1.2, à moins que je n'ai loupé une étape, il est nécessaire de passer par un objet Request qu'il faut initialiser soi-même pour reproduire le même comportement.
$('myForm').addEvent('submit', function(e) { new Event(e).stop(); new Request({ method: this.method, url: this.action, onSuccess: function(responseText, responseXML) { $('ajax_response').setHTML(responseText); } }).send(this.toQueryString()); });
J'ai ainsi créé un modeste petit service qui vous permet d'intégrer cette protection dans les pages de votre site / blog avec une grande simplicité et de manière totalement transparente grâce aux possibilités de personnalisation.