Fork me on GitHub


Mint transforms your plain text documents into beautiful documents. It makes that process as simple (but customizable) as possible.

Why would you want to keep all of your documents as plain text?

  • To focus on words and structure when you write
  • To be able to apply one style to an entire set of documents with one command
  • To keep your documents under version control
  • To make your documents available for scripting–for example, text analysis
  • To have full interop with all kinds of services, like Google Docs, without vendor lock-in

What does Mint create from these source files? Beautiful, styled HTML ready to read, print, upload to a server, present to colleagues, and share.

In a few words: Mint processes words so you don’t have to.


Mint is flexible. You can use almost any file type for:

  • Your document itself
  • Your document’s layout and style
  • Your document’s behavior (via Javascript)

You can also override most template-level behaviors for a single document.

But it also has sensible defaults:

  • Publish a document with almost any extension using: mint publish
  • Several templates are included by default
  • It’s easy to add your own templates with some simple HTML and CSS
  • Any templates, etc., that you use on a regular basis can live in a config file

The library stands on its own, and the next set of features is going to involve building out a robust plugin system to support everything from ePub publishing to collaborative wiki-like interactions.


To get started with Mint, just install the gem:

gem install mint

… and then publish your first document:

mint publish

From there you can choose templates (or design your own), publish eBooks, and find or create plugins to make your life easier.