/blog2epub

Convert blog (blogspot.com, wordpress.com...) or any website to epub using GUI, CLI or Python.

Primary LanguagePythonMIT LicenseMIT

blog2epub

Maintenance MIT license GitHub all releases GitHub release (with filter) GitHub Release Date - Published_At

Convert blog to epub using command line or GUI.

Supported blogs:

  • *.blogspot.com
  • *.wordpress.com and some blogs based on WordPress

Main features

  • command line (CLI) and graphic user interface (GUI)
  • script downloads all text contents of selected blog to epub file,
  • if it's possible, it includes post comments,
  • images are downsized (to maximum 800/600px) and converted to grayscale,
  • one post = one epub chapter,
  • chapters are sorted by date ascending,
  • cover is generated automatically from downloaded images.

Example covers

Installation

Checkout for latest available builds.

Running from sources

git clone git@github.com:bohdanbobrowski/blog2epub.git
cd blog2epub
poetry install
poetry run blog2epubgui

Building own executable

Windows

poetry run build_gui_windows

macOS

poetry run build_gui_macos

And then to create dmg image with app:

./make_macos_dmg.sh

Screenshots of GUI

Windows (11)

Linux (Manjaro Gnome)

macOS (Sonoma 14.4.1)

CLI

poetry run blog2epub [blog url] <parameters>

Parameters

-l/--limit=[x] - limit epub file to x posts
-s/--skip=[x] - skip x latest posts
-q/--images-quality=[0-100] - included images quality (default is 40)
-n/--no-images - don't include images

Examples

poetry run blog2epub starybezpiek.blogspot.com
poetry run blog2epub velosov.blogspot.com -l=10
poetry run blog2epub poznanskiehistorie.blogspot.com -q=100
poetry run blog2epub classicameras.blogspot.com --limit=10 --no-images

Current version

v1.3.0 - 2024-07-20

  • introduce KivyMD
  • python poetry instead of venv
  • code refactor and cleanup
  • add tabbed layout with list of articles
  • 2 stages: crawl/download & ebook generation
  • selectable list of articles
  • feature: prevent epub file overwriting
  • feature: cancel download
  • fixed bug: chapters were not added to ebook spine, which caused problems with navigation
  • Windows and macOS builds

» Complete Change Log here «

Project backlog

And finally, a list known bugs and future plans for some new functions and enhancements: BACKLOG.md