Lizzie Crowdagger : le blog

Un blog avec de la fantasy urbaine, des lesbiennes, des vampires, des flingues et des motos
Home

Aller au menu | Aller à la recherche

Crowbook, logiciel libre pour convertir vos livres écrits en Markdown vers PDF, HTML et EPUB, maintenant en version 0.13.0

, 19:59

Logo du logiciel libre Crowbook, qui convertit du Markdown vers PDF, HTML et EPUB

Vu que ça fait plus de six mois que je n’en avais pas parlé, voici un nouveau billet consacré à Crowbook !

Crowbook, c’est quoi ?

Crowbook est un logiciel libre (licence LGPL) qui convertit des livres écrits au format Markdown vers les format HTML, EPUB et PDF (en passant par LaTeX). Par rapport à d’autres équivalents, Crowbook essaie de faire un peu plus attention à la typographie, particulièrement française, et propose quelques fonctionnalités un peu particulières.

C’est ce que j’utilise maintenant pour la totalité de mes textes auto-édités, que ce soit pour la version disponible sur ce site, pour les fichiers vendus sur les plate-formes de vente en ligne, ou pour les impressions papier. Si vous voulez voir à quoi ça peut ressembler, vous pouvez regarder au hasard Pas tout à fait des hommes, en version PDF, HTML ou EPUB.

Le format Markdown

L’intérêt du format Markdown pour des textes de fiction, c’est que c’est essentiellement du texte brut et qu’on peut taper à la chaîne sans se poser de questions : c’est le convertisseur qui s’occupe de tout. Un petit exemple :

# Un titre de chapitre

Il y a un peu de syntaxe pour formater un peu, mais en vrai pour un roman à part les
chapitres (marqués avec un # en début de ligne), les sauts de paragraphe (indiqués 
par une vide) et les *italiques* ,on n'a pas besoin de grand-chose !

*****

Ah, si, il y a la ligne avec les petites étoiles pour séparer des scènes, que j'utilise
pas mal aussi. Voilà, vous connaissez les trois éléments de syntaxe Markdown
nécessaires pour rédiger un roman !

Le « format Crowbook »

Bon, avec ça vous avez un contenu, mais il manque encore des choses pour générer de vrais documents finis, comme donner un nom d’auteur, un titre à l’œuvre, préciser la langue, dire quels formats doivent être générés, éventuellement mettre une image de couverture, etc. Pour ça, il faut passer quelques indications en plus à Crowbook. Pour un texte court, ça peut se faire à l’intérieur du fichier Markdown, en mettant ces indications en en-tête :

---
author: Jean-Pierre Écrivain
title: Ma première Œuvre !
lang: fr

output: [pdf, html, epub]
---

Ma première Œuvre !
=============

Voilà ma première Œuvre ! Je suis *super* content ! 
Grâce à Crowbook, je n'ai pas à me prendre la tête 
avec la mise en page, la typographie et tout ce merdier,
c'est fabuleux !

*****

Je vais de ce pas publier sur les plate-formes de vente 
en ligne et devenir riche.

Une fois le texte écrit, il n’y a plus qu’à exécuter une simple ligne de commande, crowbook -s oeuvre.md, pour générer les fichiers HTML, PDF, et EPUB. Évidement, pour un roman, il y aura plusieurs chapitres, et il faudra un fichier différent pour la configuration du livre que pour les chapitres écrits en Markdown, mais ce n’est guère plus compliqué :

author: Jean-Pierre Écrivain
title: Mon premier roman !
lang: fr

output: [pdf, html, epub]

- prologue.md
+ chapitre_01.md
+ chapitre_02.md
(...)

Fonctionnalités

Bon, vous allez me dire : d’accord, c’est bien beau, mais il y a déjà plein de logiciels libres qui font plus ou moins la même chose, alors c’est quoi les particularités de Crowbook (à part que c’est mon bébé) ?

Grosso-modo, la particularité de Crowbook est de cibler principalement les écrivain·e·s de fiction, avec un focus particulier pour la langue française. Donc concrètement :

  • Crowbook essaie de respecter la typographie, et particulièrement les règles françaises (lorsque la langue est mise à “fr”), sans que vous ayez à faire quoi que ce soit. Il devrait notamment produire des espaces insécables de manière correcte ou des apostrophes typographiques sans que vous ayez à vous en occuper.
  • Pour faciliter la relecture, Crowbook a une option (--proofread) pour s’intégrer à un correcteur grammatical (LanguageTool ou Grammalecte) ou pour détecter les répétitions dans votre texte.
  • Crowbook propose également un support (actuellement) expérimental pour rédiger des fictions interactives.
