Get started with ebookbuild
by reading the wiki.
A very WIP cross-platform FOSS tool to create e-books properly, built entirely with FOSS technologies (so no vendor lock-in). Currently ebookbuild makes both reflowable and fixed-layout ePub 2.0.1 e-books.
Currently the code is found in individual repositories rather than centralised here in this repository. The latest e-book is The Fall of Western Man, the version of ebookbuild's main script CreateE-book.py
is 0.8111 (needs to support nested pages and the rest of the legacy ePub 2.0.1 standard for v1.0).
ebookbuild is programmed in Python 3, although there are considerations to possibly switch language for speed improvements. I may use tkinter to develop a GUI.
I may develop several scripts related to e-book development under the ebookbuild name.
NOTE: ebookbuild has a bug where it generates backslashes on Windows for the Content.opf. So I recommend compiling e-books using Windows Subsystem for Linux on Windows, or via the native macOS / GNU/Linux terminal.
- Fixed SHA-256 generation. I have tested the checksums with the Bash
sha256sum
and PowerShellGet-FileHash
commands. - Added timestamp for the checksums in UTC.
- Changed script name from
CreateE-book.py
to the simplerebookbuild.py
. - Saves MD5, SHA-256 and SHA-512 checksums with a datestamps and timestamps.
- Added a GNU GPL-compliant (I hope) header to
ebookbuild
when run on the command-line. - Changed SHA512 to SHA256 (apparently it requires less resources to generate and is a common standard anyway, I am happy to discuss this and might include all three if desired).
- Supports ePub 2.0.1.
- Supports reflowable and fixed-layout e-books.
- Supports 1 layer of anchor tags in the
toc.ncx
. - Books generated convert nicely to .Mobi in Kindle Previewer (though images need to be centred with CSS
text-align: center;
). - Runs on GNU Bash, IDLE and Thonny (for now).
- Shows MD5 and SHA512 hashes of the ePub file at the end output (the built-in datestamp and timestamp will ensure different hashes for each ePub generated) and saves them to
checksums.txt
. - Fixed a bug so that any number of .otf/.ttf fonts can be added to an ePub.
- Support ePub 3.1 and any future ePub releases.
- Support nested pages in the
toc.ncx
. (for version 1.0) - Support 3 layers of anchor tags in the
toc.ncx
. (for version 1.0) - Support XHTML and CSS minification and obfuscation.
- Support compression (particularly desirable for image-heavy e-books).
- Support the ONIX 3 standard fully within the
metadata.json
. - Maybe a better way to uniquely identify individual ePub builds (fingerprint) than just checksums?
ebookbuild has been used to make the following e-books. Projects can be commercial or freely available to download.
Title/Website | Author | Description |
---|---|---|
Title/Website | Author | Description |
---|---|---|
The Cathedral and the Bazaar | Eric S. Raymond | |
How We Are Entertained: The Consequences of the 1983 Video Game Crash | Hal Motley | |
Soldering is Easy: Here's How to Do It (Extended Version) | Mitch Altman, Andie Nordgren, Jeff Keyzer | |
Making Games with Python & Pygame (Unofficial 2018 Edition) | Al Sweigart, Hal Motley | |
Linux is Badass: Slightly More Badass Edition | Bryan Lunduke | |
The Fall of Western Man | Mark Collett | |
Ligi's Survival Guide] | Ligi | |
Pirate Cinema | Cory Doctorow | |
Essential C | Nick Parlante |
Title/Website | Author | Description |
---|---|---|
The Illustrated Book of Patience Games | Professor Hoffman |
I have licenced ebookbuild under GNU GPLv3. See LICENSE.md for further information.
If ebookbuild has helped you and you want to give back, buy me a coffee (or two) via https://www.paypal.me/HalMotley.