lovecode2011 / ebookmaker

The Project Gutenberg tool to generate EPUBs and other ebook formats.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

EbookMaker

EbookMaker is the tool used for format conversion at Project Gutenberg. It builds EPUB2 and Kindle files from HTML. Also it builds HTML4, EPUB2, Kindle, and PDF files from reST sources.

Prerequisites

For cover generation

  • Cairo https://www.cairographics.org/download/
  • Noto Sans and Noto Sans CJK:
    • CentOS or RedHat: yum install google-noto-sans-cjk-fonts; yum install google-noto-sans-fonts
    • Ubuntu: apt-get install fonts-noto-cjk fonts-noto

Tested with Python 3.6

Install

(master branch, editable install) pipenv install ebookmaker

Use the ebookmaker.conf file to pass a path to your kindlegen, tex, and groff programs if they're not in your PATH. Edit the ebookmaker.conf and copy it to /etc/ebookmaker.conf to reset the paths. Copy ebookmaker.conf to ~/.ebookmaker to override settings in /etc/ebookmaker.conf or to set default command line options.

Sample invocation

(From the directory where you ran pipenv install)

pipenv shell ebookmaker -v -v --make=epub.images --output-dir=/Documents/pg /Documents/library/58669/58669-h/58669-h.htm

or

pipenv run ebookmaker -v -v --make=epub.images --output-dir=/Documents/pg /Documents/library/58669/58669-h/58669-h.htm

new to pipenv?

Install pipenv (might be pip install --user pipenv, depending on your default python)

$ pip3 install --user pipenv

The default install location is ${HOME}/.local/bin, so add this to your login shell's ${PATH} if needed.

Change directories to where you want to have your ebookmaker environment. Then, to initialize a python 3 virtual environment, do

$ pipenv --three

Whenever you want to enter this environment, move to this directory and do:

$ pipenv shell

Install the gutenberg modules:

$ pipenv install ebookmaker

Check your install:

$ ebookmaker --version EbookMaker 0.6.0

Since you're in the shell, you can navigate to a book's directory and convert it:

$ ebookmaker -v -v --make=epub.images --ebook 10001 --title "The Luck of the Kid" --author "Ridgwell Cullum" luck-kid.html

Update

$ cd ebookmaker to whever you ran $ pipenv install ebookmaker

then:

$ pipenv update ebookmaker

Test

Install, as above.

$ cd ebookmaker to whever you ran $ pip install ebookmaker

then:

$ git checkout master

$ pipenv install -e .

$ python setup.py test

Travis-CI will run tests on branches committed in the gutenbergtools org

About

The Project Gutenberg tool to generate EPUBs and other ebook formats.

License:GNU General Public License v3.0


Languages

Language:Python 64.5%Language:HTML 31.5%Language:PHP 2.2%Language:CSS 1.8%