Pour les zéros et autres personnes venant du SdZ dans l’intention de jeter un coup d’œil à mdown, j’ai écrit ce petit comparatif rapide. Il va de soi qu’étant donné que je suis l’auteur de mdown, ce comparatif est biaisé.
Vous trouverez ci-dessous deux sections ; la première liste le pour et le contre de chacune des deux solutions, tandis que la deuxième offre une petite table d’équivalence des syntaxes.
| ZCode | mdown | |
| Type | proche du XML | proche du texte naturel |
| Marquage | balises XML | ponctuation |
| Support | Site du Zéro | SdZ, XHTML, LaTeX |
| Interface | web | console |
Vous ne savez pas (ou ne voulez pas) vous servir d’un utilitaire en mode console. Dans le premier cas, vous pourriez apprendre mais je doute que vous en ayez l’envie juste pour mdown.
Vous préfèrez composer vos textes dans un formulaire web tel que la zForm plutôt qu’un éditeur de texte externe. C’est un choix tout à fait raisonnable pour les écrits courts, notamment, bien que je croie sincèrement que, pour un tutoriel ou pour une news, vous avez tout autant intérêt à garder une copie locale sur votre machine, et l’éditer à partir de là, pour en garder une trace chez vous et ne pas dépendre des aléas de disponibilité du serveur.
Vous êtes plus à l’aise avec la syntaxe du ZCode, ressemblant à du XML. C’est une opinion que je ne partage pas, mais que je peux comprendre. Cependant, je persiste dans l’idée que mdown n’est pas plus difficile à apprendre que le ZCode ou un autre langage de rédaction.
Vous trouvez le ZCode trop long à écrire sans la zForm et vous n’avez aucune envie de vous servir de votre souris pour cliquer sur les boutons. La syntaxe de mdown, inspirée des langages de rédaction légers et des conventions utilisées lors de la mise en forme de documents en format texte pur, est facile à écrire.
Vous voulez avoir un fichier de travail clair et bien présenté en texte brut. Les langages basés sur XML sont réputés simples pour les machines, mais ne sont pas si agréables à lire pour les humains. mdown, de par sa syntaxe légère vous permet de travailler avec un langage facile à lire.
Vous voulez vous abstraire du ZCode, pour par exemple publier votre travail sur votre propre site. Avez mdown, vous pouvez générer du XHTML valide et sémantique ou même du XML brut. De plus mdown est libre (licence BSD).
Ceci n’est qu’un rapide comparatif de la syntaxe du ZCode et de mdown. Pour un tour d’horizon plus complet du langage mdown, je vous invite à consulter le tutoriel. Le tableau qui suit n’est pas suffisant pour apprendre mdown, mais peut vous servir d’aide-mémoire si vous êtes habitué au ZCode ou recherchez une équivalence.
Dans les extraits ci-dessous, le caractère '␣' indique une espace
importante, sans laquelle le sens du code changerait !
| ZCode | mdown |
<gras>texte</gras> | *texte* (forte emphase)
|
<italique>texte</italique> | /texte/ (emphase)
|
<image legende="légende">url</image> | [légende](!url)
|
<lien url="url">texte</lien> | [texte](url)
|
<lien type="wikipedia" url="art">texte</lien> | [texte](wpfr:art)
|
<lien type="wikipedia" url="art" langue="en">texte</lien> |
[texte](wpen:art)
|
<acronyme valeur="nom">XYZ</acronyme> | .XYZ.(nom)
|
<liste>
<puce>Puce 1</puce>
<puce>Puce 2
Puce 2 (suite)</puce>
<puce>Puce 3</puce>
</liste>
-␣Puce 1
-␣Puce 2
␣␣Puce 2 (suite)
-␣Puce 3
<liste type="1">
<puce>Puce 1</puce>
<puce>Puce 2
Puce 2 (suite)</puce>
<puce>Puce 3</puce>
</liste>
1.␣Puce 1
2.␣Puce 2
␣␣Puce 2 (suite)
3.␣Puce 3
<liste>
<puce><gras>Terme 1</gras>
Contenu 1</puce>
<puce><gras>Terme 2</gras>
Contenu 2
Contenu 2 (suite)</puce>
</liste>
: Terme 1 : Contenu 1
: Terme 2 : Contenu 2
␣␣Contenu 2 (suite)
Par rapport au ZCode, mdown ne supporte que les tableaux simples : vous ne pouvez placer que du texte et des balises de texte à l’intérieur d’une cellule.
<tableau>
<ligne>
<cellule>Cellule 1</cellule>
<cellule>Cellule 2</cellule>
<cellule>Cellule 3</cellule>
</ligne>
<ligne>
<cellule>Cellule 4</cellule>
<cellule>Cellule 5</cellule>
<cellule>Cellule 6</cellule>
</ligne>
</citation>
| Cellule 1 | Cellule 2 | Cellule 3
| Cellule 4 | Cellule 5 | Cellule 6
<citation>
Texte cité
Texte cité (suite)
</citation>
>␣Texte cité
>␣Texte cité (suite)
<code>
Code
Code (suite)
</code>
␣␣Code
␣␣Code (suite)
Contrairement au ZCode, mdown ne supporte pas de paramètres aux différents blocs ; cela signifie que vous ne pouvez pas avoir accès directement à la coloration syntaxique ou intégrer un nom d’auteur à une citation.
Pour toutes ces balises, la syntaxe est la même en ZCode et se traduit de la même manière en mdown. Remplacez le nom de la balise ZCode par le nom de l’environnement correspondant en mdown.
Version ZCode :
<balise>
...
</balise>
Version mdown :
# balise
␣␣...
La table de correspondance est la suivante :
| ZCode | mdown |
| secret | secret |
| information | information |
| erreur | erreur |
| question | question |
Et voici un exemple pour la route :
<secret>
Mon secret
</secret>
# secret
␣␣Mon secret
mdown n’accepte que trois types de positionnements, lorsqu’il est traduit en ZCode : le centrage et les flottements à gauche et droite.
<position valeur="centre">
...
</position>
# centre
␣␣...
<flottant valeur="gauche">
...
</flottant>
# flottantgauche
␣␣...
<flottant valeur="droite">
...
</flottant>
# flottantdroit
␣␣...
Les titres en mdown ont une syntaxe analogue aux listes, excepté que
le tiret est remplacé des signes '='. Il y en a autant que le niveau
de profondeur du titre. mdown supporte les titres de niveau 1 à 5, en
utilisant les balises <titre1> et <titre2> du ZCode pour les deux
premiers, et en émulant les autres.
<titre2>Titre
Titre (suite)</titre2>
== Titre
␣␣Titre (suite)