Le blog de Lizzie Crowdagger

Ici, je discute écriture et auto-édition, fanzines et livres numériques, fantasy et fantastique, féminisme et luttes LGBT ; et puis de mes livres aussi quand même pas mal
Home

Aller au menu | Aller à la recherche

Crowbook : un outil pour transformer un livre vers HTML, Epub et PDF

, 22:22 - Lien permanent

Grâce à l'argent que je gagne avec les ventes de mes livres, j'ai décidé d'embaucher une informaticienne indépendante pour qu'elle me fasse un logiciel adapté à mes besoins (et peut-être aux vôtres, sait-on jamais). J'ai donc le plaisir de vous présenter Crowbook, un outil pour transformer un livre écrit en Markdown en différents formats (HTML, EPUB, PDF, et en théorie ODT même s'il y a encore du boulot à faire pour ce dernier).

Pourquoi ?

Cela fait un certain temps que je suis passée au format Markdown pour écrire mes nouvelles et romans, parce que je trouve ça simple et efficace, puisqu'il s'agit essentiellement (du moins pour un roman) de texte brut, avec quelques balises pour les chapitres, le gras, etc.. Par exemple :

Chapitre 1
======

Un paragraphe dont un morceau est *en italiques*.

Cependant, la « chaîne » que j'utilisais avant me posait quelques soucis : c'était un peu compliqué (il y avait des tas de Makefiles partout, un scrpit qui preprocessait mes fichiers pour gérer les espaces insécables, etc.) et le résultat n'était pas toujours aussi customisable que je l'aurais voulu. Je voulais donc un outil :

  • où j'ai un fichier unique en entrée, qui établit différentes options pour le roman (son titre, sa langue, son fichier de couverture) et liste tous les fichiers Markdown qui constituent les chapitres ;
  • et qui me donne un résultat qui correspond à ce que je veux sans que j'ai besoin de passer cinquante options (s'il y a des options à passer, je veux les mettre une fois pour toutes dans le fichier de configuration).

Le résultat

Le résultat c'est donc Crowbook. Je n'ai pas encore eu le temps de passer tous mes textes sur cet outil (surtout que je voudrais en profiter pour corriger certaines choses sur un ou deux), mais vous pouvez déjà voir le résultat pour Pas tout à fait des hommes (HTML, PDF, EPUB, ODT).

Installer Crowbook

Crowbook est un logiciel libre (licence LGPL), donc vous pouvez l'utiliser librement, accéder à ses sources, les modifier, etc. Pour télécharger Crowbook, le plus simple est probablement de télécharger un exécutable précompilé :

