9.8 KiB
title | author | date |
---|---|---|
Le document 2.0 | François Pelletier | 7 décembre 2017 |
Bienvenue !!!
Objectifs de cet atelier:
- Partager ma méthode de travail pour créer des documents
- Présenter une méthodologie de travail axée sur le minimalisme
- Présenter les avantages de travailler avec des formats ouverts et des outils libres
Ordre du jour
- La syntaxe Markdown
- Les thèmes Bootstrap
- L'outil de conversion de documents Pandoc
Markdown
- 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
Conversion du Markdown
Markdown est concu pour être converti en d'autres formats facilement:
- HTML: Site web prêt à mettre en ligne)
- PDF: Documents imprimables et diapositives.
- LaTeX: Documents scientifiques et publications professionnelles
- ODT: 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 (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: Utilisée sur ce réseau social pour développeurs
- R Markdown: Utilisé pour créer des rapports statistiques très élégants (C'est ce qu'on utilise dans mon équipe)
- Pandoc Markdown: 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:
Quel éditeur utiliser?
- Pour les minimalistes, le bloc-notes de Windows peut amplement suffire.
- Plusieurs éditeurs de code permettent d'utiliser Markdown plus aisément:
- Atom
- Visual Studio Code
- Remarkable
- RStudio
Atom
Atom: Éditeur de texte pour le 21e siècle!
Visual Studio
Visual Studio Code est un éditeur libre, moderne et tres performant développé par la communauté et Microsoft.
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
RStudio
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
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 est un site web qui propose des thèmes gratuits pour Bootstrap.
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 grâce à 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
Windows
Cette configuration permet l'utilisation portable depuis une clé USB ou un disque réseau sans avoir les droits administrateur. C'est ce que j'utilise au bureau.
- Installer le fichier
pandoc-2.0.3-windows.zip
depuis cette page - Installer MikTeX Portable au besoin (pour faire des PDF) depuis cette page
MacOS
Installer depuis homebrew:
brew install pandoc
Sinon:
- Installer le fichier
pandoc-2.0.3-macOS.pkg
depuis cette page - Installer BasicTeX avec le fichier
BasicTeX.pkg
depuis cette page
Linux
- Debian, Ubuntu, ...
sudo apt-get install pandoc texlive-base
- RedHat, ...
sudo yum install pandoc
(RedHat n'ont pas TeX Live dans les dépots):
- Télécharger manuellement en suivant les instructions ici
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/CSS/JavaScript (HTML5, Slidy, RevealJS)
- OpenDocument
- EPub
- DocBook
- LaTeX
- Markdown
- MediaWiki
- DokuWiki
Pandoc Markdown
Le Pandoc Markdown est un des formats d'entrée les plus versatiles. Il s'agit d'une variante de Markdown supportant plusieurs fonctionnalités additionnelles.
Référence: Anthoring Pandoc Markdown
Pandoc Markdown: Blocs de lignes
Les blocs de lignes permettent de séparer le texte manuellement. Par exemple, pour les adresses:
Code:
| Desjardins Groupe d'Assurance Générales
|
| 6300 Boul. Guillaume Couture
| Lévis, QC G6V 6P9
Résultat:
| Desjardins Groupe d'Assurance Générales | | 6300 Boul. Guillaume Couture | Lévis, QC G6V 6P9
Pandoc Markdown: Tables simples
Il faut spécifier l'extension +simple_tables
Code:
| 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:
---
title: "Le document 2.0"
author: "François Pelletier"
date: "7 décembre 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, MathJaX et AMS LaTeX
Pandoc Markdown: mathématiques
On saisis les contenus mathématiques entre signes $
ou $$
pour les expressions multilignes.
Code:
$$
{\begin{aligned}
&\gamma _{ij}(x,t) \\
=&\sum _{k=1}^{N}\sigma _{ik}(x,t)\sigma _{jk}(x,t)
\end{aligned}}
$$
Résultat:
$$
{\begin{aligned}
&\gamma _{ij}(x,t) \
=&\sum _{k=1}^{N}\sigma _{ik}(x,t)\sigma _{jk}(x,t)
\end{aligned}}
Produire des présentations facilement
Un exemple: cette présentation a été écrite avec le langage Markdown et exportée en PDF et en HTML avec Pandoc.
#!/bin/bash
pandoc -f markdown+simple_tables+pandoc_title_block \
-t html document2_0.md -o document2_0.html --template template.html \
--css template.css --mathjax --toc --toc-depth 2
pandoc -f markdown+simple_tables+pandoc_title_block \
-t slidy document2_0.md -o document2_0_slidy.html \
--css template.css --mathjax --toc --toc-depth 3
Publier sur un wiki ou un site web
Il est aussi possible d'exporter le contenu d'un document vers la syntaxe dokuwiki, ce qui peut être très utile !
#!/bin/bash
pandoc -f markdown+simple_tables+pandoc_title_block \
-t dokuwiki -s presentation.md -o presentation.dokuwiki
Références
- Source des templates Bootstrap CSS et HTML: tonyblundell/pandoc-bootstrap-template
- Guide Pandoc Markdown
- Beaucoup de StackOverflow !!!
- Logo Desjardins