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. Developer documentation for Booktype is hosted at Read the Docs.
The Booktype user interface is being translated into many languages by our community of contributors. Your help with development or translation is always welcome!
- Check the #booktype hashtag on Twitter, or follow us @Booktypo
- Booktype user manual
- Booktype issue tracker
- Booktype support forum
- Booktype development forum
- Booktype documentation forum
Straightforward instructions to get you started on your first dev install of Booktype can be found on the Digital Ocean community tutorials site and provide a clear path to getting an install running on a Debian machine.
Installation using Docker can be found at Booktype-docker
Extra information on installation can be found in the Booktype user manual.
- Fork the booktype/Booktype repository. Please see GitHub help on forking or use this direct link to fork.
- Clone your fork to your local machine.
- Create a new local branch.
- Run tests and make sure your contribution works correctly.
- Create a pull request with details of your new feature, bugfix or other contribution.
- Sign and return the contributor agreement paperwork, either for an individual, or an entity such as a company, university or other organisation. This paperwork gives us the right to use your work in Booktype, and makes it clear that you retain ownership of the copyright in your contribution.
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:
- Open a terminal and activate the virtual environment (Booktype must be installed).
- Go to (cd command) instance root (folder with manage.py and pytest.ini file).
- Run the py.test command.
- If you want pytest to print test coverage information, you should run py.test --cov-report term-missing --cov=path/to/Booktype. You can read more about coverage here: pytest-cov
Booktype is licensed under the GNU AGPL license.