PHP Markdown Lib
Il est rendu l’heure pour PHP Markdown de devenir une librairie PHP bien encapsulé plutôt qu’un petit fichier qui tente de faire tout pour tout le monde.
Aujourd’hui, j’annonce la branche Lib de PHP Markdown. Elle contient les deux mêmes parseurs que l’on trouve dans PHP Markdown et PHP Markdown Extra, mais sans tout l’enrobage. C’est un paquet fait pour être une librairie, et seulement une librairie. Les deux parseurs sont placées dans l’espace de nom Michelf :
\Michelf\Markdown
\Michelf\MarkdownExtra
Oui, un espace de nom, donc ça prend PHP 5.3 ou plus récent.
La branche Lib est compatible PSR-0 pour permettre le chargement automatique des classes de parseur. C’est aussi un paquet Composer maintenant, disponible sur Packagist.
Trois branches
Donc présentement nous avons trois branches de PHP Markdown. Voici une sommaire de chacune :
- PHP Markdown
- La version originale de PHP Markdown est celle qui implémente la
syntaxe Markdown tel que définie sur Daring Fireball (voir
traduction ici). Ça inclus une fonction globale
Markdown
, une classe pour le parser, ainsi que diverses interfaces pour s’intégrer à Wordpress, Smarty, ou pour remplacer un parseur Textile. - PHP Markdown Extra
- La branche Extra s’est ajouté il y a longtemps maintenant pour ajouter des fonctions à la syntaxe de base de Markdown. Une classe dérivée du parseur de PHP Markdown implémente les fonctions supplémentaires, et le tout est emballé exactement de la même façon dans un seul fichier les mêmes interfaces de plugin.
- PHP Markdown Lib
- La branche Lib est une nouvelle branche contenant une libraire PHP moderne qui peut s’intégrer à plusieurs choses. Contrairement aux deux autres, cette branche ne contient aucun code de plugin. Elle nécessite PHP 5.3 ou plus récent.
PHP Markdown Lib débute à la version 1.3. J’ai pensé à débuter à 1.0, mais faire ça rendrait certain rapports de bogues plus difficile à interpréter (ce n’est pas tout le monde qui sait quelle branche ils utilisent). Voilà pourquoi le numéro de version est différent.
La suite des choses
L’année prochaine, en 2014, seule la branche Lib continua d’être mise à jour.
PHP Markdown et de PHP Markdown Extra continuront d’être accessibles sur la page de la version classique, mais à partir de l’année prochaine les mise à jour incluant les correctifs de bogues et les nouvelles fonctions du parseur Extra iront exclusivement à la nouvelle branche Lib.
Si comme beaucoup d’entre vous vous utilisez PHP Markdown en tant que plugin Wordpress, vous pouvez toujours l’utiliser, elle n’arrêtera pas de fonctionner du jour au lendemain. La réalité cependant est que je n’ai pas le temps d’améliorer les choses au fur et à mesure que Wordpress évolue. Avec le temps qui passe, beaucoup d’autre plugins basé sur PHP Markdown ayant une meilleure intégration sont apparut. Je n’ai pas de recommandation à faire pour l’instant, mais si vous avez des suggestions à faire ne vous gênez pas me les faire parvenir, j’écrirai peut-être quelque chose à ce sujet dans les mois qui suivent.
Laisser derrière les versions de PHP plus anciennes me permettra de simplifier la maintenance et aussi d’utiliser de nouvelles fonctions du langage dans le code. En se débarrassant du code de support pour Wordpress, la branche Lib me permettra de me préoccuper davantage des choses reliés au traitement de la syntaxe.
C’est le temps pour PHP Markdown de devenir une libraire PHP en bon et dû forme au lieu de l’hybride qu’il a été dans son enfance. À compter d’aujourd’hui, la version Lib prend la vedette sur la nouvelle page de PHP Markdown. Faites-moi part de vos questions si vous en avez.