Principaux usages de la syntaxe Markdown

Markdown est une syntaxe simplifiée qui permet d'utiliser quelques touches du clavier alphanumérique pour définir un certain nombre de paramètres de présentation qui nécessiteraient sinon l'usage de balises HTML...

Les liens

Pour les liens, la syntaxe est relativement simple :

[Lien vers Google](http://www.google.com "Google")

Ce qui génèrera le HTML suivant :

<a href="http://www.google.com" title="Google">Lien vers Google</a>

Le titre est bien évidemment optionnel.

Les titres

Pour les titres, on a plusieurs choix :

Titre de niveau 1
=================

# Une autre manière d'écrire un titre de niveau 1

Titre de niveau 2
-

###### Titre de niveau 6

### On peut remettre des dièses derrière pour l'esthétique si on veut ###

Cela génèrera ceci :

<h1>Titre de niveau 1</h1>

<h1>Une autre manière d'écrire un titre de niveau 1</h1>

<h2>Titre de niveau 2</h2>

<h6>Titre de niveau 6</h6>

<h3>On peut remettre des dièses derrière pour l'esthétique si on veut</h3>

Mettre du texte en valeur

Pour mettre du texte en valeur, rien de plus simple :

Voici du texte *important* et **très important**

Voici une _autre_ syntaxe pour la __même chose__

Ce qui donne :

<p>Voici du texte <em>important</em> et <strong>très important</strong></p>

<p>Voici une <em>autre</em> syntaxe pour la <strong>même chose</strong></p>

Insertion de code

Pour insérer du code, il y a plusieurs moyens :

Ceci est du `code au milieu d'une ligne`

    bloc de code
    suite du bloc de code

Ce qui va générer ceci :

<p>Ceci est du <code>code au milieu d'une ligne</code></p>

<pre><code>bloc de code
suite du bloc de code</code></pre>

Pour la seconde manière d'insérer du code, il faut indenter chaque ligne de 4 espaces (ou un tab, au choix).

Les citations

Pour insérer des citations, c'est également très facile. Voici à quoi ça ressemble :

> Paragraphe 1 de la citation.
> Suite du paragraphe.

> Paragraphe 2 (même citation)

Voici le HTML généré :

<blockquote>
<p>Paragraphe 1 de la citation. Suite du paragraphe.</p>
<p>Paragraphe 2 (même citation)</p>
</blockquote>

Ajouts spécifiques à PHP Markdown Extra

Notes de bas de page

Pour les notes de bas de page, rien de plus simple. Il suffit de mettre ceci à l'endroit où vous voulez faire apparaître la note :

Texte à annoter[^1]

Et puis de la définir n'importe où dans le document de la manière suivante :

[^1]: Note de bas de page

Il ajoutera automatiquement ceci à l'endroit à annoter :

<sup id="fnref:1"><a href="#fn:1" rel="footnote">1</a></sup>

Et placera ceci tout en bas du document :

<div class="footnotes">
<hr/>
<ol>
<li id="fn:1">
<p>Note de bas de page<a href="#fnref:1" rev="footnote">&#8617;</a></p></li>
</ol>
</div>

Comme vous pouvez le voir, vous pouvez alors cliquer sur le chiffre pour aller à la note de bas de page et puis cliquer sur la flèche retour pour revenir à l'endroit de la note dans le texte (le ↩ représente ceci : ↩). Rien de plus pratique !

Les tableaux

PHP Markdown Extra vous propose aussi un moyen sympa pour faire des tableaux. Ça ressemble à ça :

Titre 1 | Titre 2 | Titre 3 | Titre 4
--- | :-- | :-: | --:
gauche  | gauche  | centré  | droite
ligne 2 | ligne2  | ligne2  | ligne2

Ce qui produira le code suivant :

<table>
<thead>
<tr>
<th>Titre 1 </th>
<th align="left"> Titre 2 </th>
<th align="center"> Titre 3 </th>
<th align="right"> Titre 4</th>
</tr>
</thead>
<tbody>
<tr>
<td>gauche  </td>
<td align="left"> gauche  </td>
<td align="center"> centré  </td>
<td align="right"> droite</td>
</tr>
<tr>
<td>ligne 2 </td>
<td align="left"> ligne2  </td>
<td align="center"> ligne2  </td>
<td align="right"> ligne2</td>
</tr>
</tbody>
</table>

L'alignement des cellules est déterminé via l'alignement du deux-points dans la ligne séparant le titre de la colonne associée (centré s'il est des deux cotés, à gauche s'il est à gauche ou absent et à droite s'il est... à droite).

Syntaxe additionnelle pour les blocs de code

PHP Markdown vous permet aussi une autre syntaxe pour les blocs de code qui est la suivante :

~~~
autre moyen pour un bloc de code
suite du bloc
~~~

Possibilité d'utiliser du Markdown à l'intérieur de blocs HTML

Normalement, Markdown ne traitera pas tout ce qui se trouve à l'intérieur d'élements représentant des blocs de texte (<pre>, <div>, <table>, <p>, etc.). Avec PHP Markdown Extra, il suffit d'ajouter l'attribut markdown=1 pour que l'intérieur du bloc soit traité, comme suit :

<div markdown=1>
Texte en **Markdown**
</div>

Le markdown=1 sera automatiquement enlevé, générant alors ceci :

<div>
<p>Texte en <strong>Markdown</strong></p>
</div>

Possibilité d'ajouter un ID et/ou une ou plusieurs classes aux titres

PHP Markdown Extra nous permet d'assigner un ID et/ou une ou plusieurs classes aux titres. Il suffit de les mettre derrière le titre entre accolades, comme suit :

# Titre avec un ID et deux classes {#id .classe .autreclasse}

Ce qui génèrera donc ceci :

<h1 id="id" class="classe autreclasse">Titre avec un ID et deux classes</h1>

On peut utiliser la même méthode pour des blocs de code (seulement avec la méthode des tildes), comme suit :

~~~~~ {#id .classe}
code
~~~~~

Définitions

On peut aussi créer des listes de définitions grâce à PHP Markdown Extra. La syntaxe est la suivante : le terme à définir, suivi d'un deux-points à la ligne, suivi de la définition. Exemple :

Site web
: Un site ou site web est un ensemble de pages web hyperliées entre elles et accessible à une adresse web.

Pomme
: La pomme est l'un des fruits les plus consommés dans le monde. Produite par le pommier, elle est comestible et a un goût sucré ou acidulé selon les variétés.

Ce qui générera ceci :

<dl>
<dt>Site web</dt>
<dd>Un site ou site web est un ensemble de pages web hyperliées entre elles et accessible à une adresse web.</dd>

<dt>Pomme</dt>
<dd>La pomme est l'un des fruits les plus consommés dans le monde. Produite par le pommier, elle est comestible et a un goût sucré ou acidulé selon les variétés.</dd>
</dl>

Abréviations

Dernière chose ajoutée par PHP Markdown Extra, les abréviations. On les définit comme suit :

*[HTML]: HyperText Markup Language

Ensuite, dès qu'on utilise le terme défini comme abréviation, il est automatiquement remplacé par ceci :

<abbr title="Hyper Text Markup Language">HTML</abbr>

Exemple :

*[HTML]: HyperText Markup Language
Le HTML est un langage relativement facile.

Deviendra :

<p>Le <abbr title="HyperText Markup Language">HTML</abbr> est un langage relativement facile.</p>
Merci d'avoir pris le temps de lire cet article.