Markdown : présentation

Markdown est un ensemble de conventions simples pour la mise en forme de texte. Le nom s’oppose au « markup », où le texte est mis en forme à l’aide de balises longues à saisir.

Cette syntaxe a été conçue par John Gruber et s’inspire des conventions utilisées à l’époque où les mails ne permettaient pas de mise en forme.

C’est selon moi la meilleure syntaxe de mise en forme car elle a 3 atouts majeurs :

  1. Facile à saisir
  2. Facile à lire (même sans convertisseur)
  3. Supportée par un très grand nombre de logiciels

Exemple de texte structuré en Markdown

# Titre
Paragraphe avec *italique*, **gras** et [lien](http://example.org/).
## Sous-titre
- Liste à puce
   - Sous-liste
1. Liste numérotée

Utilisation

Vous pouvez utiliser Markdown avec les principaux logiciels de blog (WordPress, Tumblr), ou créer un Readme pour vos projets Github.

Vous pouvez l’utiliser pour formatter vos mails sur Mac (dans MailMate) ou sur iOS (via Elements), générer une présentation, générer des documents Word ou PDF.

Vous pouvez aussi générer votre blog juste à partir de fichiers Markdown stockés dans un répertoire Dropbox avec Scriptogr.am ou Calepin !

Logiciels

Sur Mac

Il existe un grand nombre de logiciels Markdown pour Mac, certains gratuits d’autrs coûtant plusieurs dizaines d’euros. Ils proposent : prévisualisation, rappel de la syntaxe, raccourcis clavier, mode plein écran, versionnage automatique, etc. Voici une liste relativement exhaustive (je ne les ai pas tous testés en revanche).

  • IAWriter Mon premier achat : très belle mise en forme, mode focus pour se concentrer sur le paragraphe en cours.
  • Byword très similaire à IAWriter mais que je lui ai finalement préféré pour son apparence plus personnalisable.
  • et plein d’autres : Mou, Macchiato, Markdown Pro, Valletta (qui affiche le texte stylé en place, excepté la ligne où se trouve le curseur), Markdown Note, ainsi que Fountain Pen qui ajoute le suivi d’objectifs d’écriture.

Citons également Marked qui ne permet que de visualiser, ce que je trouve finalement peu utile avec un bon éditeur.

Sur iOS

  • Certains des éditeurs ci-dessus ont une version pour iOS. La plupart utilisent Dropbox ou plus récemment iCloud pour enregistrer vos fichiers, chacun avec ses particularités : compte-mot, raccourcis de mise en forme, clavier augmenté, support de TextExpander

Les principaux sont Byword, IAwriter, WriteUp, Writing Kit, Elements, Notesy. Je n’ai pas encore testé ; vos remarques et commentaires sont les bienvenus à ce sujet.

Sur Windows

Les éditeurs de Markdown pour Windows sont encore peu nombreux. Les principaux sont :

En ligne

Ajouts et améliorations

  • Smartypants du même John Gruber, qui convertit automatiquement les guillemets et tirets typographiques.
  • Markdown extra qui ajoute les listes de définitions, abréviations, identifiants pour les titres, plus de flexibilité dans l’utilisation du HTML à l’intérieur de texte Markdown, tableaux, notes de bas de page…
  • Github-flavored Markdown qui allège légèrement la syntaxe (Stack Exchange propose les mêmes ajustements pour adapter Markdown à la saisie de code)
  • MultiMarkdown qui va plus loin que Markdown Extra et permet un export LaTeX en plus du PDF. Supporté par MMD Composer et Scrivener.

Syntaxes alternatives et concurrentes

Aucune syntaxe n’a le même niveau de support que Markdown, si vous n’avez pas besoin des spécificités de l’une ou l’autre je vous conseille de choisir Markdown.

reStructuredText

  • Très similaire au Markdown
  • Solutions élégantes pour les liste de définitions et blocs de code

A n’utiliser que si vos logiciels vous y obligent (ou changez pour des logiciels supportant Markdown).

Textile

  • Assez proche de Markdown
  • Permet de mieux contrôler le HTML généré, au prix d’une syntaxe plus lourde et moins intuitive
  • Inclut divers raccourcis typographiques (remplacement automatique des guillemets, tirets, etc.)
  • Quelques choix mal avisés (impossible par exemple d’entourer un lien de guillemets)

A utiliser si vous avez besoin de définir les classes ou identifiants appliqués à un élément, créer des notes de bas de page, et que la syntaxe vous convient.

YAML

  • Prononcé « yameul »
  • Format d’échange de données multi-langages
  • Peu d’interpréteurs et d’éditeurs le gérant
  • Syntaxe assez tordue (bien moins lisible que Markdown)

A utiliser si vous avez besoin d’échanger des informations complexes et structurées entre différents langages de programmation, et seulement si JSON, bien plus répandu et supporté nativement par la plupart des langages de programmation, ne vous convient pas.

N’hésitez pas à signaler dans les commentaires tout logiciel, usage ou alternative qui vous paraît utile de mentionner, ou simplement donner votre avis sur le langage ou ses à-côtés.

PS : Ce billet a lui-même été rédigé en Markdown dans Byword, et converti à la volée par le plugin WordPress Markdown on save Improved.

Publié le Catégories BlogÉtiquettes