Exemple d'utilisation de Crowbook pour la relecture, en utilisant Grammalecte pour la correction grammaticale et en soulignant les répétitions en plus
Exemple d’utilisation de Crowbook pour la relecture. Crowbook se connecte au serveur Grammalecte pour corriger la grammaire, souligne également (optionnellement) les répétitions, et génère un fichier HTML pour la relecture.

Installer Crowbook

Si vous voulez installer Crowbook, vous pouvez télécharger les exécutables pour la dernière version :

Vous pouvez aussi regarder les instructions pour le compiler sur la page Github.

Quoi de neuf ?

Bon, et du coup, cette version 0.13.0, elle apporte quoi de nouveau, par rapport à la dernière fois que j’en ai parlé ? Eh, bien, en dehors de corrections de bugs et de petites améliorations, notons :

  • Le support de Grammalecte pour la correction grammaticale ;
  • Un début de support pour écrire des fictions interactives, même si je n’ai pour l’instant pas d’exemple à vous montrer.
  • Des fichiers de configuration un peu moins verbeux, en permettant notamment de spécifier d’un coup output: [pdf, html, epub, odt, proofread.html] pour générer des fichiers de sortie nommés d’après votre fichier de configuration, plutôt que d’avoir à les spécifier individuellement.
  • Plus de possibilités de configuration.
  • L’affichage d’un message d’erreur, tout en essayant de continuer, plutôt que d’arrêter sur le moment.
  • Le support de la coloration syntactique (pour le code) y compris dans les fichiers PDF et EPUB (grâce à Syntect).
Capture d'écran d'une mystérieuse fiction interactive qui est encore en cours de retravail mais à laquelle vous pourrez peut-être jouer un jour
Capture d’écran d’une mystérieuse fiction interactive qui est encore en cours de retravail mais à laquelle vous pourrez peut-être jouer un jour.

Plus d’informations

Pour plus d’informations, consultez la la page Github ou le guide d’utilisation (pour l’instant, les deux sont uniquement en anglais).

Si vous voulez voir un peu plus interactivement à quoi ça ressemble et ce que peut donner Crowbook, vous pouvez jouer avec la version de démo en ligne (plus très à jour, cela dit). Pour des exemples plus concrets (avec des options un peu plus complexes utilisées), vous pouvez aussi regarder le dépôt Github contenant mes textes publics.

Bilan et perspectives

Au départ Crowbook n’était qu’un petit projet expérimental sur lequel je ne pensais pas passer autant de temps. C’est devenu un peu plus gros que ce à quoi je m’attendais. Ça correspond à mes besoins depuis un certain temps, puisque je l’utilise pour tous mes romans et nouvelles, ce qui me donne l’occasion régulièrement de trouver un bug à corriger ou une fonctionnalité à ajouter (c’est le principe du dogfooding)

Si ça peut aussi convenir à d’autres personnes, j’en serai très heureuse. Il y a cependant encore du travail à faire pour rendre ça plus accessible, et notamment pour améliorer la documentation et en proposer une version française (j’ai repris ce passage tel quel depuis mon ancien billet, et je n’ai pas vraiment bossé là-dessus depuis, oups), puisque je pense que Crowbook a surtout de l’intérêt pour les auteurs et autrices francophones. Il y a aussi — toujours — un travail de polissage à faire, améliorer la mise en page proposée par défaut, corriger des bugs, etc, même si je pense que ça s’est amélioré en six mois.

Je me tâte à travailler sur une version proposant une interface graphique, qui pourrait rendre le logiciel plus simple d’accès pour des personnes n’appréciant pas la beauté de la ligne de commandes, mais ça me demanderait pas mal de boulot et dans un domaine pour lequel je ne suis pas très compétente. On verra.

Bref, si vous testez Crowbook et que ça correspond à vos attentes, j’en serai très contente, si vous testez Crowbook et que ça ne correspond pas à vos attentes, n’hésitez pas à faire un bug report pour expliquer ce qui ne va pas.


Si vous aimez ce que j’écris (ou le logiciel Crowbook ^^), vous pouvez me soutenir en vous abonnant (à partir d’1€ par mois) sur Tipeee, et vous aurez en contrepartie accès à des textes inédits (et des zines à partir de 5€ par mois !).

Abonnez-vous sur : tipeee

Pour être tenu·e au courant de mes dernières parutions, vous pouvez vous inscrire à ma liste de diffusion (faible trafic, pas plus d’un message par mois) :

