Markdown, un plugin WordPress pour produire du XHTML facilement, rapidement et proprement

Markdown est un convertisseur qui transforme du texte « brut » en code XHTML. C’est une alternative aux éditeurs WYSIWYG qui ne s’adaptent pas forcément à tous les besoins. Markdown vous permettra de rédiger des textes en utilisant un format de balisage de texte simple à écrire et à lire, puis à le convertir en code XHTML (ou HTML en option) structurellement valide. A première vue, la syntaxe utilisée est très proche de celle que vous utilisez peut-être si vous rédigez sur des wikis. A première vue, car Markdown est bien plus puissant, surtout si l’on utilise PHP-Markdown Extra

Markdown, comment ça marche ?

La création d’un paragraphe se fait simplement en sautant une ligne. Pour créer une liste ordonnée ol, il suffit de commencer une liste comme suit :

1. Premier élément de liste
2. Deuxième élément de liste
3. Troisième élément de liste, etc.

Pour les listes non-ordonnées ul, il suffit de remplacer les chiffres par les symboles -, * ou + au choix :

- Premier élément de liste
- Deuxième élément de liste
- Troisième élément de liste, etc.

Vous me direz, oui, mais avec l’éditeur WYSIWYG de WordPress, il suffit de cliquer sur l’icône prévue dans l’éditeur pour arriver au même résultat… Certes, mais l’intérêt de Markdown est d’autoriser certaines imbrications de balises difficiles à obtenir avec un éditeur WYSIWYG, comme avoir des paragraphes p ou des citations blockquotes à l’intérieur des éléments de listes li :

- Premier élément de liste

- Deuxième élément de liste

- Troisième élément de liste, etc.

Le fait de sauter une ligne à chaque entrée de liste créera donc une balise p à l’intérieur des balises li, ce qui peut-être utile. Si vous désirez tester Markdown sans pour autant faire une installation, vous pouvez vous entrainer en ligne.

Les plus 🙂

La documentation sur la syntaxe est complète et on s’aperçoit que la complexité apparente de certaines combinaisons n’est que l’expression de la souplesse de Markdown qui propose souvent plusieurs façons pour parvenir au même but.

Cerise sur le gâteau, le script Markdown s’installe aussi comme plugin pour WordPress et peut à première vue être utilisé en même temps que l’éditeur visuel (à tester en profondeur quand même).

Les moins 🙁

Les listes de définition que j’utilise régulièrement ne sont pas prises en charge. Toutefois, le fait de pouvoir mélanger la syntaxe Markdown et le XHTML rend cet inconvénient moins critique.

Par ailleurs — et ça sera certainement un détail pour beaucoup de monde — mon enthousiasme est freiné par le fait que tout texte commençant par le symbole # devient un niveau de titre h1 et entre en collision avec mes nombreux exemples de feuilles de style CSS qui font la part belle à ce même symbole pour qualifier les identifiants. Mais encore une fois, la souplesse de Markdown permet d’utiliser le symbole backslash pour « échapper » les caractères « gênants ».

Markdown reloaded avec PHP Markdown Extra

S’il est possible d’utiliser du HTML à côté de la syntaxe Markdown, il n’est pas possible d’intercaler du code HTML pour formater du texte placé dans une balise div, par exemple. Heureusement, Michel Fortin a eu la bonne idée de commettre PHP Markdown Extra qui ajoute une palanquée de fonctionnalités au script d’origine :

  • Listes de définition,
  • Attribut id dans les titres pour faciliter la création de d’ancres internes,
  • Syntaxe pour créer des tableaux HTML très facilement,
  • Création aisée de notes de bas de page,
  • Support pour la création d’abréviation (abbr),
  • Etc.

En prime, vous trouverez la traduction française de la documentation de la syntaxe Markdown, ce qui vous permettra de gagner du temps !

Pour conclure

Markdown est une solution très intéressante pour ceux qui veulent garder une certaine maitrise sur le code XHTML de leurs billets et/ou permettre aux commentateurs d’enrichir leurs contributions (une option permet de désactiver le parsing des commentaires), sans qui soit nécessaire d’être geek pour celà : avec un effort de formation minimum et un peu de bonne volonté, je pense que le grand public peut s’approprier cet outil. Pour ma part, le temps de tester PHP Markdown Extra plus avant et de modifier mes exemples CSS, et je n’utilise que ça 😉