Exporter en ePub, Kindle et MultiMarkdown avec Scrivener 3

Important : ceci est une traduction amateur à destination du public francophone d’un article posté par Literature and Latte, à l’origine en anglais.

Note: Cet article concerne les fonctionnalités à venir dans Scrivener 3, qui sera disponible sur macOS un peu plus tard cette année et sur Windows en 2018.

L’exportation au format ePub a été l’une des nombreuses fonctions que je voulais améliorer dans la version 3. Scrivener 2.x crée des fichiers ePub 2, même si la dernière norme ePub au moment où j’écris est la version 3.1. De plus, ces fichiers ePub 2 sont au fond plus chaotiques qu’autre chose. Un fichier ePub est essentiellement un package zip contenant une partie de fichiers aux formats HTML, CSS et XML (les fichiers CSS définissent le formatage utilisé dans le code HTML). Scrivener 2.x créé un fichier CSS séparé pour chaque fichier HTML dans le livre (alors qu’il est beaucoup plus simple de créer un unique fichier CSS qui est utilisé par tous les fichiers HTML), et le code HTML n’est pas très propre.

D’ordinaire, les fichiers contenus dans un format ePub ne devraient intéresser personne excepté ceux qui sont passionnés de parsimony (??) — le plus important est que le texte ressemble à ce qu’il est censé ressembler sur les liseuses électroniques. Toutefois, l’utilisation de plusieurs fichiers CSS a un effet négatif sur les fichiers Kindle. Quand vous exportez un fichier Kindle .mobi depuis Scrivener, il est construit en utilisant le même code qu’un export de fichiers au format ePub, et ensuite converti vers le format Kindle format en utilisant l’utilitaire Amazon KindleGen. Les fichiers Kindle générés par Scrivener rendent très bien sur les appareils Kindle, mais ils ne fonctionnent pas si bien avec l’option « Feuilleter » d’Amazon. C’est à cause d’un bug dans cette option qui ne considère les options de formatage que du premier fichier CSS du livre, sans regarder si c’est le fichier qui est supposé être utilisé pour le texte qui est affiché. Cela peut donc aboutir à un texte qui est formaté selon des informations erronées — pas la meilleure façon de faire découvrir votre livre aux lecteurs !

Tous ces soucis viennent d’une unique raison : le générateur HTML que Scrivener 2.x utilise. Pour créer des fichiers eBook, je dois convertir le texte formaté dans l’éditeur de texte de Scrivener vers un format HTML. Apple propose un convertisseur HTML intégré au système, donc j’ai toujours utilisé celui-ci. De plus, le logiciel proposé par Apple ne supporte que le HTML 4 (alors que le format ePub 3 nécessite HTML 5), et il produit un code HTML plutôt chaotique avec beaucoup de code mal organisé et pas toujours optimisé, et j’ai un contrôle très limité sur tout cela (il n’y a aucun moyen de le configurer pour qu’il n’utilise qu’un seul fichier CSS pour plusieurs fichiers exportés par exemple).

Pour Scrivener 3, j’avais donc besoin de trouver un moyen de convertir le texte formaté de Scrivener en HTML 5, et j’avais besoin d’un contrôle plus précis sur le code HTML généré. J’ai commencé par chercher un peu partout pour un convertisseur d’un autre développeur, mais il y en a très peu qui sont compatibles avec le système de gestion du texte d’Apple. J’ai donc envisagé de développer mon propre convertisseur intégralement, mais cela aurait été un sacré mammouth qui aurait nécessité énormément de maintenance.

La solution ? MultiMarkdown. MultiMarkdown peut déjà convertir du texte en HTML 5, et il le fait tellement proprement que cela permet un grand contrôle et une bonne flexibilité.

Le problème ? Pour que MultiMarkdown convertisse du texte en HTML 5, le texte doit être écrit dans une syntaxe spécifique (la syntaxe MultiMarkdown, donc — qui consiste à désigner du texte en gras ou en italique avec des asterisques, à faire des tableaux avec des tirets et des barres, des symboles représentant le début d’un paragraphe de citations, et ainsi de suite. Vous ne pouvez pas simplement convertir du texte formaté en MultiMarkdown et espérer conserver l’intégralité du formatage intact.

La solution au problème avec la solution ? J’ai passé plusieurs semaines à développer intégralement un convertisseur de texte formaté vers le MultiMarkdown. Il prend un document contenant du texte formaté et le convertit intégralement en syntaxe MultiMarkdown : texte en gras, en italique, les notes de bas de page, les tableaux, les listes, les citations — le boulot. Avec ce convertisseur en place, pour générer un fichier ePub 3 ou un fichier Kindle amélioré, je pouvais en interne convertir le texte formaté en MultiMarkdown, et ensuite le MultiMarkdown en HTML 5.

Le résultat de tout ça est donc :

  • Scrivener 3 peut exporter au format ePub 3.
  • Son export vers le format Kindle est vraiment amélioré, et devrait désormais fonctionner parfaitement avec l’option « Feuilleter » d’Amazon.
  • Les fichiers à l’intérieur des formats ePub 3 et Kindle sont plus concis, et ne contiennent qu’un fichier CSS.
  • Dans la Compilation, vous pouvez en option réécrire le CSS qui est généré. Cela signifie que ceux qui connaissent le CSS peuvent ajouter des options comme les enluminures (drop caps) (bien que bon nombre de liseuses électroniques ne supportent pas encore vraiment l’option) ou quoi que ce soit d’autre que le CSS et les liseuses peuvent gérer.
  • Dans Scrivener 3, un effet collatéral plutôt sympa à tout ce travail, vous pouvez exporter dans n’importe quel format MultiMarkdown même si vous n’écrivez pas en utilisant la syntaxe MultiMarkdown : vous pouvez simplement cocher une case et avoir tout votre texte converti en MultiMarkdown au cours de l’export.

Compiler un fichier ePub 3 est directement lié à la nouvelle gestion des styles de Scrivener 3 — pour que les blocs de citation et d’autres formatages apparaissent comme prévu dans l’eBook exporté, vous allez devoir appliquer des styles au texte (quelque chose qui n’était pas disponible dans les versions précédentes de Scrivener). Pour rendre la transition vers Scrivener 3 aussi douce que possible, vous allez avoir un temps le choix entre l’export en ePub 3 et ePub 2 (et entre l’ancienne et la nouvelle version de l’export Kindle). Cela signifie que que vous n’avez pas à vous inquiéter de la mise à jour du texte dans les projets existants en utilisant les styles juste pour que votre export en ePub ou Kindle fonctionne — vous pouvez continuer à utiliser les anciens modes d’exportation jusqu’à ce que vous soyez prêts à mettre à jour votre texte ou commencer un nouveau projet.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion /  Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion /  Changer )

w

Connexion à %s