Skip to content
Retour

Epub2Markdown

Raphaël Musitelli
Code source

Epub 2 Markdown : modernisez vos Epub

Sommaire

Présentation

EPUB est un format complexe dont la production peut être réalisée de façon hétéroclite. Vous vous retrouvez, après quelques années de lecture, devant une bibliothèque numériques truffées de fichiers conçus avec un soin varié, des CSS confuses, des polices d’écriture embarquées plus ou moins heureuses, des véléités de mise en page non pertinentes, voire avec des fichiers datés qui peinent à être affichés sur des appareils récents.

Reprendre techniquement et de façon automatisée un fichier Epub pour le moderniser est aussi - et pour ces mêmes raisons - une gageure.

Le programme que j’ai conçu ici fait donc les choses au plus simple :

  1. Destruction sélective (Epub2Markdown) : n’est préservé du fichier que sa structure, et des textes que leurs enrichissements les plus basiques. Paragraphes, gras, italique, notes… Les métadonnées sont réduites a minima et stockées en JSON. Un bundle markdown/images/json est ainsi produit.
  2. Reconstruction a minima (Markdown2Epub) : le contenu est coulé dans un squelette Epub3, le sommaire reconstruit.

Détails

EPUB → Markdown

Markdown → EPUB3

Dépendances

PaquetRôle
ebooklibLecture EPUB
beautifulsoup4 + lxmlNettoyage HTML
markdownifyHTML → Markdown
markdown-it-pyMarkdown → HTML
PyYAMLSérialisation des métadonnées
clickInterface en ligne de commande