Markdown

Un article de Wikipédia, l'encyclopédie libre.
Ceci est une version archivée de cette page, en date du 3 janvier 2020 à 17:41 et modifiée en dernier par Boustrophédon (discuter | contributions). Elle peut contenir des erreurs, des inexactitudes ou des contenus vandalisés non présents dans la version actuelle.
Markdown
Capture d'écran d'un éditeur de texte affichant un fichier au format Markdown
Logo du langage Markdown
Caractéristiques
Extensions
.md, .markdown, .mkd, .mdown, .mdtxt, .mdtextVoir et modifier les données sur Wikidata
Type MIME
text/markdownVoir et modifier les données sur Wikidata
PUID
fmt/1149
Développé par
Version initiale
Type de format
Site web

Markdown est un langage de balisage léger créé en 2004 par John Gruber avec l'aide d' Aaron Swartz[1],[2]. Son but est d'offrir une syntaxe facile à lire et à écrire. Un document balisé par Markdown peut être lu en l'état sans donner l’impression d'avoir été balisé ou formaté par des instructions particulières.

Un document balisé par Markdown peut être converti en HTML, en PDF ou en d'autres formats. Bien que la syntaxe Markdown ait été influencée par plusieurs filtres de conversion de texte existants vers HTML — dont Setext[3], atx[4], Textile, reStructuredText, Grutatext[5] et EtText[6] —, la source d’inspiration principale est le format du courrier électronique en mode texte.

Évolutions

Depuis sa création originelle par John Gruber, Markdown n'a pas connu d'évolution notable de la part de ses auteurs. De plus, ce format n'a jamais été formellement standardisé.

Un certain nombre de variantes ont donc été développées par d'autres, afin de pallier ce qui a été perçu comme des limitations inhérentes à une syntaxe très simplifiée.

À titre d'exemples, on pourra citer MultiMarkdown et GitHub Flavored Markdown[7]. Ce dernier est utilisé pour les articles et la documentation sur GitHub lui-même, mais a également été largement adopté sur plusieurs éditeurs de texte supportant le format Markdown au niveau de la coloration syntaxique ou de la prévisualisation.

Il existe également des greffons pour de nombreux logiciels populaires, tels que « Markdown Here » pour Firefox et Chrome, et le système de gestion de contenu WordPress intègre désormais quelques éléments de ce langage nativement depuis la version 4.3.

L'initiative Common Mark[8] vise à pallier le manque de standardisation et les ambiguïtés du format.

Mises en œuvre

Plusieurs mises en œuvre existent et ce dans différents langages de programmation : en Perl[9], qui reste la mise en œuvre de référence, en PHP[10], en Ruby[11], en Python[12], en Java[13], en C#[14], en Haskell[15], en Gambas, en R[16] et même en JavaScript[17], notamment avec strapdown.js[18]. Depuis la version 2.0 de Swift il est aussi possible d'utiliser le Markdown dans ses playgrounds.

Usages

