Monologue is a basic blogging engine. It is a Rails mountable engine you can mount in your already existing Rails app, or a in a new one! Enjoy.
Switch branches/tags
Nothing to show
Pull request Compare This branch is 445 commits behind jipiboily:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Monologue is a basic mountable blogging engine in Rails built to be easily mounted in an already existing Rails app, but it can also be used alone.

Build Status


  • Rails mountable engine (fully named spaced)
  • tested
  • back to basics: few features
  • it has post revisions (no UI to choose published revision yet, but it keeps your modification history)
  • few external dependencies (no Devise or Sorcery, etc…) so we don't face problem integrating with existing Rails app.(Rails mountable engines: dependency nightmare?)
  • comments handled by disqus
  • enforcing Rails cache for better performance (only support file store for now)
  • runs on Heroku

missing features

  • categories
  • UI for posts revisions and to manage user
  • much more…see issues!


1. Add the gem to your Gemfile

gem "monologue"

And run bundle install to fetch the gem and update your 'Gemfile.lock'.

2. Route to Monologue

Add this to your route file (config/route.rb)

# This line mounts Monologue's routes at the root of your application.
# This means, any requests to URLs such as /my-post, will go to Monologue::PostsController.
# If you would like to change where this engine is mounted, simply change the :at option to something different.
# We ask that you don't use the :as option here, as Monologue relies on it being the default of "monologue"
mount Monologue::Engine, :at => '/' # or whatever path, be it "/blog" or "/monologue"

3. Migrate Monologue's database tables

Run these commands:

  1. $bundle exec rake monologue:install:migrations
  2. $bundle exec rake db:create (only if this is a new project)
  3. $bundle exec rake db:migrate

4. Create a user

Open your development console with rails c, then:

Monologue::User.create(name: "monologue", email:"", password:"my-password", password_confirmation: "my-password")

5. Configure Monologue.

This is all done in an initializer file, say config/initializers/monologue.rb. More on this in the Wiki - Configuration.

6. Ready

Start your server and head on http://localhost:3000/monologue to log in the admin section.

Note to Heroku users

Additionnal step: turn caching off in config/environments/production.rb:

config.action_controller.perform_caching = false

Enable caching

Just turn perform_caching to true in your environment config file (`config/environment/{environment}.rb):

config.action_controller.perform_caching = true

IMPORTANT: if monologue is mounted at root ("/"), you must also add that in your routes.rb file, before the monologue mount:

root to: 'monologue/posts#index'


See the Wiki - Customizations.


  • Rails 3.1 +
  • Database: MySQL & Postgres are supported but other databases might work too.


Fork it, then pull request. Please add tests for your feature or bug fix.