2023-04-19 12:29:23 +02:00
|
|
|
|
---
|
|
|
|
|
title: Rendez-vous de l'info scientifique sur markdown
|
|
|
|
|
date: 2023-04-19T10:13:18+02:00
|
|
|
|
|
id: 20230419101340
|
|
|
|
|
tags: [rdv-info, documentation, markdown]
|
|
|
|
|
---
|
2023-04-19 10:06:41 +02:00
|
|
|
|
|
2024-04-19 16:23:15 +02:00
|
|
|
|
## [Introduction à la prise de notes avec Markdown][1]
|
2023-04-19 12:29:23 +02:00
|
|
|
|
|
2024-04-19 16:23:15 +02:00
|
|
|
|
Ce répertoire contient le matériel utilisé pour le [rendez-vous de l'info
|
|
|
|
|
scientifique sur Markdown][2] proposés par la bibliothèque de l'Université de
|
|
|
|
|
Genève.
|
2023-04-19 12:29:23 +02:00
|
|
|
|
|
2024-04-19 16:23:15 +02:00
|
|
|
|
Les sources du support de cours sont dans le fichier [`intro/intro.html`][4].
|
|
|
|
|
|
|
|
|
|
La dernière version du support de cours au format PDF se trouve dans la
|
|
|
|
|
dernière [publication de version][3].
|
2023-04-25 16:53:48 +02:00
|
|
|
|
|
|
|
|
|
## Pré-requis
|
|
|
|
|
|
|
|
|
|
- `pandoc`.
|
|
|
|
|
- `pagedjs-cli` (`npm install -g puppeteer pagedjs pagedjs-cli`).
|
|
|
|
|
|
|
|
|
|
## Génération du PDF
|
|
|
|
|
|
2024-04-19 16:23:15 +02:00
|
|
|
|
Le support de cours est rédigé au format markdown, en utilisant des
|
|
|
|
|
fonctionnalités propres au `pandoc-markdown`. La génération du PDF s'appuie sur
|
|
|
|
|
`pagedjs`, un modèle HTML (`template.html`) et des règles de styles
|
|
|
|
|
(`styles.css`). Le fichier des règles de style est commenté, ce qui devrait
|
|
|
|
|
permettre de comprendre son fonctionnement.
|
|
|
|
|
|
2023-04-25 16:53:48 +02:00
|
|
|
|
Lancer les commandes depuis le répertoire contenant le fichier source au format
|
2024-04-19 16:23:15 +02:00
|
|
|
|
Markdown, à savoir `./intro`.
|
2023-04-25 16:53:48 +02:00
|
|
|
|
|
|
|
|
|
Pour générer le fichier HTML à servir par un serveur web pour le visualiser
|
|
|
|
|
dans le navigateur, il faut utiliser `pandoc` avec les paramètres suivants (à
|
|
|
|
|
adapter au fichier à générer) :
|
|
|
|
|
|
|
|
|
|
```bash
|
2024-04-19 16:23:15 +02:00
|
|
|
|
pandoc --to=html \
|
2023-04-25 16:53:48 +02:00
|
|
|
|
--template=../template.html --css=../style.css \
|
|
|
|
|
--toc --toc-depth=2 --citeproc \
|
|
|
|
|
--output=intro.html intro.md
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
- `--to=html` pour convertir vers du HTML.
|
|
|
|
|
- `--template=` et `--css=` indiquent quels modèle et feuille de style
|
|
|
|
|
utiliser.
|
2024-04-19 16:23:15 +02:00
|
|
|
|
- `--toc` et `--toc-depth=2` génèrent la table des matière en n'allant pas plus
|
2023-04-25 16:53:48 +02:00
|
|
|
|
loin que les titres de niveau 2.
|
|
|
|
|
- `--citeproc` indique qu'il faut tenir compte des citations et générer la
|
|
|
|
|
bibliographie.
|
|
|
|
|
- `--output=` précise où et à quel nom générer le fichier de sortie.
|
|
|
|
|
|
2024-04-19 16:23:15 +02:00
|
|
|
|
Une fois le fichier HTML généré, il faut lancer un serveur web depuis la racine
|
|
|
|
|
du projet, par exemple avec `python` :
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
python -m http.server
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Puis, ouvrir le navigateur Chromium (ou Chrome) à l'URL
|
|
|
|
|
<http://localhost:8000>. En effet, Firefox supporte un peu moins bien
|
|
|
|
|
`pagedjs`, notamment pour l'impression en PDF. Pour éviter la coloration des
|
|
|
|
|
liens déjà visités, la fonction « navigation privée » est bien utile.
|
|
|
|
|
|
|
|
|
|
Cet affichage permet d'inspecter les règles CSS et de les modifier à la volée
|
|
|
|
|
pour comprendre comment améliorer le rendu, et d'imprimer la page web au format
|
|
|
|
|
PDF (`ctrl+p`).
|
|
|
|
|
|
|
|
|
|
Pour générer directement le PDF, deux possibilités s'ouvrent à vous, avec des
|
|
|
|
|
résultats différents. Soit en utilisant `pagedjs` directement avec `pandoc` :
|
2023-04-25 16:53:48 +02:00
|
|
|
|
|
|
|
|
|
```bash
|
2024-04-19 16:23:15 +02:00
|
|
|
|
pandoc --citeproc \
|
2023-04-25 16:53:48 +02:00
|
|
|
|
--to=pdf --pdf-engine=pagedjs-cli \
|
|
|
|
|
--css=../style.css --toc --toc-depth=2 \
|
|
|
|
|
--output=intro.pdf intro.md
|
|
|
|
|
```
|
|
|
|
|
|
2024-04-19 16:23:15 +02:00
|
|
|
|
Soit en utilisant `pagedjs` pour convertir le fichier HTML obtenu par pandoc
|
|
|
|
|
plus haut :
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
pandoc --to=html \
|
|
|
|
|
--template=../template.html --css=../style.css \
|
|
|
|
|
--toc --toc-depth=2 --citeproc \
|
|
|
|
|
--output=intro.html intro.md \
|
|
|
|
|
&& pagedjs-cli intro.html \
|
|
|
|
|
--css=../style.css \
|
|
|
|
|
-o intro.pdf
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
<!-- liens -->
|
2023-04-19 12:29:23 +02:00
|
|
|
|
|
2024-04-19 16:23:15 +02:00
|
|
|
|
[1]: ./
|
|
|
|
|
[2]: https://www.unige.ch/biblio/index.php?cID=4127
|
|
|
|
|
[3]: https://git.milhit.ch/igor/rdv-info-markdown/releases/latest
|
|
|
|
|
[4]: ./intro/intro.md
|