Syntaxe Mardown

Syntaxe Mardown

Principe

Code source Mardown original ayant servi à générer cette page HTML

La syntaxe de Markdown sert un objectif : être utilisée comme format d’écriture sur le web.
Le principe: Un document formaté selon Markdown devrait pouvoir être publié comme tel, en texte, sans donner l’impression qu’il a été marqué par des balises ou des instructions de formatage.
Pour introduire des balises <br>, ajouter deux espaces en fin de ligne.
Pour n’importe quelle fonction qui n’est pas couverte par la syntaxe de Markdown, vous utilisez directement une balise HTML. La version Mardown Extra ajoute des fonctionnalités en plus: support de DL, TABLE, ABBR, ancres.

Vous pouvez utiliser le programme PHP Markdown facilement dans vos programmes PHP.
Vous n’avez qu’à inclure le fichier et ensuite appeler la fonction Markdown avec le texte à convertir :

include_once "markdown.php";
$mon_html = Markdown($mon_texte);
echo $mon_html;

Pour utiliser depuis la ligne de commande (ou fichier .BAT), il suffit de mettre le code ci-dessus précédé de $mon_texte= file_get_contents( $argv[1]); dans un fichier filtre.php et l'appeler par:

php -q "C:\filtre.php" %1

Titres

Faire précéder de # un titre H1, de ## un titre H2, de ### un titre H3, etc... On peut aussi souligner avec des = un titre H1 et avec des - un titre H2 Mardown Extra permet d'ajouter un identifiant #id (ancre) ou une classe .classe à un titre. L'indiquer simplement entre accolades à la suite.

#titre {#id .classe}

Une ligne seule = <HR>


Listes

Avec *, - ou + comme marqueur de liste. Pour les listes numérotées:

  1. premier
  2. second
  3. troisième

Emphase

Entre *
EM
Entre **
STRONG
Entre `
CODE

Liens

le texte du lien est entre crochets, l'URL entre parenthèses (suivi d'un "titre" éventuel entre ""). Pour liens internes, on peut définir des ancres par syntaxe {#ancre} suivant un titre ou un bloc de code

Les liens par référence utilisent une deuxième paire de crochets, avec une étiquette (numéro) pour identifier le lien :

Ceci est [un exemple][1] de lien en référence.

Ensuite, n’importe où dans le document, vous définissez le lien de cette façon, sur sa propre ligne :

[1]: http://exemple.com/ "Titre facultatif"

Vous pouvez utiliser un nom de lien implicite, ce qui vous permet d’omettre le nom du lien, et dans ce cas le lien est identifié par son texte (qui peut contenir des espaces). Utilisez simplement une paire de crochets vides (optionnels sauf si image) — c’est à dire que pour créer un lien « Audiovie » vers le site audiovie.org, vous pouvez simplement écrire :

[Audiovie], et ensuite définir le lien Audiovie:

[Audiovie]: http://audiovie.org/ (attention: sans " autour de l'URL!)

Images

On peut utiliser exactement les mêmes syntaxes pour les images que pour les liens avec un ! avant l'ouverture du crochet, le texte devient le texte alternatif (ALT). En cas d'utilisation de la syntaxe "par référence", les crochets pour la référence ne sont pas précédés du "!"

![Texte alternatif](http://audiovie.org/charte/logo.gif)

Texte alternatif

voici une image: image

Liens automatiques

entourez tout simplement l’adresse par < et > http://audiovie.org et adresse@exemple.com

Notes de bas de page

On peut ajouter une note1 de bas de page avec la syntaxe suivante:

appel[^1] et [^1]: note

Abbréviations

On utilise

*[ONU]:  Organisation des nations unies

Cela ajoute la balise ABBR automatiquement dans l'ensemble du texte. L'ONU est un nid de serpents.

Tables

Le séparateur de colonne est le |

Function name Description
help() Affiche l'aide
quit() quitter l'ONU!

On peut centrer ou aligner à droite une colonne avec caractère ":"

Colonne centrée  | Date de naissance
:--------------: | -----------------: 
Contenu          |       05/04/1972
Contenu          |       12/12/1943
Colonne centrée Date de naissance
Contenu 05/04/1972
Contenu 12/12/1943

Definition list

Chaque Définition doit être précédée par une ligne vide
On met simplement la (ou les) définition(s) à la ligne, chaque définition doit commencer par caractère ": "

Pomme
vert, jaune, rouge..
Orange
orange, verte
Pomme
: vert, jaune, rouge..

Orange
: orange, verte

Code HTML

Les élements HTML en-ligne sont traités sauf si entourés de apostrophe inversée: ` (permet de faire du "inline") <b>exemple</b>

ou dans un bloc indenté entouré de lignes vides (<PRE>):

<b>exemple</b>

ou alors dans un bloc entouré de ~~~~
L'intérêt de cette syntaxe: un nom de classe peut suivre.

<b>exemple</b> 

Pour être interprétés les élément HTML représentant un bloc de texte ”c’est à dire <div>, <table>, <pre>, <p>, etc.” doivent être séparés du contenu environnant par des lignes vides et ne doivent pas être indentés. PHP Markdown Extra vous donne un moyen de placer du texte formaté pour Markdown dans des éléments bloc. Vous faites cela en ajoutant l’attribut markdown à la balise avec la valeur 1, ce qui donne markdown="1" comme ici:

<div markdown="1">
Voici du *vrai* texte Markdown.
</div>

Blockquote

Précédés par > comme dans mails. Imbrications possibles mais laisser ligne vide à chaque fois

Ceci est un titre

  1. Ceci est le premier élément d'une liste.
  2. Ceci est le second élément d'une liste.

Voici un exemple de code (indenté) :

return shell_exec("echo $input | $markdown_script");

Ceci est un bloc de citation imbriqué.

Caractères spéciaux

en particulier pour * : l'entourer d'espaces ou la faire précéder de \

lien vers haut de page


  1. la note peut être n'importe où, elle ira en bas de document