Monologue
THIS README IS FOR THE MASTER BRANCH AND REFLECTS THE WORK CURRENTLY EXISTING ON THE MASTER BRANCH. IF YOU ARE WISHING TO USE A NON-MASTER BRANCH OF MONOLOGUE, PLEASE CONSULT THAT BRANCH'S README AND NOT THIS ONE.
-
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.
Version
This README is for a future Monologue version, that will be 0.4.X and be Rails 4 specific. See other branches for other versions (0-3-stable being the latest stable version).
Upgrade and changes
To know how to upgrade, see UPGRADE.md file. If you want to know what changed since the last versions, see CHANGELOG.md.
Questions? Problems? Documentation?
- Mailing list for questions
- Issues and bugs
- Wiki
- IRC channel (on Freenode): #monologue.
Some features
- Rails mountable engine (fully named spaced and mountable in an already existing app)
- tested
- back to basics: few features
- tags (or categories)
- RSS
- multiple users
- support for Google Analytics and Gaug.es tags
- 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 are handled by disqus
more in the CHANGELOG
Available extensions
missing features
- see roadmap!
Installation
1. Add the gem to your Gemfile
. This will get the latest version compatible with Rails 4 until we release a gem
gem 'monologue', github: 'jipiboily/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"
For example, if you decide to mount it at /blog
, the admin section will be available at /blog/monologue
.
Here we decide to use monologue as default route mounting it at /
, it means that the admin section will directly
be available at /monologue
.
3. Migrate Monologue's database tables
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
4. Create a user
Open your development console with rails c
, then:
Monologue::User.create(name: "monologue", email:"[email protected]", 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 users
Monologue is using his own tables. If you want to use your own tables with monologue (for example the User table) this might help you to monkey patch Monkey Patch
Customization
See the Wiki - Customizations.
Requirements
- Rails 4.0.4 +
- Database: MySQL & Postgres are supported but other databases might work too.
Authors
- Jean-Philippe Boily, @jipiboily
- Michael Sevestre, @msevestre
Contributing
In the spirit of free software, everyone is encouraged to help improve this project.
Here are some ways you can contribute:
- by using prerelease versions
- by reporting bugs
- by suggesting new features
- by writing or editing documentation
- by writing specifications
- by writing code (no patch is too small: fix typos, add comments, clean up inconsistent whitespace)
- by refactoring code
- by resolving issues
- by reviewing patches
Starting point:
- Fork the repo
- Clone your repo
- Run
bundle install
- Run
bundle exec rake test_app
to create the test application inspec/dummy
- Make your changes
- Ensure specs pass by running
bundle exec rspec spec
- Submit your pull request
You will need to install this before running the test suite:
Thanks to
Zurb for the "social foundicons".