/Booktype

Booktype is a free, open source platform that produces beautiful, engaging books formatted for print, Amazon, iBooks and almost any ereader within minutes.

Primary LanguageJavaScriptGNU Affero General Public License v3.0AGPL-3.0

Booktype

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

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.

More information

How to contribute

  1. Fork the booktype/Booktype repository. Please see GitHub help on forking or use this direct link to fork.
  2. Clone your fork to your local machine.
  3. Create a new local branch.
  4. Run tests and make sure your contribution works correctly.
  5. Create a pull request with details of your new feature, bugfix or other contribution.
  6. 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.

Testing

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:

  1. Open a terminal and activate the virtual environment (Booktype must be installed).
  2. Go to (cd command) instance root (folder with manage.py and pytest.ini file).
  3. Run the py.test command.
  4. 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

License

Booktype is licensed under the GNU AGPL license.