Skip to content
A simple script that generates an EPUB from a single URL, zero-config
JavaScript Dockerfile
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.dockerignore
.gitignore
CHANGELOG.md
Dockerfile
LICENSE
README.md
TODO.md
generate.js
index.js
package-lock.json
package.json

README.md

url-to-epub

npm Docker Build Status GitHub issues Docker Pulls npm bundle size

A simple script that generates an EPUB from a single URL, taking care for the following:

  1. Cover Image
  2. Readability
  3. Standard-compliance metadata (and Author information)

Installation

You can either run this script as an NPM package, or as a docker container.

NPM

You will need pandoc and npm installed. To install this script globally:

npm install --global url-to-epub

Please make sure that the global node_modules/bin directory is added to your PATH. You can check that directory by running npm bin --global.

Docker

docker pull captn3m0/url-to-epub:latest

Usage

NPM

url-to-epub <url>

Generate EPUB file from URL

Positionals:
  url  The URL to download                                   [string] [required]

Options:
  --version       Show version number                                  [boolean]
  -h              Show help                                            [boolean]
  --output, -o    Output file to save EPUB[string] [default: "url-to-epub.epub"]
  --title, -t     Title of the book, if not the same as the page title
                                                        [string] [default: null]
  --cover-url     Image URL to download as cover        [string] [default: null]
  --language, -l  A valid language tag
     [string] [choices: "af", "af-ZA", "ar", "ar-AE", "ar-BH", "ar-DZ", "ar-EG",
         "ar-IQ", "ar-JO", "ar-KW", "ar-LB", "ar-LY", "ar-MA", "ar-OM", "ar-QA",
          "ar-SA", "ar-SY", "ar-TN", "ar-YE", "az", "az-AZ", "az-Cyrl-AZ", "be",
   "be-BY", "bg", "bg-BG", "bs-BA", "ca", "ca-ES", "cs", "cs-CZ", "cy", "cy-GB",
         "da", "da-DK", "de", "de-AT", "de-CH", "de-DE", "de-LI", "de-LU", "dv",
      "dv-MV", "el", "el-GR", "en", "en-AU", "en-BZ", "en-CA", "en-CB", "en-GB",
   "en-IE", "en-JM", "en-NZ", "en-PH", "en-TT", "en-US", "en-ZA", "en-ZW", "eo",
   "es", "es-AR", "es-BO", "es-CL", "es-CO", "es-CR", "es-DO", "es-EC", "es-ES",
         "es-GT", "es-HN", "es-MX", "es-NI", "es-PA", "es-PE", "es-PR", "es-PY",
   "es-SV", "es-UY", "es-VE", "et", "et-EE", "eu", "eu-ES", "fa", "fa-IR", "fi",
      "fi-FI", "fo", "fo-FO", "fr", "fr-BE", "fr-CA", "fr-CH", "fr-FR", "fr-LU",
      "fr-MC", "gl", "gl-ES", "gu", "gu-IN", "he", "he-IL", "hi", "hi-IN", "hr",
   "hr-BA", "hr-HR", "hu", "hu-HU", "hy", "hy-AM", "id", "id-ID", "is", "is-IS",
      "it", "it-CH", "it-IT", "ja", "ja-JP", "ka", "ka-GE", "kk", "kk-KZ", "kn",
    "kn-IN", "ko", "ko-KR", "kok", "kok-IN", "ky", "ky-KG", "lt", "lt-LT", "lv",
      "lv-LV", "mi", "mi-NZ", "mk", "mk-MK", "mn", "mn-MN", "mr", "mr-IN", "ms",
         "ms-BN", "ms-MY", "mt", "mt-MT", "nb", "nb-NO", "nl", "nl-BE", "nl-NL",
      "nn-NO", "ns", "ns-ZA", "pa", "pa-IN", "pl", "pl-PL", "ps", "ps-AR", "pt",
         "pt-BR", "pt-PT", "qu", "qu-BO", "qu-EC", "qu-PE", "ro", "ro-RO", "ru",
   "ru-RU", "sa", "sa-IN", "se", "se-FI", "se-NO", "se-SE", "sk", "sk-SK", "sl",
     "sl-SI", "sq", "sq-AL", "sr-BA", "sr-Cyrl-BA", "sr-SP", "sr-Cyrl-SP", "sv",
          "sv-FI", "sv-SE", "sw", "sw-KE", "syr", "syr-SY", "ta", "ta-IN", "te",
      "te-IN", "th", "th-TH", "tl", "tl-PH", "tn", "tn-ZA", "tr", "tr-TR", "tt",
       "tt-RU", "ts", "uk", "uk-UA", "ur", "ur-PK", "uz", "uz-UZ", "uz-Cyrl-UZ",
         "vi", "vi-VN", "xh", "xh-ZA", "zh", "zh-CN", "zh-HK", "zh-MO", "zh-SG",
                                      "zh-TW", "zu", "zu-ZA"] [default: "en-US"]

Examples:
  url-to-epub --title "Articulated Restraint" -o articulated-restraint.epub
  "https://www.tor.com/2019/02/06/articulated-restraint-mary-robinette-kowal/"

Docker

docker run --user $UID  --volume /tmp:/data captn3m0/url-to-epub:latest --output /data/articulated-restraint.epub --cover-url https://i.gr-assets.com/images/S/compressed.photo.goodreads.com/books/1548962694l/43782466._SY475_.jpg  https://www.tor.com/2019/02/06/articulated-restraint-mary-robinette-kowal/

The generated file will be available in /data/articulated-restraint.epub.

HACKING

There is a list of planned items in TODO.md.

License

Licensed under the MIT License. See LICENSE file for details.

You can’t perform that action at this time.