Blog engine for developers
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Build Status

Ecrire is a blog engine built for web professionals. Most best practices comes builtin for you to quickly create powerful websites.

How does it work?

Essentially, Ecrire is a blog engine. It provides a powerful Markdown editor, tags support, drafts, permalinks, image uploads, and everything else you would need to create a website.

Ecrire is built around the concept of themes. When you create a project with Ecrire, you are actually creating a new theme for you to customize to your needs.

How flexible is a theme?

You can do pretty much anything you want inside a theme. It is based on Rails::Engine, a foundation block of Ruby on Rails. You can add gems, routes, controllers, views, javascript files, anything.

By default, a theme has 3 type of routes: posts, tags and static. While the first two serve dynamic contents (posts and tags), the third one is a route that handles static pages. This is useful when you want to add an about/FAQ/Contact page that doesn't change much and you want to use normal HTML to render it instead of the Markdown Editor.

Views(HTML) uses by default ERB, a Ruby + HTML template to build dynamic pages. The default theme provides tons of example on how to use ERB to build pages with content written in Markdown.

The editor

The editor uses Markdown as its syntax. The advantage is to format your text as you type. The syntax is easy to understand and is powerful enough to let you structure your text as you type so you can focus on the content.

Here's the different structures available to you in the editor:

  • Headers
  • Unordered list
  • Ordered list
  • Code with syntax highlighting
  • Image with auto-upload to S3
  • Links
  • Bold and Italic words

You can learn more about the syntax on

Get started

First, you need to install ecrire as a gem and then create a new theme.

$ gem install ecrire
$ ecrire new
$ cd
$ ecrire server

Once the server is started, you can load your browser at http://localhost:3000 to finish the configuration.

Go live on Heroku

Once you're ready to go live, you can use Heroku to deploy your application in production:

$ heroku git:remote -a name-of-your-app-on-heroku
$ git push origin heroku
$ heroku run rake db:migrate

Your blog is now up and running on Heroku! But you need to create a user on Heroku for now, here's how you do it.

$ heroku run ecrire console
irb(main)> user =
irb(main)> = ""
irb(main)> user.password = "yourpassword"
irb(main)> exit