- Markdown est une syntaxe simple pour écrire des textes et de la documentation.
- C'est un langage de balisage léger, beaucoup plus simple que le HTML et le LaTeX.
- Cette syntaxe permet la création de documents source lisibles par l'humain.
- Elle est inspirée de plusieurs notations utilisées dans les courriels avant l'utilisation massive du HTML.
- La documentation complète de Markdown tient dans une seule page: [cheat sheet](https://warpedvisions.org/projects/markdown-cheat-sheet/)
## Conversion du Markdown
Markdown est concu pour être converti en d'autres formats facilement:
- [HTML](https://www.w3schools.com/html/default.asp): Site web prêt à mettre en ligne)
- [PDF](https://fr.wikipedia.org/wiki/Portable_Document_Format): Documents imprimables et diapositives.
- [LaTeX](https://www.latex-project.org//): Documents scientifiques et publications professionnelles
- [ODT](https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=office): Format ouvert de document pour le traitement de texte utilisé par LibreOffice, OpenOffice, Google Docs. Assure la pérennité de l'information
- [Office Open XML](https://en.wikipedia.org/wiki/Office_Open_XML) (fichiers .docx): Format commun de bureautique (très mauvaise compatibilité)
- MediaWiki: Syntaxe de documentation collaborative, utilisée par Wikipédia et autres
## Les _saveurs_ de Markdown
Attention: Il n'existe pas de standard de Markdown
- Il y a par contre peu de différences entre celles-ci, ce sont surtout des ajouts pour des besoins précis
Quelques _saveurs_:
- [GitHub](https://guides.github.com/pdfs/markdown-cheatsheet-online.pdf): Utilisée sur ce réseau social pour développeurs
- [R Markdown](http://rmarkdown.rstudio.com/): Utilisé pour créer des rapports statistiques très élégants (C'est ce qu'on utilise dans mon équipe)
- [Pandoc Markdown](http://rmarkdown.rstudio.com/authoring_pandoc_markdown.html): Utile pour créer des documents riches dans plusieurs formats de façon automatisée.
## La syntaxe
La documentation de la syntaxe Markdown peut facilement être trouvée en ligne. Une version française se trouve ici:
- [Traduction de la documentation en français](https://michelf.ca/projets/php-markdown/syntaxe/)
Je recommande Visual Studio Code. Il est disponible sur tous les environnements de bureau et existe aussi en version portable afin de contourner les restrictions d'entreprise.
## Remarkable
Remarkable est un éditeur simple et convivial pour la syntaxe Markdown
[Remarkable sur GitHub](https://github.com/jamiemcg/remarkable)
RStudio est d'abord un environnement de développement intégré (IDE) pour le langage statistique R, mais il est aussi un excellent éditeur markdown. Il supporte aussi sa propre syntaxe RMarkdown pour la production de rapports statistiques et de documents interactifs.
Bootstrap est un module qui permet d'utiliser des consignes de formatages faciles à interpréter par le navigateur. Il utilise le CSS (Cascading Style Sheet) pour créer des thèmes personnalisés et interchangeables. Créer un thème bootstrap requiert une connaissance du HTML et du CSS, mais les utiliser est plutôt simple.
## Bootswatch
[Bootswatch](https://bootswatch.com/) est un ite web qui propose des thèmes gratuits pour Bootstrap.
![Capture du site web bootswatch.com démontrant 6 thèmes](bootswatch.png)
# Pandoc
Pandoc est un outil et une librairie écrit en Haskell qui permet de convertir des documents entre plusieurs formats ouverts.
Il y a aussi une librairie très utilisée par plusieurs autres logiciels. Si votre éditeur permet d'exporter votre travail dans une multitude de formats, c'est probablement du à Pandoc.
Pandoc est multi-plateformes, mais certaines fonctionnalités peuvent être limitées. Par exemple, il faut avoir Microsoft Word ou LibreOffice pour produire des DOCX.
Installation
```bash
sudo apt-get install pandoc
```
Installation avec Cabal, pour avoir la version la plus récente:
```bash
cabal install pandoc
```
---
## Pandoc: Formats d'entrée
Les formats d'entrée incluent:
- markdown
- DocBook
- LaTeX
- OpenDocument
- Epub
- ...
---
## Pandoc: Formats de sortie
Les formats de sortie incliuent:
- HTML
- OpenDocument
- EPub
- DocBook
- LaTeX
- PDF
- markdown
- MediaWiki
- DokuWiki
---
## Pandoc Markdown
Le Pandoc Markdown est un des formats d'entrée les plus vertatiles. Il s'agit d'une variante de Markdown supportant plusieurs fonctionnalités additionnelles.
Les **blocs** de lignes permettent de séparer le texte manuellement. Par exemple, pour les adresses:
**Code:**
```markdown
| Centre de loisirs St-Louis-de-France
| 1560 Route De L’Église
| Québec, G1W 3P5
```
**Résultat:**
| Centre de loisirs St-Louis-de-France
| 1560 Route De L’Église
| Québec, G1W 3P5
---
## Pandoc Markdown: Tables simples
Il faut spécifier l'extension `+simple_tables`
**Code:**
```markdown
Droite Gauche Centre Defaut
------- ------ ---------- ------
12 12 12 12
123 123 123 123
Table: Demonstration de la syntaxe des tables simples.
```
**Résultat:**
Droite Gauche Centre Defaut
------- ------ ---------- ------
12 12 12 12
123 123 123 123
Table: Demonstration de la syntaxe des tables simples.
---
## Pandoc Markdown: métadonnées
Les métadonnées permettent d'identifier le titre, l'auteur et la date dans l'entête du document. On utilise l'extension `+pandoc_title_block`
**Code:**
```markdown
% Les formats de documents ouverts
% François Pelletier
% 25 novembre 2017
```
---
## Pandoc Markdown: mathématiques
Pandoc permet de traiter les équations mathématiques saisies avec la syntaxe LaTeX à l'aide de différents outils tout dépendamment du format de document en sortie.
Les principaux outils utilisés sont MathML et AMS \LaTeX
---
## Pandoc Markdown: mathématiques
On saisis les contenus mathématiques entre signes `$` ou `$$` pour les expressions multilignes.