Billets connexes

Crowbook, version 0.11.0

, 13:46

logo.png

Oui, je viens encore vous embêter avec Crowbook, mais, promis, c'est la dernière fois de l'année !

Mais c'est quoi, déjà ?

Pour rappel, Crowbook est un logiciel libre (licence LGPL) qui convertit des fichiers écrits au format Markdown vers du PDF, de l'HTML ou de l'EPUB. Par rapport à d'autres équivalents, Crowbook essaie de faire un peu plus attention à la typographie, particulièrement française.

C'est ce que j'utilise maintenant pour la totalité de mes textes auto-édités, que ce soit pour la version disponible sur ce site, pour les fichiers vendus sur les plate-formes de vente en ligne, ou pour les impressions papier.

Le format Markdown

L'intérêt du format Markdown pour des textes de fiction, c'est que c'est essentiellement du texte brut et qu'on peut taper à la chaîne sans se poser de questions : c'est le convertisseur qui s'occupe de tout. Un petit exemple :

Un titre de chapitre
============

Ensuite, c'est juste du texte brut. Il y a un peu de syntaxe pour formater un peu,
mais en vrai pour un roman à part les *italiques* on n'a pas besoin de grand chose !

*****

Ah, si, il y a la ligne avec les petites étoiles pour séparer des scènes que j'utilise
pas mal aussi. Voilà, vous connaissez les trois éléments de syntaxe Markdown
nécessaires pour rédiger un roman !

Le « format Crowbook »

Bon, avec ça vous avez un contenu, mais il manque encore des choses pour générer de vrais documents finis, comme donner un nom d'auteur, un titre à l'œuvre, préciser la langue, dire quels formats doivent être générés, éventuellement mettre une image de couverture, etc. Pour ça, il faut passer quelques indications en plus à Crowbook. Pour un texte court, ça peut se faire à l'intérieur du fichier Markdown, en mettant ces indications en en-tête :

---
author: Jean-Pierre Écrivain
title: Ma première Œuvre !
lang: fr

output.html: oeuvre.html
output.pdf: oeuvre.pdf
output.epub: oeuvre.epub
---

Ma première Œuvre !
=============

Voilà ma première Œuvre ! Je suis *super* content ! 
Grâce à Crowbook, je n'ai pas à me prendre la tête 
avec la mise en page, la typographie et tout ce merdier,
c'est fabuleux !

*****

Je vais de ce pas publier sur les plate-formes de vente 
en ligne et devenir riche.

Une fois le texte écrit, il n'y a plus qu'à exécuter une simple ligne de commande, crowbook -s oeuvre.md, pour générer les fichiers HTML, PDF, et EPUB. Évidement, pour un roman, il y aura plusieurs chapitres, et il faudra un fichier différent pour la configuration du livre que pour les chapitres écrits en Markdown, mais ce n'est guère plus compliqué :

author: Jean-Pierre Écrivain
title: Mon premier roman !
lang: fr

output.html: roman.html
output.pdf: roman.pdf
output.epub: roman.epub

- prologue.md
+ chapitre_01.md
+ chapitre_02.md
(...)

Démo et exemples

Si vous voulez voir un peu plus interactivement à quoi ça ressemble et ce que peut donner Crowbook, vous pouvez jouer avec la version de démo en ligne. Pour des exemples plus concrets (avec des options un peu plus complexes utilisées), vous pouvez aussi regarder le dépôt Github contenant mes textes publics.

Installer Crowbook

Si vous voulez installer Crowbook, vous pouvez télécharger les exécutables pour la dernière version :

Vous pouvez aussi regarder les instructions pour le compiler sur la page Github.

Plus d'informations

