PHP Markdown
Faire un donTéléchargement
Librarie : pour développeurs
-
PHP Markdown Lib 1.3 (31 Ko)
- Librarie PHP Markdown pour développement. Requiert PHP 5.3. Aussi disponible sur Packagist et sur Github. Le 11 avril 2013.
Version classique : plugin pour WordPress, Smarty, etc.
Version classique → PHP Markdown et PHP Markdown Extra- Annonce importante : la version classique de PHP Markdown et PHP Markdown Extra cessera d’être supporté à partir du 1 février 2014. Cela ne l’empêchera pas de continuer à fonctionner, mais à partir de cette date les nouvelles améliorations iront exclusivement à la version Lib ci-haut.
Introduction
PHP Markdown est une conversion en PHP de l’outil Markdown de John Gruber.
Markdown, c’est deux choses : c’est une syntaxe qui vous permet d’écrire de façon naturelle en format texte ; c’est aussi un logiciel qui permet de convertir du texte écrit selon la syntaxe Markdown en code HTML pour la publication sur un site web.
La syntaxe Markdown vous permet d’écrire naturellement du texte et de lui donner un certain format sans avoir à utiliser de balise HTML. Plus important encore : en format Markdown, votre texte reste agréable à lire pour un être humain, et c’est suffisamment vrai pour qu’un document écrit avec Markdown puisse être publié textuellement, sans modification. Si vous utilisez le courrier électronique en mode texte, vous connaissez déjà certaines parties de la syntaxe.
Visitez la page Concepts pour une courte introduction remplie d’exemples qui vous apprendra à écrire avec Markdown. Si vous connaissez bien le HTML, vous pouvez aussi consulter la syntaxe complète qui explique en détail l’opération de conversion du texte vers le HTML.
Configuration requise
PHP Markdown Lib nécessite la version 5.3 ou plus récente de PHP.
Pour les version antérieures de PHP, vous pouvez utilisez la version classique.
Avant PHP 5.3.7, pcre.backtrack_limit était réglé par défaut à 100 000, ce qui est trop petit dans certaines circonstances. Vous deverez peut-être le changer pour une valeur plus élevé. Les dernières versions de PHP utilisent 1 000 000, ce qui est généralement suffisant.
Utilisation
Cette librarie est conçu pour être utilisé avec l’auto-chargement des classes.
Pour que l’auto-charchement fonctionne, votre projet doit avoir installé un
un auto-chargeur compatible avec PSR-0. Voir le fichier Readme.php pour une
installation minimale. (Si vous ne voulez pas utiliser l’autochargement, vous
pouvez toujours faire un classique require_once pour inclure manuellement
les fichiers.)
Avec l’auto-chargement des classes en place, placer le dossier « Michelf » dans votre chemin d’inclusion devrait être suffisant pour faire fonctionner ceci:
use \Michelf\Markdown;
$mon_html = Markdown::defaultTransform($mon_texte);
La syntaxe Markdown Extra est aussi disponible de la même façon:
use \Michelf\MarkdownExtra;
$mon_html = MarkdownExtra::defaultTransform($mon_texte);
Si vous désirez utiliser PHP Markdown avec un autre filtre conçu pour
travailler avec du HTML, vous devez filtrer le texte après l’appel à la
fonction transform. Voici un exemple utilisant PHP SmartyPants:
use \Michelf\Markdown, \Michelf\SmartyPants;
$mon_html = Markdown::defaultTransform($mon_texte);
$mon_html = SmartyPants::defaultTransform($mon_html);
Tous ces exemples utilisent la fonction statique defaultTransform qui se
trouve à l’intérieur de la classe du parseur. Si vous voulez personaliser la
configuration du parseur, vous pouvez aussi l’instancier directement et changer
certaines variables de configuration:
use \Michelf\MarkdownExtra;
$parser = new MarkdownExtra;
$parser->fn_id_prefix = "post22-";
$mon_html = $parser->transform($mon_texte);
Pour en savoir plus, consultez la liste complète des variables de configuration.
API public et politique de versionnement
Les numéros de version sont de la forme majeur.mineur.patch.
L’API public de PHP Markdown consiste en deux classes parseur Markdown et
MarkdownExtra, leur constructeurs, les fonctions transform et
defaultTransform ainsi que leurs variables de configuration. L’API public est
stable pour une version majeure donnée. Elle pourrait recevoir des additions
d’une version mineure à l’autre.
Les membres protégés ne sont pas considérés faire partie de l’API public. Ceci n’est pas conventionnel et mérite une explication. Incrémenter le numéro de version majeur à chaque changement donnerait des numéros de version insensés pour la vaste majorité de ceux qui ne font qu’utiliser le parseur. Les membres protégés sont là pour créer des sous-classes d’un parseur qui se comporte de façons différentes. Très peu de gens créent des sous-classes. Je ne veux pas décourager ceux qui veulent en faire en mettant tout privé, mais en même temps je ne peux garentir la stabilité de l’API entre les version pour les membres protégés.
Les changements à la syntaxe incrémenteront le numéro mineur pour les nouvelles fonctionalités, et le numéro patch pour les petites corrections. Une nouvelle fonctionalité est quelque chose qui nécéssite un chanemeng à la documentation de la syntaxe. Notez que puisque PHP Markdown Lib inclus deux parseurs, un changement à la syntaxe pour un seul d’entre eux incrémentera le à numéro mineur. Notez aussi qu’il n’y a rien de parfaitement rétrocompatible avec la syntaxe Markdown: toutes les entrés sont toujours valides, donc une nouvelle fonctionalité remplace toujours quelque chose qui était aupravant permis, même si cette chose ne faisait probablement pas trop de sens.
Bogues
Pour signaler un problème, contactez moi par courriel à cette adresse : michel.fortin@michelf.ca
Merci d’inclure : (1) un exemple du texte d’entrée ; (2) la sortie à laquelle vous vous attendiez ; (3) la sortie que PHP Markdown a produite.
Licence et droit d’auteur
PHP Markdown Lib
Copyright © 2004-2013 Michel Fortin
Tous droits réservés.
Markdown Original
Copyright © 2004-2006 John Gruber
Tous droits réservés.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
Neither the name “PHP Markdown” nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
This software is provided by the copyright holders and contributors “as is” and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall the copyright owner or contributors be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage.
