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.
- 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
- categories
- UI for posts revisions and to manage user
- much more…see issues!
gem "monologue"
And run bundle install
to fetch the gem and update your 'Gemfile.lock'.
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"
Run these commands:
- $
bundle exec rake monologue:install:migrations
- $
bundle exec rake db:create
(only if this is a new project) - $
bundle exec rake db:migrate
Open your development console with rails c
, then:
Monologue::User.create(name: "monologue", email:"[email protected]", password:"my-password", password_confirmation: "my-password")
This is all done in an initializer file, say config/initializers/monologue.rb
. More on this in the Wiki - Configuration.
Start your server and head on http://localhost:3000/monologue to log in the admin section.
Additionnal step: turn caching off in config/environments/production.rb
:
config.action_controller.perform_caching = false
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.