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 deux[1]. 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.
- 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 :
- 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)
- 2e niveau =
##
,#*
,*#
ou**
+ ”élément de liste’” (DC),<4 espaces ou une tabulation>
+1.
ou*
(MD)
Divers :
- Trait horizontal :
----
(DC et MD)
- Texte pré-formatté =
<espace>
+ texte (DC),<4 espaces ou une tabulation>
+ texte (MD)
- Bloc de citation =
>
+ texte (DC et MD)
Bloc HTML (sera interprété) :
///html code HTML
(DC)
code HTML
(MD)
Marqueurs de fin de ligne :
- 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 :
- Emphase =
''
+ texte +''
(DC),*
+ texte +*
(MD) - Forte emphase =
__
+ texte +__
(DC et MD)
- 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>
.
- Lien =
[
+ 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).
- Image =
((
+ url +|
+ texte alternatif +))
(DC),
(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 : 
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).
- Ancre =
~
+ 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.
- Acronyme =
??
+ acronyme +|
+ titre +??
(DC),*[
+ acronyme +]:
+ titre (en fin de contenu, toutes les occurrences de l’acronyme seront remplacées dans le texte, MDE).
- Citation =
{{
+ 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.
- 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)
- Code HTML (sera interprété) =
``
+ code HTML +``
(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.
Note
[1] Je ne retiens ici que ce qui existe dans la syntaxe Wiki Dotclear.
1 De Kozlika -
Si si, il suffit de faire se succéder deux "pipes" :
Pour mon lien.
2 De ZeuBeuBeu -
Les deux syntaxes se valent, juste que je commence à utiliser le MD pour bien d'autres logiciels donc en bon sudiste feignasseuh et cong je pense à terme n'utiliser que celle-ci, no offense :D
3 De Kozlika -
Pareil pour les autres bidules du même tonneau comme fournir le titre d'image sans indiquer de position.
4 De Franck -
Kozlika, effectivement, j'avais oublié cette possibilité. Je vais corriger mon billet en tenant compte de ça.
ZeuBeuBeu, il n'est bon geek que geek feignant, moi le preums ;-)
5 De antoine -
Je me permets une correction : il est possible de faire des citations dans Markdown, tout simplement en commençant une ligne par > (voir http://michelf.ca/projets/php-markd...).
Par contre je ne comprends pas bien l'intérêt de mentionner la langue d'un lien... Pour qui cette information est-elle destinée ? Lorsque je *passe* sur le lien avec mon pointeur ou via le clavier je n'ai aucune information. Est-ce dans un souci d'accessibilité ? Ne serait-il pas plus simple de faire apparaître cette information *en clair* ? (voir http://www.24joursdeweb.fr/2013/att...)
Et effectivement Markdown est une syntaxe intéressante parce qu'elle peut être utilisée — presque — partout ! Et on s'y fait très vite (et on ne revient plus en arrière) !
6 De Franck -
antoine, oui Markdown et Dotclear utilisent tous les deux
>
pour les citations ce qui sera traduit par l'utilisation d'une balise<blockquote>
. Par contre pour les citations en ligne (dans le corps d'une phrase) rien n'est pas prévu par Markdown contrairement à Dotclear.En ce qui concerne la langue d'une ressource pointée par un lien, oui c'est une bonne pratique et effectivement l'afficher en clair si elle est différente de la langue du contenu est une bonne chose. C'était le cas avec l'ancien thème en œuvre ici (Ductile) et ce le sera prochainement avec ce nouveau thème (Currywurst) en cours d'élaboration.
7 De antoine -
J'ai du mal à comprendre ce que tu appelles les citations "dans le corps d'une phrase"... Quoi qu'il en soit le thème actuel et celui en chantier sont de très belles factures !
8 De Franck -
Les citations dans le corps d’une phrase sont encadrées par une balise
<q>…</q>
.Merci pour l’appréciation, je trouve aussi :-)
9 De antoine -
D'accord je comprends mieux ! Et je ne connaissais pas cette balise <q> ! Ça me rappelle les interrogations de Karl : http://www.la-grange.net/2011/01/06...