Skip to content

Convert blog (blogspot.com, wordpress.com or another based on Wordpress) to epub using command line or GUI.

License

Notifications You must be signed in to change notification settings

bohdanbobrowski/blog2epub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Android

Before you start, you'll need to install buildozer following this installation documentation.

poetry shell
buildozer -v android

Screenshots of GUI

Android (Google Pixel 6a)

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

Running tests

pytest ./tests
pytest --cov=blog2epub ./tests
pytest --cov=blog2epub --cov-report=html ./tests

Current version

  • custom destination folder
  • UI improvements (better scaling, more rely on KivyMD default features)
  • mypy and ruff pipeline job (via github Actions)
  • Android build
  • begin unit testing
  • crawlers refactor - some part is done

» Complete Change Log here «

Project backlog

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

Project road map:

  • 1.0 - somewhat working
  • 2.0 - fully working project, 90% unit tested and available builds for Android/Windows/Linux/MacOS