Dans un article précédent, j'ai couvert la procédure de conversion par lots d'une poignée de fichiers Markdown en HTML à l'aide de pandoc. Dans cet article, plusieurs fichiers HTML ont été créés, mais pandoc peut faire bien plus. Il a été appelé « le couteau suisse » de la conversion de documents – et avec raison. Il n'y a pas grand-chose qu'il ne puisse pas faire.
Pandoc peut convertir .docx, .odt, .html, .epub, LaTeX, DocBook, etc. vers ces formats et d'autres, tels que JATS, TEI Simple, AsciiDoc, etc.
Oui, cela signifie que pandoc peut convertir des fichiers .docx en .pdf et .html, mais vous pensez peut-être :« Word peut également exporter des fichiers vers .pdf et .html. Pourquoi aurais-je besoin de pandoc ?"
Vous auriez un bon point là-bas, mais comme pandoc peut convertir autant de formats, il pourrait bien devenir votre outil de choix pour toutes vos tâches de conversion. Par exemple, beaucoup d'entre nous savent que les éditeurs Markdown peuvent exporter leurs fichiers Markdown vers .html. Avec pandoc, les fichiers Markdown peuvent également être convertis dans de nombreux autres formats.
J'ai rarement une exportation Markdown vers HTML; Je laisse normalement pandoc le faire.
Convertir les formats de fichiers avec Pandoc

Ici, je vais convertir les fichiers Markdown en quelques formats différents. J'écris presque tous mes écrits en utilisant la syntaxe Markdown, mais je dois souvent convertir dans un autre format :les fichiers .docx sont généralement nécessaires pour les travaux scolaires, .html pour les pages Web que je crée - et pour le travail .epub, .pdf pour les dépliants et des documents à distribuer, et même occasionnellement un fichier TEI Simple pour un projet universitaire d'humanités numériques. Pandoc peut gérer tout cela, et plus encore, facilement.
Tout d'abord, vous devez installer pandoc. De plus, pour créer des fichiers .pdf, LaTeX sera également nécessaire. Le package que je préfère est TeX Live.
Remarque :Si vous souhaitez essayer pandoc avant de l'installer, il existe une page d'essai en ligne à l'adresse :http://pandoc.org/try/
Installer pandoc et texlive
Les utilisateurs d'Ubuntu et d'autres distributions Debian peuvent saisir les commandes suivantes dans le terminal :
sudo apt-get update
sudo apt-get install pandoc texlive
Remarquez sur la deuxième ligne, vous installez pandoc et texlive en une seule fois. La commande apt-get n'aura aucun problème avec cela, mais allez prendre un café; cela peut prendre quelques minutes.
Passer à la conversion
Une fois pandoc et texlive installés, vous pouvez graver du travail !
L'exemple de document pour ce projet sera un article qui a été publié pour la première fois dans la North American Review en décembre 1894, et s'intitule:"Comment repousser les voleurs de train". Le fichier Markdown que j'utiliserai a été créé il y a quelque temps dans le cadre d'un projet de restauration.
Le fichier :how_to_repel_train_robbers.md
se trouve dans mon répertoire Documents, dans un sous-répertoire nommé samples. Voici à quoi cela ressemble dans Ghostwriter.

Je souhaite créer des versions .docx, .pdf et .html de ce fichier.
La première conversion
Je vais d'abord commencer par faire une copie .pdf, car j'ai eu la difficulté d'installer un paquet LaTeX.
Dans le répertoire ~/Documents/samples/, je tape ce qui suit pour créer un fichier .pdf :
pandoc -o htrtr.pdf how_to_repel_train_robbers.md
La commande ci-dessus créera un fichier appelé htrtr.pdf à partir du fichier how_to_repel_train_robbers.md. La raison pour laquelle j'ai utilisé htrtr comme nom est qu'il est plus court que how_to_repel_train_robbers - htrtr est la première lettre de chaque mot dans le titre long.
Voici un instantané du fichier .pdf une fois créé :

La deuxième conversion
Ensuite, je veux créer un fichier .docx. La commande est presque identique à celle que j'ai utilisée pour créer le .pdf et c'est :
pandoc -o htrtr.docx how_to_repel_train_robbers.md
En un rien de temps, un fichier .docx est créé. Voici à quoi cela ressemble dans Libre Writer :

La troisième conversion
Je voudrais peut-être publier ceci sur le Web, donc une page Web serait bien. Je vais créer un fichier .html avec cette commande :
pandoc -o htrtr.html how_to_repel_train_robbers.md
Encore une fois, la commande pour le créer ressemble beaucoup aux deux dernières conversions. Voici à quoi ressemble le fichier .html dans un navigateur :

Vous avez encore remarqué quelque chose ?
Reprenons les commandes passées. Ils étaient :
pandoc -o htrtr.pdf how_to_repel_train_robbers.md
pandoc -o htrtr.docx how_to_repel_train_robbers.md
pandoc -o htrtr.html how_to_repel_train_robbers.md
La seule chose différente à propos de ces trois commandes est l'extension à côté de htrtr. Cela vous donne un indice que pandoc s'appuie sur l'extension du nom de fichier de sortie que vous fournissez.
Conclusion
Pandoc peut faire bien plus que les trois petites conversions effectuées ici. Si vous écrivez avec un format préféré, mais que vous devez convertir le fichier dans un autre format, il y a de fortes chances que pandoc puisse le faire pour vous.
Que feriez-vous avec ça ? Voulez-vous automatiser cela ? Et si vous disposiez d'un site Web contenant des articles à télécharger par vos lecteurs ? Vous pouvez modifier ces petites commandes pour qu'elles fonctionnent comme un script et vos lecteurs peuvent décider du format qu'ils souhaitent. Vous pouvez proposer .docx, .pdf, .odt, .epub ou plus. Vos lecteurs choisissent, le script de conversion approprié s'exécute et vos lecteurs téléchargent leur fichier. Cela peut être fait.