Booktype makes it easier and quicker for authors, companies and organisations to edit and publish books. It imports DOCX or EPUB files, converts them into single-source HTML for online editing and proofreading, and uses CSS Paged Media to produce good-looking output for print, the open web, and almost any ebook reader, in seconds. Booktype facilitates collaborative, agile production across time zones and borders.
Booktype is built on the Django web framework and many great Python libraries.
The Booktype user interface is being translated into many languages by our community of contributors. Your help with development or translation is always welcome!
Installation instructions for Booktype on GNU/Linux and OS X can be found in the Booktype user manual.
Files for installation using Docker can be found in the Booktype-docker repository.
Booktype uses the py.test testing framework with the pytest-django plugin. It makes the testing process easier, and also provides the ability to run ready-made django (unittest) tests.
To run tests:
Booktype is licensed under the GNU AGPL license.
I saw booktype a few years ago and was intrigued. I tried to follow directions but just didn't have an easy time of it. Being that the main repo is no longer maintained, options were limited. So I learned enough python 2 and 3 to make corrections to get it running.
The docker files should be enough to get a running production environment. The image is already large with the additions (I had some issues using python:3-slim) so I did not include calibre for mobi support. It has been depracated and epub is recommended by Amazon since 2022 anyway.
I did use most of the files from https://github.com/booktype/booktype-docker.git in addition to this forked repo. I have also updated most of the dependencies to be as up to date as pip-compile allows.
There are still some issues in import/export that I want to sort out, mostly toc and styling. All of the tests currently pass without error or warning. I altered some string comparisons in favor of dict values.