Pour plus d'informations, consultez la la page Github ou le guide d'utilisation (pour l'instant, les deux sont uniquement en anglais).

Quoi de neuf, docteur ?

Bon, et du coup, cette version 0.11.0, elle apporte quoi de nouveau ? Eh, bien, pas mal de choses, à vrai dire, mais les plus importantes sont les suivantes :

Gestion des parties

C'était un truc qui me bloquait encore pour passer un texte ou deux à Crowbook (notamment L'énième Prophétie, même si ce n'est pas franchement le texte que je trouvais le plus urgent de republier, mais ça pourrait concerner aussi Une autobiographie transsexuelle (avec des vampires) – mais comme celui-ci a trouvé un éditeur ce n'est plus moi qui m'occupe de sa mise en page – ou La chair & le sang – mais il faudrait d'abord que je finisse de l'écrire) : la gestion des parties, au-dessus des chapitres donc. Maintenant que c'est fait, ça veut dire que je vais pouvoir finir de passer mes livres sous Crowbook (c'est en cours pour L'Énième Prophétie, qui était le seul à ne pas y être passé et à qui il ne manque plus qu'une relecture).

Des corrections et ajouts de fonctionnalités mineures

Cette version corrige aussi un certain nombre de choses (comme des petits soucis dans la table des matières EPUB si vous vouliez afficher plus que les chapitres), ajoute des petites fonctionnalités (comme la possibilité d'utiliser des nombres romains pour numéroter les chapitres, ou encore celle de mettre une favicon pour les documents HTML). Rien de majeur cependant, mais des petits trucs en plus.

Un petit nettoyage de printemps hiver

Même si ça n'est pas forcément le truc le plus voyant, il y aussi eu un boulot de fait pour nettoyer l'« interface », c'est à dire à la fois le nom des options qu'on peut passer à Crowbook, mais aussi celui des fonctions qu'on peut appeler (puisque Crowbook est aussi utilisable comme bibliothèque, c'est d'ailleurs comme ça que la version de démo en ligne fonctionne). Tout ça n'est pas en soit très intéressant mais devrait permettre de publier une version 1.0 d'ici, j'espère, pas trop longtemps. J'en profite pour dire aux personnes qui seraient intéressées par ce logiciel que c'est le bon moment pour faire des retours si vous trouvez des noms mal choisis, parce que ce sera plus dur à modifier après la version 1.0 :)

Bilan et perspectives

Au départ Crowbook n'était qu'un petit projet expérimental sur lequel je ne pensais pas passer autant de temps. C'est devenu un peu plus gros que ce à quoi je m'attendais. Ça correspond maintenant bien à mes besoins, puisque je l'utilise pour tous mes romans et nouvelles (et, à vrai dire, je souffre maintenant quand je dois écrire un billet de blog sous Dotclear et essayer de foutre des espaces insécables à la main si je ne veux pas que mes guillemets et mes points d'interrogation se retrouvent seuls en début de ligne).

Si ça peut aussi convenir à d'autres personnes, j'en serai très heureuse, mais il y a encore du boulot à faire pour rendre ça un peu accessible, et notamment pour améliorer la documentation et en proposer une version française, puisque je pense que Crowbook a surtout de l'intérêt pour les auteurs et autrices francophones. Il y a aussi un travail de polissage à faire, améliorer la mise en page proposée par défaut, corriger des bugs, etc.

Bref, si vous testez Crowbook et que ça correspond à vos attentes, j'en serai très contente, si vous testez Crowbook et que ça ne correspond pas à vos attentes, n'hésitez pas à faire un bug report pour expliquer ce qui ne va pas.

Et sur ce et même si ce n'est pas forcément le meilleur article de blog pour conclure sur ça, bonne année et meilleurs vœux !


Pour me permettre de pouvoir continuer à diffuser des textes (et des logiciels !) librement, vous pouvez vous abonner sur Tipeee à partir d'1€ par mois, ce qui vous donnera accès à mes prochains textes de fiction en avant-première.


Crowbook, version 0.10.3

, 13:06

Comme ça fait quelques mois que je n'en avais pas parlé, je me suis dit qu'il pouvait être intéressant de faire un petit billet à l'occasion de la sortie de la version 0.10.3 de Crowbook.

Rappel

Pour rappel, Crowbook est un logiciel libre qui convertit des fichiers écrits au format Markdown vers du PDF, de l'HTML ou de l'EPUB. C'est ce que j'utilise maintenant pour la quasi-totalité des textes disponibles sur ce site.

L'intérêt du format Markdown pour des textes de fiction, c'est que c'est essentiellement du texte brut et qu'on peut taper à la chaîne sans se poser de questions : c'est le convertisseur qui s'occupe de tout. Si vous voulez voir à quoi ça ressemble, vous pouvez regarder le dépôt Github contenant mes textes publics, jouer avec la version de démo en ligne de Crowbook.

Il y a pas mal de convertisseurs Markdown qui existent. Si j'ai commencé à développer celui-ci, en plus d'une certaine envie de réinventer la roue, c'est parce que, bien souvent, ceux-ci ne géraient pas les règles de typographie française, comme ces (foutus) espaces insécables (j'avais d'ailleurs écrit un article sur ce sujet).

Comme j'ai déjà parlé de Crowbook dans différents billets de blog, un premier pour présenter ce logiciel et un second à l'occasion de la version 0.7.0, je ne vais pas revenir en détail sur le fonctionnement et plutôt me contenter de rappeler :

Quoi d'neuf, doc ?

Mais voyons plutôt les changements depuis la dernière fois que j'en ai parlé.

  • Il y a maintenant une version de démo en ligne, si vous voulez voir à quoi ça ressemble sans rien avoir à installer sur votre ordinateur.
  • J'ai enfin eu l'occasion d'avoir un PC sous Windows sous la main pendant les vacances, et j'ai pu tester un peu ce que ça donnait, donc maintenant les versions pour Windows devraient marcher à peu près (ce qui, hum, n'était pas trop le cas avant). Du moins, tant que vous n'essayez pas de générer du format EPUB (où vous aurez besoin de la commande zip) ou, pire, du PDF (où vous aurez besoin d'une installation fonctionnelle de LaTeX, ce qui d'après ce qu'on m'en a dit, vous fera entrer dans un monde de douleur pour l'installer comme il faut sous Windows).
  • Crowbook est maintenant traduit en français (mais pas encore le guide d'utilisation ; ça va venir, promis).
  • Niveau typographie, les apostrophes ' et les guillemets anglais " sont maintenant remplacés par leurs équivalents “typographiques” plus ‘jolis’. Et il y a une option, si vous galérez sur votre clavier pour taper les guillemets « français » ou les tirets cadratins (—) – ou semi-cadratins – pour pouvoir utiliser à la place les chaînes de caractères <<, >>, --- et -- (comme avec LaTeX).
  • Il est maintenant possible de générer des versions de relecture, qui peuvent souligner les répétitions et même utiliser un détecteur grammatical (ce qui vous demandera d'installer et de lancer LanguageTool). Bon, là on sort un peu du convertisseur Markdown et en pratique c'est un peu compliqué à utiliser, mais c'est des fonctionnalités que je trouve utiles en tant qu'écrivaine alors je me disais autant les y rajouter.
  • Des bugs corrigés, et sans doute de nouveaux bugs ajoutés. Pour plus de détails, vous pouvez regarder le ChangeLog.
  • Ah et il y a un logo, maintenant :

logo.png


Pour me permettre de pouvoir continuer à diffuser des textes (et des logiciels !) librement, vous pouvez vous abonner sur Tipeee à partir d'1€ par mois, ce qui vous donnera accès à mes prochains textes de fiction en avant-première.


Utiliser correctement les espaces insécables (c'est pas si facile)

, 21:56

J'ai écrit un article sur les espaces insécables, les différentes variantes de celles-ci, et comment j'ai fait pour gérer ça dans Crowbook. Pour démontrer visuellement là où sont utilisées les espaces insécables, j'ai ajouté des balises HTML pour qu'elles aient un fond coloré et soient visibles.

Malheureusement, Dotclear ne veut pas me garder ce formatage sur ce blog, donc il faudra que vous alliez voir l'article ici : Utiliser correctement les espaces insécables (c'est pas si facile)

Billets connexes

Crowbook est maintenant en version 0.7.0

, 13:34

(Mise à jour du 2016-09-11 : évidemment, il suffisait que je fasse un billet de blog pour annoncer une nouvelle sortie pour que je me motive à corriger quelques trucs et à sortir une nouvelle version le lendemain... Cela dit, cela ne change pas grand-chose, j'ai juste un peu mis à jour ce billet.)

Je vous avais déjà présenté Crowbook il y a quelques mois. Il s'agit d'un logiciel (libre[1]) pour générer des livres aux formats HTML, EPUB et PDF[2] à partir de fichiers sources au format Markdown. Par rapport à d'autres « concurrents » équivalents, il se distingue par deux objectifs un peu différents de ceux-ci :

  • être centré sur les romans et nouvelles, avec un support plus limité de choses qui sont surtout utiles pour de la documentation technique (coloration syntaxique pour du code informatique, formules mahématiques, etc.) ;
  • respecter (à peu près) la typographie française, et permettre à des auteurs et autrices francophones de ne pas avoir à se soucier d'insérer les bons espaces insécables devant des '?', '!' et autres ':'.

Depuis quelques mois, c'est ce que j'utilise pour à peu près tous mes romans et nouvelles (sauf certains des plus anciens). Cela m'a emmenée à devoir corriger un certain nombre de bugs, mais je trouve ce programme maintenant être à peu près utilisable puisque j'ai tout de même de moins en moins à y toucher. Évidemment, le fait qu'il corresponde à peu près à mes besoins et n'est plus trop buggé pour mon utilisation ne veut pas dire que ça s'appliquera de la même manière pour d'autres personnes, mais disons qu'il devrait moins évoluer dans les mois à venir[3].

Bref, Crowbook est maintenant en version 0.6.0, 0.7.0 et si l'idée d'écrire des textes au format Markdown vous attire et que vous aimez bien bidouiller un peu quand même (le rendu PDF nécessitera notamment que vous ayez LaTeX d'installé sur votre ordinateur), vous pouvez y jeter un coup d'œil. (Je me rends bien compte que ça concerne une minorité d'écrivain·e·s.)

Pour l'installer, vous pouvez soit :

Je ne vais pas m'étendre sur le fonctionnement du logiciel et vous renvoyer pour ça sur la page Github et le guide d'utilisation, même si c'est en anglais. N'hésitez pas à me faire part de vos retours.

Et si tout ça ne vous intéresse pas particulièrement et que vous voulez juste voir à quoi peut ressembler un bouquin mis en page avec ce machin, vous pouvez bien évidemment regarder mes romans et nouvelles qui l'utilisent dorénavant, comme :

Là encore, même si vous n'utilisez pas Crowbook, n'hésitez pas si vous avez des remarques à faire sur la mise en page, en particulier s'il y a quelque chose qui s'affiche bizarrement sur votre liseuse : je n'ai pas les possibilités techniques de tester le rendu sur beaucoup d'appareils[4].


Si vous aimez ce que je fais et que vous voulez me soutenir financièrement, il y a une page Tipeee où vous pouvez vous abonner à partir d'1€ par mois. En contrepartie, vous aurez accès à mes prochains textes de fiction en avant-première.


Notes

[1] Sous licence LGPL, plus précisément.

[2] Avec un support très, très, très expérimental de LibreOffice mais qui n'est pas du tout la priorité.

[3] Évidemment, il suffisait que je dise ça pour me motiver à corriger un souci (voire la partie rayée ci-après) que j'avais en tête depuis quelques mois, et qui m'a pris moins de temps que prévu. Cela dit, ça reste une évolution assez mineure. Au rang quand même des choses pas très bien gérées, on notera les images, et la « politique par défaut » discutable (mais changeable en modifiant la feuille de style utilisateur) de les agrandir pour qu'elles prennent une bonne partie de la largeur de l'écran, qui n'est pas adaptée à toutes les images (en témoigne le build status au début du guide d'utilisation), mais qui est compliqué à mieux gérer parce que le format Markdown ne permet pas de spécifier comment une image devrait être affichée.

[4] Ou alors, vous pouvez m'offrir des liseuses pour que je puisse tester dessus moi-même, si vous préférez. Peut-être même qu'un jour Crowbook sera tellement populaire que les constructeurs m'enverront leur modèle en avant-première pour s'assurer que les EPUBs générés s'affichent correctement dessus. Ou peut-être même qu'un jour les constructeurs de liseuses afficheront correctement les attributs CSS basiques et qu'il n'y aura plus à s'embêter à essayer de contourner leurs limitations. On peut rêver, après tout.

Mise à jour de la mise en page d'un certain nombre de textes

, 01:56

J'ai mis à jour la mise en page d'un certain nombre de romans et nouvelles disponibles sur ce site, en passant à un nouvel outil (Crowbook, dont j'avais déjà parlé quelques mois plus tôt). Les textes concernés sont les suivants :

Il y a encore quelques textes qui n'ont pas été convertis au nouveau système, mais ça constitue quand même l'essentiel de ce qui est disponible sur ce site.

Normalement, il ne devrait y avoir que des avantages :

  • ces textes sont maintenant disponibles au format EPUB (livre numérique), ce qui était déjà le cas d'une partie, mais pas de tous ;
  • la mise en page HTML et EPUB devraient être améliorées, sans changement notable pour les versions PDF.

J'en ai aussi profité pour corriger un peu Sorcières & Zombies au passage, avec des modifications un peu plus lourdes sur Créatures de rêve puisque la fin a été modifiée.

Évidemment, il est possible qu'il y ait eu quelques soucis, et que quelques problèmes de mise en page ou des coquilles se soient glissées au cours de cette conversion ; n'hésitez pas à me les signaler, ou à me faire part de vos retours sur la mise en page si vous pensez qu'il y a un souci avec un format (ou un support de lecture, c'est dur de tester partout).

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

, 22:22

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)