Markdown mon amour

## Markdown Kesako

C'est un langage de **balisage léger** de document conçu par [John Gruber](https://fr.wikipedia.org/wiki/John_Gruber) avec [Aaron Swartz](https://fr.wikipedia.org/wiki/Aaron_Swartz)


Ce langage connait aujourd'hui un grand succés je ne vais pas faire une Nieme page décrivant la syntaxe.

Je vais juste donner quelques liens utiles sur le sujet et produire un tableau montrant les difféerences de syntaxe entre 3 ou 4 implémentations.

## Documents de références sur Markdown

### La syntaxe

Dans un document du 17 décembre 2004 John Gruber en présente

+  la philosophie et la syntaxe dans cette [page](https://daringfireball.net/projects/markdown/syntax)
+  Un [outil](https://daringfireball.net/projects/downloads/Markdown_1.0.1.zip) de conversion en perl.
+  Wikipédia a [fait une page](https://fr.wikipedia.org/wiki/Markdown) aussi.
+  IETF des RFC, [la rfc7764](https://tools.ietf.org/html/rfc7764.html) en version [pdf](pdf/rfc7764.pdf) Et [la rfc7763](https://tools.ietf.org/html/rfc7763.html) voir aussi le [décryptage :-)](https://www.bortzmeyer.org/7763.html) de S.Bortzmeyer.



### Mes références

* La page de documentation utilisée pour la premiére version de ce site [mdwiki](http://dynalon.github.io/mdwiki/#!quickstart.md)...
* La page de [MkDocs](https://www.mkdocs.org/) générateur de site utilisé pour la  version actuele.
	*	La page de documentation pour [le thème](https://squidfunk.github.io/mkdocs-material/) utilisé.
	* La page de documentation pour le plugin d'[encryption](https://github.com/CoinK0in/mkdocs-encryptcontent-plugin)

* La page Welcome de l'éditeur en [Stackedit](Welcome-stakedit)...
* La page de l'éditeur [Haroopad](http://pad.haroopress.com/).
* Le très documenté article sur [markdown-pandoc](http://enacit1.epfl.ch/markdown-pandoc/) de [Jean-Daniel Bonjour](https://enacit.epfl.ch/personnes/bonjour.shtml)
	* Il a aussi écrit un [cours](https://enacit.epfl.ch/cours/python/introduction/) sur python.
	* et maintient l'[annuaire](https://enacit.epfl.ch/logiciel-libre/) des logiciel libre de l'EPFL.

### Une comparaison des supports

Le site [markdownguide](https://www.markdownguide.org) propose de parcourir la syntaxe et ses extensions mais surtout il référence un ensemble [d'outil](https://www.markdownguide.org/tools/) utilisant la syntaxe Markdown.

Le site [css-tricks](https://css-tricks.com/choosing-right-markdown-parser/) a publié un article de
[Ray Villalobos](http://www.raybo.org/) comparant différentes variantes de Markdown.

J'utilise régulièrement plusieurs outils ayant un support de Markdown

1.  [MkDocs](https://www.markdownguide.org/tools/mkdocs/) Python-Mardown avec plusieurs extension
2.  [github](https://www.markdownguide.org/tools/github-pages/) proche de Discourse
3.  [slack](https://www.markdownguide.org/tools/slack)
4.  [pandoc](https://pandoc.org/MANUAL.html#pandocs-markdown)
5.  [pleroma](https://docs-develop.pleroma.social/frontend/user_guide/posting_reading_basic_functions/#rich-text)
6.  [discourse](https://meta.discourse.org/t/post-format-reference-documentation/19197)

Voici un tableau comparatif du support de MarkDown pour MkDocs, pleroma et Discourse [support commonmark](http://commonmark.org/help).

|  Element                                                                               | Mkdocs   |Discource| Pleroma |
|  :--------------------------------------------------------------------------------------|:---------:| :-------: | :------:|
|  [Headings](https://www.markdownguide.org/basic-syntax#headings)                             |Yes       | Yes|  No|
|  [Paragraphs](https://www.markdownguide.org/basic-syntax/#paragraphs-1)                      |Yes       |Yes| Yes |
|  [Line Breaks](https://www.markdownguide.org/basic-syntax/#line-breaks)                      |Yes       |  Yes| Yes |
|  [Bold](https://www.markdownguide.org/basic-syntax#bold)                                     |Yes       | Yes|Yes|
|  [Italic](https://www.markdownguide.org/basic-syntax#italic)                                 |Yes       | Yes|Yes  
|  [Strikethrough](https://www.markdownguide.org/extended-syntax/#strikethrough)               |No        | Yes | Yes|
|  [Blockquotes](https://www.markdownguide.org/basic-syntax#blockquotes-1)                     |Yes       | Yes| Yes - |
|  [Ordered Lists](https://www.markdownguide.org/basic-syntax#ordered-lists)                   |Yes -      | Yes| Yes |
|  [U Nordered Lists](https://www.markdownguide.org/basic-syntax#lists-1)             				 |Yes -       | Yes| Yes |
|  [Code](https://www.markdownguide.org/basic-syntax#code)                                     |Yes       | Yes| Yes  |
|  [Horizontal Rules](https://www.markdownguide.org/basic-syntax/#horizontal-rules)            |Yes        | Yes| No |
|  [Links](https://www.markdownguide.org/basic-syntax/#links)                                  |Yes       | Yes| Yes |
|  [Images](https://www.markdownguide.org/basic-syntax/#images-1)                              |Yes       | Yes| Yes |
|  [Tables](https://www.markdownguide.org/extended-syntax/#tables)                             |Yes       | Yes| No |
|  [Fenced Code Blocks](https://www.markdownguide.org/extended-syntax/#fenced-code-blocks)     |Yes       | Yes| No |
|  [Syntax Highlighting](https://www.markdownguide.org/extended-syntax/#syntax-highlighting)   |Yes       | Yes| No |
|  [Foot Notes](https://www.markdownguide.org/extended-syntax/#footnotes)                      |No        | No | No |
|  [Heading IDs](https://www.markdownguide.org/extended-syntax/#heading-ids)                   |No        |No| No  |
|  [Definition Lists](https://www.markdownguide.org/extended-syntax/#definition-lists)         |No        |No| No |
|  [Strikethrough](https://www.markdownguide.org/extended-syntax/#strikethrough)               |No        |No| Yes |
|  [Task Lists](https://www.markdownguide.org/extended-syntax/#task-lists)                  |No        |No| No|
|  [Emoji (copy and paste)](https://www.markdownguide.org/extended-syntax/#copying-and-pasting-emoji)    |UnkNown   |UnkNown   | UnkNown |
|  [Emoji (shortcodes)](https://www.markdownguide.org/extended-syntax/#using-emoji-shortcodes)           |:tent:   |Unknown   | No |
|  [Automatic URL Linking](https://www.markdownguide.org/extended-syntax/#automatic-url-linking)         |YES        | Yes| Yes |
|  [Disabling Automatic URL Linking](https://www.markdownguide.org/extended-syntax/#disabling-automatic-url-linking)   |YES       | Yes| No |
|  [HTML](https://www.markdownguide.org/basic-syntax/#html)                                    |Yes       | Yes| Yes |

Un outil de comparaison en ligne(https://johnmacfarlane.net/babelmark2/?normalize=1&text=%0A~~~barr%C3%A9~~~) permet de tester les prises en compte par les parsers.