Giter VIP home page Giter VIP logo

shamela2epub's Introduction

shamela2epub

A CLI and GUI tool to download a book on Shamela Library Website into an EPUB book.

en ara

logo

Codacy Badge PyPI version PyPI Downloads

GitHub release GitHub Downloads

made-with-python Open Source Love

PayPal LiberaPay

Disclaimer:

  • This software is freeware and open source and is only intended for personal or educational use.

Installation

From PyPI

pip install shamela2epub

From the cloned repository

# Using poetry
poetry install

# or using pip 18+
pip install .

Usage

Command-line Tool (CLI)

python3 -m shamela2epub download URL
# python3 -m shamela2epub download "https://shamela.ws/book/823"

python3 -m shamela2epub download --help
Usage: python -m shamela2epub download [OPTIONS] URL

  Download Shamela book form URL to ePub

Options:
  -o, --output TEXT  ePub output book custom name
  --help             Show this message and exit.

Graphical User Interface (GUI)

gui

  • If you installed the package from PyPI, you can use the following command:
shamela2epubgui
  • If you downloaded the latest gui exe file from releases you can open it normally and use it.
  • Otherwise, use normal python command:
python3 -m shamela2epub gui

Features

  • CLI and GUI!
  • Creates an EPUB3 RTL standard book.
  • Automatically adds a page for book information.
  • Automatically generated table of contents with support for nested chapters.
  • Automatically adds book part and page number to each page's footer.
  • Sanitizes the book HTML from unnecessary elements and classes.
  • Converts inline CSS color styles to CSS classes.
  • Inline footnotes for easier navigation, click any footnote, and it will appear in a popup instead of having all footnotes in page footer.

Known Issues

  • Books that have a last nested section with level deeper (e.g. 3) than its next section (e.g. 2) and both have the same page number (e.g. page_017.xhtml) cannot be converted to KFX unless that last nested section is removed.

TODO

Next

  • You tell me :)

Maybe

  • Fix TOC conversion problem when last nested section with level deeper than its next has the same page number by removing it from the TOC.

Acknowledgments

  • GUI icons are made by the amazing Phosphor Icons (books - duotone - #AB8B64).

shamela2epub's People

Contributors

renovate[bot] avatar yshalsager avatar dependabot[bot] avatar pre-commit-ci[bot] avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.