blog2epub/README.md
2024-11-01 19:36:05 +01:00

4.6 KiB
Executable file

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

v1.4.0

  • 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