A Ruby framework for creating e-books from Markdown, generating high-quality PDFs, EPUB, Mobi, and HTML.
Kitabu is a Ruby framework for creating and publishing e-books from Markdown source files. It solves the problem of producing professional-quality e-books in multiple formats (PDF, EPUB, Mobi, HTML) from a single Markdown-based project, integrating with tools like Prince XML for high-fidelity PDF output.
Technical writers, developers, and self-publishing authors who want to create e-books using a code-based workflow and need multi-format output with custom styling.
Developers choose Kitabu for its Ruby-centric approach, seamless integration with Prince XML for print-quality PDFs, and flexible templating system that allows full control over e-book design and structure.
A framework for creating e-books from Markdown using Ruby. Using the Prince PDF generator, you'll be able to get high quality PDFs. Also supports EPUB, Mobi, Text and HTML generation.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Generates PDF, EPUB (version 3.3), Mobi, and HTML from a single Markdown source, with sample outputs provided in the README attachments directory.
Integrates with Prince XML for professional-grade PDF generation, ensuring print-ready quality, though it notes cost alternatives like DocRaptor.
Uses familiar Ruby tools with Markdown, ERB templating, and hooks (e.g., before_render), allowing customization via config/helpers.rb for dynamic content.
Creates a table of contents automatically from h1-h6 headings, simplifying book structure as described in the usage section.
Relies on Prince XML, which has a 495USD license fee, or services like DocRaptor; the free version adds a logo watermark, limiting budget-friendly options.
Requires installation of Prince XML and Calibre's ebook-convert for full format support, adding setup complexity and potential cross-platform issues.
Tied to Ruby 3.2+ and its gem ecosystem, which can be a barrier for teams using other languages or preferring lightweight, language-agnostic tools.