(Si vous êtes sous Debian ou Ubuntu, vous pouvez maintenant aussi récupérer un ".deb" et l'installer avec sudo dpkg -i crowbook-0.4.0-1_i686.deb ; auquel cas, ignorez les instructions ci-dessous ^^)

(Vous pouvez également le compiler à partir des sources ; pour cela je vous invite à regarder la page Github du projet.)

Une fois que vous avez extrait le programme crowbook de l'archive, vous pouvez l'exécuter directement en vous plaçant dans le bon répertoire. Cela dit, vous voudrez peut-être l'installer dans un répertoire accessible par votre PATH pour pouvoir l'exécuter depuis n'importe où. il y a pour cela la méthode bourrin, qui nécessite les droits d'utilisateur root :

$ sudo cp crowbook /usr/bin

mais je recommande plutôt de l'installer dans votre répertoire HOME :

$ cp crowbook ~/bin
$ export PATH=–/bin/:$PATH

(la dernière ligne est à copier dans votre fichier .bashrc si vous ne voulez pas avoir à la retaper à chaque fois que vous ouvrez un terminal.)

Et voilà !

(Ces indications sont valables pour Linux et devraient être vraies aussi pour Mac OS X. Je ne sais pas comment on fait sous Windows, désolée.)

Utilisation

Pour initialiser un livre avec un certain nombre de fichiers Markdown:

$ crowbook --create mon_livre.book chapitre_*.md

Il faut ensuite éditer à la main le fichier mon_livre.book. Ce n'est pas si compliqué, celui pour Pas tout à fait des hommes se limite à ça :

author: Lizzie Crowdagger
title: Pas tout à fait des hommes
lang: fr
subject: fantasy

cover: couv/cover.png
epub.version: 3

output.epub: endr.epub
output.html: endr.html
output.pdf: endr.pdf
output.odt: endr.odt

- chapitre_01.md
- chapitre_02.md
...
- chapitre_15.md

ensuite, il suffit de faire

$ crowbook mon_livre.book

et roulez jeunesse ! (Il y a plus d'options, cela dit, mais pour plus d'informations allez voir la page GitHub).

Spécificités de Crowbook

Alors peut-être que vous êtes un peu rabat-joie et que vous vous dites « d'accord, tout ça c'est bien beau, mais il y a déjà des programmes qui font ça, celui il a quoi de particulier ? ». Ce à quoi je répondrai que, d'abord, il y a Crow dans le nom, ce qui fait que c'est quand même tout de suite beaucoup plus cool. Je veux dire, si vous avez le choix, dans une soirée un peu classe, entre dire « pour mes bouquins j'utilise Gitbook » et « pour mes bouquins, j'utilise Crowbook », vous préférez quelle version ?

Ensuite, crowbook essaie de prendre en compte les soucis de la typographie française (et peut-être d'autres langues dans un futur lointain), et notamment ces purée de @!#☠ d'espaces insécables à mettre avant '?', ';' ou encore '!'. À ma dernière poussée de rigidité typographique, je m'étais amusée à regarder sur quelques-uns des livres numériques que j'avais achetés, combien mettaient correctement des espaces fines insécables avant les signes de ponctuation double. Eh bien, il n'y en avait aucun. Sérieusement, il y en a qui vont pleurer parce que maintenant on peut écrire « nénufar » mais ça ne choque personne que dans des livres publiés, de la Littérature, oui Madame, on estime que « oh une espace fine insécable c'est trop dur à mettre j'ai qu'à mettre une espace insécable justifiante à la place » ?

Bon, j'ai bien conscience que ces histoires d'espaces fines insécables, d'espaces cadratins et compagnie, ça peut sembler abstrait et abscons, mais voici un exemple du rendu que ça peut donner pour les dialogues, où il faut normalement utiliser une espace de taille fixe (en l'occurrence cadratin) et non pas justifiante (dont la taille va varier pour que le texte soit aligné à droite). Dans un cas (à droite) on va avoir des débuts de dialogue alignés, c'est propre, c'est carré, dans l'autre les répliques ne sont pas alignées :

crowbook2.png

(Remarque : j'ai dû faire remonter un bug dans Crowbook aujourd'hui (en vérifiant le rendu de certains fichiers) puisqu'auparavant il affichait une espace fine insécable, ce qui « collait » les dialogues au tiret. Comme quoi essayer d'avoir une typographie correcte, ce n'est vraiment pas évident...)

Cave canem Caveat emptor

Crowbook est actuellement en version 0.4. Le numéro plutôt bas devrait vous mettre la puce à l'oreille : ce n'est encore pas très mature, il y a sans doute des bugs, etc. Par ailleurs :

  • le programme utilise la commande zip pour générer les fichiers EPUB, donc ça ne marchera pas si elle n'est pas installée sur votre système (même si ça me paraît peu probable ?) ;
  • de même, c'est latex qui est utilisé pour générer du PDF, et il est pour le coup moins improbable que ce logiciel ne soit pas installé sur votre machine.

Voilà, je crois que c'est tout pour le moment. Sur ce, je vais retourner m'atteler à la conversion de mes livres, en espérant ne pas trop découvrir de bugs !

(Billet mis à jour le premier mars 2016)

880 lectures

Commentaires

1. Le samedi, février 27 2016, 18:47 par Stéphane Mourey

Cool ! Je ressens exactement le même genre de difficulté à supporter tous ces formats de sortie à partir d'un source en Markdown ! Je vais donner sa chance à Crowbook dès que possible !

Ajouter un commentaire

Le code HTML est affiché comme du texte et les adresses web sont automatiquement transformées.

Fil des commentaires de ce billet