Fork me on GitHub


You're a Rubyist. You want to write a book. You want to write an ebook. You might have Apple Pages. Adobe InDesign? Unlikely. Microsoft Word? Not on your life.

When it comes to text, you think in Markdown, CSS and HTML. You're not afraid of the command line. But you need tools in order to publish a book. What do you do?

You light a Bonfire.

Write in Markdown

With Bonfire your book's sections are Markdown files. You can name these files however you like and reorder them atwill in bonfire.yml.

At any time you can make a single-file draft html version of your book for offline editing, sharing with others, and even marking up with a red pen (just like your High School English teacher).

Writing is the hard part.

Publish to a Directory

Publishing, which means putting all the data together in a directory of ebook-happy HTML and XML files, is the annoying part. Bonfire takes your Markdown and builds a set of HTML, CSS, image, and XML files that work as input to ebook "compilers".

Once we have this directory - which looks a whole lot like a website - we can make an ebook. This same set of files should publishable to Amazon's Kindle Direct Publishing platform or to any of the ePub systems (iBooks, B&N Nook)

Using Bonfire

Start a project

    $ gem install bonfire  
    $ bonfire new my_book  
    $ cd my_book  
    $ mate . # or pick another editor

Now get writing. Did we mention that's the hard part?

Other Commands

    $ bonfire draft    # make a draft as a single-file HTML document
    $ bonfire toc      # make an HTML version Table of Contents 
    $ bonfire build    # make a publishable multi-file HTML document set 
    $ bonfire publish  # make a Kindle ebook 

Current Features

Upcoming Features

The full public backlog lives on Pivotal Tracker, but here are the highlights:

Contributor's Guide

All pull requests will be considered. But like all projects, we're opinionated. We welcome your contributions that are thoughtful and include specs.

If there's interest, we'll make an email list. In the meantime, Github Issues and direct emails are fine.


Distributed under the MIT License

Copyright © 2011 Infews LLC