Le langage de balisage léger Markdown est utilisé dans de nombreuses applications, que ce soit des logiciels/éditeurs de code[19], des logiciels d'écriture[20], des plateformes de code[21],[22], ou encore des chaînes d'édition[23] avec l'addition d'autres logiciels. Les domaines concernés peuvent être le développement informatique (Markdown est habituellement utilisé pour formater le fichier README décrivant le code source d'un programme), la rédaction de documentation technique ou encore la publication académique[24]. Markdown est probablement le langage de balisage léger le plus utilisé pour produire des documents numériques[25].

Quelques exemples

Voici quelques exemples de syntaxe Markdown. Quelques balises HTML équivalentes sont données.

Cette liste n'est pas exhaustive.

Formatage

Pour mettre du texte en emphase (balise HTML <em>), ce qui produit une mise en italique dans un navigateur courant :

*quelques mots* ou  _quelques mots_

Pour mettre du texte en grande emphase (balise HTML <strong>), ce qui produit une mise en gras dans un navigateur courant :

**plus important**

Pour souligner :

__également important__

Pour mettre du code dans le texte (balise HTML <code>) :

(note : le caractère ` est une apostrophe inversée, par défaut "AltGr + 7" sur les claviers AZERTY français)

Mon texte `code` fin de mon texte

Ou sur plusieurs lignes avec coloration syntaxique selon le langage mis en préfixe :

(note : le caractère ` est une apostrophe inversée, par défaut "AltGr + 7" sur les claviers AZERTY français)


```php
Mon code PHP en couleurs
sur plusieurs lignes
```

Pour un paragraphe de code, mettre quatre espaces devant :

    Première ligne de code
    Deuxième ligne

Comme dans les courriels, il est possible de faire des citations :

> Ce texte apparaîtra dans un élément HTML <blockquote>.

Pour faire un nouveau paragraphe (balise HTML <p>), sauter deux lignes, c'est à dire laisser une ligne vide entre les deux paragraphes. Sauter une seule ligne dans le texte d'origine n'aura aucun effet à l'affichage (l'affichage sera en continu).

Premier paragraphe

Deuxième paragraphe   

Pour faire un simple retour à la ligne, mettre deux espaces en fin de ligne (balise HTML <br>).

Listes

Sauter une ligne avant le début de la liste.

Pour créer une liste non ordonnée (balise HTML <ul>) :

* Pommes
* Poires
    * Sous élément avec au moins quatre espaces devant.
    

Et une liste ordonnée (balise HTML <ol>) :

1. mon premier
2. mon deuxième

Et une liste en mode case à cocher

- [ ] Case non cochée
- [x] Case cochée

Titres

Les titres sont créés avec un certain nombre de # avant le titre, qui correspondent au niveau de titre souhaité (le HTML propose 6 niveaux de titres de <h1> à <h6>)

# un titre de premier niveau
#### un titre de quatrième niveau

Pour les deux premiers niveaux de titre (<h1> et <h2>), il est également possible de souligner le titre avec des = ou des - (leur nombre réel importe peu, mais il doit être supérieur à 2).

Titre de niveau 1
=====================
Titre de niveau 2
-------------------

Tableaux

Pour créer des tableaux (balises HTML <tr> et <th>)

| Titre 1       |     Titre 2     |        Titre 3 |
| :------------ | :-------------: | -------------: |
| Colonne       |     Colonne     |        Colonne |
| Alignée à     |   Alignée au    |      Alignée à |
| Gauche        |     Centre      |         Droite |

Liens

Pour créer des liens (balise HTML <a>) :

[texte du lien](url_du_lien "texte pour le titre, facultatif")

(Note : il n'y a pas d'espace entre le crochet fermant et la parenthèse ouvrante. Il faut écrire ..lien](url.. et non ..lien] (url.. )

Images

Pour afficher une image (balise HTML <img>) :

![Texte alternatif](url_de_l'image "texte pour le titre, facultatif")

(Note : il n'y a pas d'espace entre le crochet fermant et la parenthèse ouvrante. Il faut écrire ..lien](url.. et non ..lien] (url.. )

Annexes

Articles connexes

Liens externes

Références

  1. « Markdown »
  2. « Markdown »
  3. Setext.
  4. atx.
  5. Grutatext.
  6. EtText.
  7. (en) « GitHub Flavored Markdown ».
  8. (en) « Common Mark », sur commonmark.org.
  9. Perl (implémentation de référence).
  10. PHP Markdown (Markdown en PHP).
  11. BlueCloth (Markdown en Ruby).
  12. Markdown en Python.
  13. markdownj (Markdown en Java).
  14. Markdown.NET (Markdown en C# et .NET).
  15. pandoc (Markdown en Haskell).
  16. (en) R Markdown.
  17. showdown (Markdown en JavaScript).
  18. strapdown.js.
  19. (en) « The 10 Best Markdown Editors of 2018 – Shopify », sur Web Design and Development Blog | Web Design Trends, Tips, and More by Shopify Partners. (consulté le )
  20. Marcello Vitali-Rosati, « Stylo : un éditeur de texte pour les sciences humaines et sociales », sur Culture numérique, (consulté le )
  21. « Mastering Markdown · GitHub Guides », sur guides.github.com (consulté le )
  22. (en) « Markdown Guide », sur GitLab (consulté le )
  23. (en-US) « Interview with Eric Gardner, Getty Publications », sur the New Dynamic, (consulté le )
  24. Collectif, « Markdown et Zotero », sur Le blog Zotero francophone (consulté le )
  25. « Réel-Virtuel | Markdown comme condition d’une norme de l’écriture numérique », sur www.reel-virtuel.com (consulté le )