Markdown vs Wiki Dotclear

Prologue

Il serait par exemple intéressant que je refasse ce billet en utilisant la syntaxe Markdown plutôt que le Wiki Dotclear, et que je vois si je peux “mieux” présenter cette comparaison qu’actuellement.

Franck Paul, Wiki Dotclear vs Markdown

C’est ce que j’entreprends avec ce billet qui reprend l’intégralité du billet (initialement publié le 23 décembre 2013) cité ci-dessous, en utilisant a priori des tableaux là où ce sera pertinent.



Wiki Dotclear vs Markdown

Les deux syntaxes wiki, Dotclear et Markdown, sont disponibles pour écrire les billets (et les pages, commentaires, …). La première syntaxe est intégrée depuis quasiment le début de Dotclear 1, la seconde est utilisable en installant le plugin idoine.

Ça fait un moment déjà que j’envisage de basculer sur Markdown parce que certaines applications tierces proposent cette syntaxe et me permettrait ainsi de faire un simple copié-collé pour alimenter ce blog. Par contre, ce qui me retient encore est que je ne sais si toutes les possibilités offertes par la syntaxe Wiki Dotclear sont également proposées par Markdown.

Alors voilà une sorte de table de correspondance entre les deux1. J’indiquerai (DC) quand il s’agira de la syntaxe Wiki Dotclear et (MD) pour Markdown (MDE quand ce sera uniquement dans l’extension Extra de Michel Fortin implémentée dans le plugin). D’autre part, quand plusieurs syntaxes sont proposées par Markdown pour un balisage, j’indiquerai la syntaxe la plus proche de Dotclear.

Marqueurs de début de ligne :

Titres :

Les niveaux 1 et 2 sont historiquement réservés au titre du blog et au titre du billet.

Type Dotclear Markdown
Niveau 3 !!! + Titre (DC) ### + Titre (MD)
Niveau 4 !! + Titre (DC) #### + Titre (MD)
Niveau 5 ! + Titre (DC) ##### + Titre (MD)

Vous noterez l’inversion du nombre de symboles utilisés (décroissant pour Dotclear, croissant pour Markdown).

Listes :

Type Dotclear Markdown
Numérotées # + élément de liste (DC) 1. + élément de liste (MD)
Non numérotées * + élément de liste (DC et MD) idem
2e niveau ##, #*, *# ou ** + élément de liste (DC) <4 espaces ou une tabulation> + 1. ou * (MD)

Divers :

Type Dotclear Markdown
Trait horizontal ---- (DC et MD) idem
Texte pré-formatté <espace> + texte (DC) <4 espaces ou une tabulation> + texte (MD)
Bloc de citation > + texte (DC et MD) idem

Bloc HTML (sera interprété) :

///html
code HTML
///

(DC)

code HTML

(MD)

Marqueurs de fin de ligne :

Type Dotclear Markdown
Retour à la ligne %%% (DC) <2 espaces ou plus> (MD)

Une ligne vide termine un bloc (paragraphe, liste, …), dans les deux syntaxes (DC et MD)

Marqueurs indépendants de la position :

Type Dotclear Markdown
Emphase '' + texte + '' (DC) * + texte + * (MD)
Forte emphase __ + texte + __ (DC et MD) idem
Insertion ++ + texte + ++ (DC) pas d’équivalence (MD)
Suppression -- + texte + -- (DC) pas d’équivalence (MD)

Pour l’insertion et la suppression, Markdown impose l’usage des balises HTML <ins> et <del>.

Liens :

Dotclear Markdown
[ + url + ] (DC) < + url + > (MD)
[ + nom + | + url + ] (DC) [ + nom + ]( + url + ) (MD)
[ + nom + | + url + | + langue + ] (DC) pas d’équivalence (MD)
[ + nom + | + url + | + langue + | + titre + ] (DC) pas d’équivalence (MD)

La mention de la langue n’est pas possible avec Markdown sans passer par les balises HTML <a…/>. Par contre l’ajout d’un titre est possible : [ + nom + ]( + url + " + titre + ") et n’a pas d’équivalence dans Dotclear sans ajouter également la langue ; dans Dotclear il suffit de ne pas préciser la langue entre les deux | (correction effectuée ce jour à 18h).

Images :
Dotclear Markdown
(( + url + | + texte alternatif + )) (DC) ![ + texte alternatif + ]( + url + ) (MD)
(( + url + | + texte alternatif + | + position (L/G,C,R/D) + )) (DC) pas d’équivalence (MD)
(( + url + | + texte alternatif + | + position + | + titre + )) (DC) pas d’équivalence (MD)

