Convert blog (blogspot.com, wordpress.com...) or any website to epub using GUI, CLI or Python. https://github.com/bohdanbobrowski/blog2epub
Find a file
2024-11-02 15:53:33 +01:00
.github/workflows unittesting and some other fixes 2024-10-31 14:26:40 +01:00
assets v1.4.0 documentation 2024-11-01 19:36:05 +01:00
blog2epub Fixes for windows and android build 2024-11-02 11:29:00 +01:00
packages/aur repo cleanup 2024-07-20 11:55:47 +02:00
tests/unit/blog2epub unittesting and some other fixes 2024-10-31 14:26:40 +01:00
.gitignore unittesting and some other fixes 2024-10-31 14:26:40 +01:00
.pylintrc Pylint upd 2024-02-29 15:48:17 +01:00
android.txt OSX buildfixes 2023-02-25 11:38:28 +01:00
BACKLOG.md Documentation update 2024-09-09 16:47:33 +02:00
blog2epub.appdata.xml repo cleanup 2024-07-20 11:55:47 +02:00
blog2epub.desktop OSX buildfixes 2023-02-25 11:38:28 +01:00
blog2epub_build.py make format fix 2024-07-26 09:30:46 +02:00
blog2epub_gui_linux.spec Fixing windows build 2024-07-19 17:21:39 +02:00
blog2epub_gui_macos.spec Fixing macos builds 2024-07-24 18:22:07 +02:00
blog2epub_gui_windows.spec Fixes for windows and android build 2024-11-02 11:29:00 +01:00
build_linux.sh Fixing windows build 2024-07-19 17:21:39 +02:00
buildozer.spec Android API version bump, set buidozer version dynamically 2024-11-02 15:53:33 +01:00
CHANGELOG.md v1.4.0 documentation 2024-11-01 19:36:05 +01:00
com.bohdanbobrowski.blog2epub.json OSX buildfixes 2023-02-25 11:38:28 +01:00
index.html Github Pages 2023-10-30 00:12:11 +01:00
LICENSE OSX buildfixes 2023-02-25 11:38:28 +01:00
main.py Fight with buildozer errors, but at least compiles 2024-09-04 20:09:42 +02:00
make_macos_dmg.sh Fixing macos builds 2024-07-24 22:45:40 +02:00
Makefile Typos, format and remove unwanted variable 2024-07-29 23:11:38 +02:00
poetry.lock Struggling with opening damn epub file after generation on android 2024-10-31 23:53:23 +01:00
pyproject.toml Struggling with opening damn epub file after generation on android 2024-10-31 23:53:23 +01:00
README.md v1.4.0 documentation 2024-11-01 19:36:05 +01:00

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