%title Comparatif mdown / ZCode %keywords projets/mdown/index %comment Comparaison de mdown et du ZCode. Spécialement pour les visiteurs du Site du Zéro ! %id $Id: compar-zcode.text,v 1.4 2008/05/04 15:15:40 minh Exp $ Pour les zéros et autres personnes venant du .SdZ. dans l'intention de jeter un coup d'œil à [mdown](a:index), 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. %tableofcontents = Pourquoi mdown ? [pourquoi] == Fiche technique [tech] |   | *ZCode* | *mdown* | Type | proche du XML | proche du texte naturel | Marquage | balises XML | ponctuation | Support | Site du Zéro | .SdZ., .XHTML., LaTeX | Interface | +web+(en) | console == Quelques raisons de ne pas utiliser mdown [contre] - 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+(en) 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. == Quelques raisons d'utiliser mdown [pour] - 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). = Équivalences de syntaxes [syn] 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](a:intro). 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 ! == Balises de texte [texte] | *ZCode* | *mdown* | `texte` | `*texte*` /(forte emphase)/ | `texte` | `/texte/` /(emphase)/ | `url` | `[légende](!url)` | `texte` | `[texte](url)` | `texte` | `[texte](wpfr:art)` | `texte` | `[texte](wpen:art)` | `XYZ` | `.XYZ.(nom)` == Listes [listes] # Exemple : Liste à puces en ZCode Puce 1 Puce 2 Puce 2 (suite) Puce 3 # Exemple : Liste à puces en mdown -␣Puce 1 -␣Puce 2 ␣␣Puce 2 (suite) -␣Puce 3 # Exemple : Liste numérotée en ZCode Puce 1 Puce 2 Puce 2 (suite) Puce 3 # Exemple : Liste numérotée en mdown 1.␣Puce 1 2.␣Puce 2 ␣␣Puce 2 (suite) 3.␣Puce 3 # Exemple : Liste associative en ZCode (émulée) Terme 1 Contenu 1 Terme 2 Contenu 2 Contenu 2 (suite) # Exemple : Liste associative en mdown : Terme 1 : Contenu 1 : Terme 2 : Contenu 2 ␣␣Contenu 2 (suite) == Tableaux [tabs] 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. # Exemple : Tableau en ZCode Cellule 1 Cellule 2 Cellule 3 Cellule 4 Cellule 5 Cellule 6 # Exemple : Tableau en mdown | Cellule 1 | Cellule 2 | Cellule 3 | Cellule 4 | Cellule 5 | Cellule 6 == Citations et blocs de code [citscodes] # Exemple : Citation en ZCode Texte cité Texte cité (suite) # Exemple : Citation en mdown >␣Texte cité >␣Texte cité (suite) # Exemple : Bloc de code en ZCode Code Code (suite) # Exemple : Bloc de code en mdown ␣␣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. == Environnements simples [envs] 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 : ... 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 : # Exemple : Secret en ZCode Mon secret # Exemple : Secret en mdown # secret ␣␣Mon secret == Positionnement [pos] mdown n'accepte que trois types de positionnements, lorsqu'il est traduit en ZCode : le centrage et les flottements à gauche et droite. # Exemple : Centrage en ZCode ... # Exemple : Centrage en mdown # centre ␣␣... # Exemple : Flottement à gauche en ZCode ... # Exemple : Flottement à gauche en mdown # flottantgauche ␣␣... # Exemple : Flottement à droite en ZCode ... # Exemple : Flottement à droite en mdown # flottantdroit ␣␣... == Titres [titres] 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 `` et `` du ZCode pour les deux premiers, et en émulant les autres. # Exemple : Titre de second niveau en ZCode Titre Titre (suite) # Exemple : Titre de second niveau en mdown == Titre ␣␣Titre (suite) %-