Syntaxe Mardown =============== Principe -------- [Code source Mardown original ayant servi à générer cette page HTML](markdown.txt) 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 `
`, 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 [syntaxe de Markdown]: http://daringfireball.net/projects/markdown/syntax [PHP Markdown]: http://michelf.ca/projets/php-markdown/ [DL]: #DL [TABLE]: #TABLE [ABBR]: #ABBR Titres {.rouge} ------- 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 = `
` ------------------------------- 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 {#haut} ----- le texte du [lien](http://audiovie.org/ "un super site") 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][1]. 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!)* [1]: http://exemple.com/ "Titre facultatif" [Audiovie]: http://audiovie.org/ 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](http://audiovie.org/charte/logo.gif) voici une image: ![image][] [image]: ../echantillon/image/image.jpg "image exemple" {.encadre} Liens automatiques ------------------ entourez tout simplement l’adresse par < et > et Notes de bas de page -------------------- On peut ajouter une note[^1] de bas de page avec la syntaxe suivante: `appel[^1] et [^1]: note` [^1]: la note peut être n'importe où, elle ira en bas de document Abbréviations {#ABBR} ------------- 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. *[ONU]: Organisation des nations unies ## Tables {#TABLE} 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 {#DL} **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") `exemple` ou dans un bloc indenté entouré de lignes vides (`
`):

	exemple

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

~~~~ {.rouge}
exemple 
~~~~


Pour être interprétés les élément HTML représentant un bloc de texte ”c’est à dire  `
, ,
, 

`, 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:

Voici du *vrai* texte Markdown.
## 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](#haut)