Livre, Ruby, Source Ouverte

Générer des livres ePub à partir de HTML

Convertir un seul fichier HTML en ePub est simple, avec de nombreux outils gratuits disponibles à cette fin. Mais, si votre objectif est de convertir plusieurs fichiers HTML, et seulement une partie de chaque fichier, en un livre électronique avec une table appropriée de contenu, image de couverture, etc, que faites-vous?

C’était exactement le carrefour où je me suis retrouvé en essayant de créer une version ePub de mon livre. Chaque chapitre du livre était représenté par une page Web unique, et j’avais besoin d’un moyen automatisé de télécharger rapidement tous ceux et de les combiner dans un livre électronique. Pour rendre les choses plus intéressantes, seule une partie de chaque page était nécessaire – qui veut voir l’en-tête d’une page Web, footer, et la barre de navigation sur un ePub? En outre, les images devaient être téléchargées et intégrées dans l’ePub, et les extraits de code Github Gist devaient être téléchargés et représentés sans l’utilisation des balises Javascript de Github.

Toutes ces exigences sont nécessaires pour créer un ePub professionnel, mais pourtant étonnamment aucun outil n’existait qui pourrait faire toutes ces choses sans effort manuel considérable. Comme tout bon développeur de logiciels, si aucun outil n’existe pour un travail, et la seule autre option est le travail manuel, j’ai pris le chemin le plus paresseux et créé un nouvel outil pour faire le travail.

Présentation html2epub

Ce nouvel outil s’appelle html2epub et est une application de ligne de commande qui peut :

  • Générer un ePub à la recherche professionnelle à partir d’une série de pages Web
  • Dénuder html inutile
  • Convertissez html en XHTML pour vous conformer à la spécification ePub
  • Images d’intégration
  • Intégrer des extraits de code Gist
  • Réécrire les liens chapitre à chapitre pour une navigation ePub appropriée
  • Prise en charge de la navigation de la table des contenus
  • Prise en charge de l’authentification basée sur les formulaires

J’ai essayé de garder cet utilitaire aussi simple à utiliser que possible, malgré ses nombreuses fonctionnalités. Voyons comment commencer.

Commencer

Sur macOS installer html2epub est grandement simplifié par brew. Il suffit d’exécuter:

brew install jwhitehorn/brew/html2epub

Cela permettra de télécharger et d’installer htmlepub, et ses dépendances, et d’enregistrer la commande dans votre PATH. Avec cela terminé, vous pouvez générer un ePub aussi facilement que:

html2epub --url https://www.datasyncbook.com \ --toc ./example/toc.xhtml \ --cover ./example/cover.png \ --contents ./example/contents.json \ --title "Data Synchronization" \ --subtitle "Patterns, Tools, & Techniques" \ --author "Jason Whitehorn" read more