La mention de la position n’est pas possible avec Markdown sans passer par les balises HTML/CSS <img … />. Par contre l’ajout d’un titre est possible : ![ + nom + ]( + url + " + titre + ") et n’a pas d’équivalence dans Dotclear sans ajouter également la position ; dans Dotclear il suffit de ne pas préciser la position entre les deux | (correction effectuée ce jour à 18h).

Ancres :
Dotclear Markdown
~ + ancre + ~ (DC) pas d’équivalence (MD)

Markdown impose l’usage de la balise <a name="ancre"></a> pour l’insertion d’une ancre au sein du contenu.

Acronymes :
Dotclear Markdown
?? + acronyme + | + titre + ?? (DC) *[ + acronyme + ]: + titre (en fin de contenu, toutes les occurrences de l’acronyme seront remplacées dans le texte, MDE).
Citation :
Dotclear Markdown
{{ + citation + }} (DC) pas d’équivalence (MD)
{{ + citation + | + langue + }} (DC) pas d’équivalence (MD)
{{ + citation + | + langue + | + url + }} (DC) pas d’équivalence (MD)

Markdown impose l’usage de la balise <q> pour l’insertion de citation en ligne.

Autres :
Élément Dotclear Markdown
Code @@ + code + @@ (DC) \`` + *code* +`` (MD)
Note $$ + corps de la note + $$ (DC) [^ + refnote + ] dans le texte et [^ + refnote + ]: + corps de la note (en fin de contenu, MDE)
Littéral \ + caractère (DC et MD) idem
Code HTML (sera interprété) </code> + code HTML + <code> (DC) code HTML (MD)

Conclusion

De mon point de vue et sans tenir compte des possibilités supplémentaires de Markdown par rapport à la syntaxe Wiki Dotclear (tables, listes de définition, gestion des éléments indentés, listes dont les éléments peuvent contenir plusieurs paragraphes, …) le manque le plus flagrant est l’absence de prise en compte de la langue pour les liens, qui peut assez souvent être différente de la langue du contenu (je rédige en français et moult ressources liées sont en anglais), ce qui m’obligerait à basculer sur la représentation HTML de la balise.

Idem pour les citations en ligne, que j’utilise assez régulièrement, qui sont complètement absentes et imposent l’usage de la balise HTML correspondante.

Après avoir fait cette comparaison (certes incomplète du point de vue de Markdown et de son extension Extra) il apparaît que le choix de la syntaxe pourrait essentiellement dépendre du type de contenu à éditer. Markdown m’apparaît plus ”geek” à l’usage que le Wiki Dotclear, mais c’est peut-être qu’après plusieurs milliers de billets écrits avec cette dernière syntaxe, j’en connais parfaitement les possibilités et les limites.

Il serait par exemple intéressant que je refasse ce billet en utilisant la syntaxe Markdown plutôt que le Wiki Dotclear, et que je vois si je peux “mieux” présenter cette comparaison qu’actuellement.



Épilogue

Markdown apporte quelques raffinements qui peuvent être les bienvenus, comme la possibilité de concevoir rapidement et facilement des tableaux, ou des listes de définition ; et son avantage indéniable est la facilité avec laquelle vous intégrez du HTML, justement, au sein du contenu.

Je n’ai quasiment pas été gêné pendant la conversion du Wiki Dotclear vers Markdown pour transformer le contenu du billet original.

Comme je le précisais dans mon premier billet (voir la conclusion reproduite ci-dessus), le manque le plus flagrant, compte tenu évidemment de ce que je publie d’habitude, est l’impossibilité de préciser la langue d’une ressource sans passer par le balisage HTML.

Autre petit inconvénient, l’utilisateur est tenu de fournir des références de note unique avec Markdown alors que le Wiki Dotclear gère ça tout seul. Cela dit c’est à double-sens puisque une même note peut être utilisée à plusieurs endroits dans le texte sans être obligé de la dupliquer.

L’idéal, je pense, serait de compléter Markdown avec les deux trois bricoles que j’utilise (citation en ligne, langue pour les liens, insertion, suppression), on obtiendrait ainsi quelque chose d’assez proche de la perfection2.


  1. Je ne retiens ici que ce qui existe dans la syntaxe Wiki Dotclear. 

  2. Je n’ai pas mentionné le positionnement des images, possible facilement avec Dotclear, parce qu’à mon sens on sort de la sémantique du contenu et je ne pense pas que la syntaxe wiki (quelle qu’elle soit) ait à se préoccuper de présentation, bien que ce soit fichtrement pratique. 

Votre commentaire a été publié.

Ajouter un commentaire

Les champs suivis d'un * sont obligatoires

Les commentaires peuvent être formatés en utilisant la syntaxe Markdown Extra.

Ajouter un rétrolien

URL de rétrolien : https://open-time.net/trackback/10311

Haut de page