Mdbook

Mdbook est un outil extraordinaire, il permet d’écrire quelque chose morceau par morceau et de l’assembler dans un livre. Il est extrêmement facile à utiliser, vous écrivez en markdown le contenu de chaque chapitre, puis vous écrivez le résumé et laissez mdbook faire le reste. Il produira ensuite un site web html en fonction du contenu. Vous pouvez également produire un vrai livre ou un ebook à l’aide de quelques plugins.

Laissez-moi vous montrer en détail comment cela fonctionne. Tout d’abord, initialisons le livre :

mathieu@Balder ~/book ❯ mdbook init mynewbook

Quel titre voulez-vous donner à votre livre ?
Mon nouveau livre Exemple
2024-06-13 09:21:20 [INFO] (mdbook::book::init) : Création d'un nouveau livre avec un contenu stub

Tout est fait, pas d'erreur...

mathieu@Balder ~/book ❯ ls
mynewbook

mathieu@Balder ~/book ❯ cd mynewbook/

mathieu@Balder ~/book/mynewbook ❯ ls
book book.toml src

Mdbook a créé un répertoire pour le contenu du livre, dans ce répertoire il y a deux dossiers et un fichier. Le fichier book.toml décrit les métadonnées du livre et les informations nécessaires pour construire le livre. Par défaut, il construira un site web html et utilisera le répertoire “src”.

mathieu@Balder ~/book/mynewbook/src ❯ ls
chapter_1.md SUMMARY.md

Dans le répertoire “src”, il y a deux fichiers, le sommaire et le premier chapitre. Le sommaire est la colonne vertébrale du livre, il décrit le contenu du livre.

mathieu@Balder ~/book/mynewbook/src ❯ cat SUMMARY.md
# SUMMARY

- Chapitre 1](./chapitre_1.md)

Par défaut, il n’y a qu’un seul chapitre. Je vais en ajouter un en ajoutant simplement une ligne dans le fichier de résumé.

mathieu@Balder ~/book/mynewbook/src ❯ echo "- [Chapitre 2](./chapitre_2.md)" >> SUMMARY.md

Je peux alors construire mon premier livre.

mathieu@Balder ~/book/mynewbook ❯ mdbook build
2024-06-13 09:32:38 [INFO] (mdbook::book) : La construction du livre a commencé
2024-06-13 09:32:38 [INFO] (mdbook::book) : Exécution du backend html

Mdbook m’informe qu’il construit le livre (un site html) en utilisant le backend html. J’ai maintenant un site web parfaitement fonctionnel dans le répertoire book.

mathieu@Balder ~/book/mynewbook/book ❯ ls
404.html chapitre_2.html favicon.png highlight.css print.html tomorrow-night.css
ayu-highlight.css clipboard.min.js favicon.svg highlight.js searcher.js
book.js css FontAwesome index.html searchindex.js
chapitre_1.html elasticlunr.min.js fonts mark.min.js searchindex.json

mathieu@Balder ~/book/mynewbook/book ❯ firefox index.html

Mdbook peut aussi générer dynamiquement le contenu de ce répertoire et ouvrir mon navigateur web.

mdbook serve --open

Il peut aussi effectuer le rendu sous forme de livre pdf en utilisant des extensions (j’ai utilisé mdbook-pdf pour cet exemple). Il m’a suffit d’installer mdbook-pdf et d’ajouter à mon fichier book.toml les paramètres nécessaires.

mathieu@Balder ~/book/mynewbook ❯ cat book.toml

[livre]
auteurs = []
langue = "en"
multilingual = false
src = "src"

[output.html]

[output.pdf]


mathieu@Balder ~/book/mynewbook ❯ mdbook build
2024-06-13 11:12:27 [INFO] (mdbook::book) : La construction du livre a commencé
2024-06-13 11:12:27 [INFO] (mdbook::book) : Lancement du backend html
2024-06-13 11:12:27 [INFO] (mdbook::book) : Exécution du backend pdf
2024-06-13 11:12:27 [INFO] (mdbook::renderer) : Invocation du moteur de rendu "pdf
Génération du PDF, merci de patienter...
PDF généré avec succès à : /home/mathieu/book/mynewbook/book/pdf/output.pdf

Mon livre est maintenant également disponible au format pdf dans le répertoire book/pdf/output.pdf


MG1

untagged

496 mots

2024-06-13 09:15 +0200

.