**This is a fork of the master branch of jipiboily's blogging engine, monologue, as it existed on 11/9/2017. I will be continuing development on this project on this fork. This is a great solution for anyone who wants to run a blog on their rails apps, and it's especially helpful to have a gem for those of us who have multiple rails apps. I may port this project to Rails 5 in the future. I have disabled the tagging system for this project - it was terribly coded and experienced scalability issues when you publish more than a few blog posts (10+ second page load times). I'm not a fan of taggings in blog posts anyway, as they produce duplicated content, and I may not add this feature back. As I have time, I'll continue to refine this gem and keep it basic.
- See this fork in action booktrapper.com
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.
This README is for the latest version of Monologue (0-5-stable being the latest stable version).
To learn how to upgrade, see UPGRADE.md file. If you want to learn what changed since the last versions, see CHANGELOG.md.
-
Rails mountable engine (fully namespaced 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
- see roadmap!
gem 'monologue', :git => 'git://github.com/bw7432/monologue.git'
And run bundle install
to fetch the gem and update your 'Gemfile.lock'.
Add this to your route file (config/routes.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
.
Run these commands:
- $
bin/rake monologue:install:migrations
- $
bin/rake db:create
(only if this is a new project) - $
bin/rake db:migrate
Open your development console with bin/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, typically config/initializers/monologue.rb
. More on this in the Wiki - Configuration.
Start your server and go to http://localhost:3000/monologue to log in the admin section.
Monologue is using its own tables. If you want to use your own tables with monologue (for example the User table) this might help you to monkey patch.
See the Wiki - Customizations.
copy views like devise rails g monologue:views
or use scope: rails g monologue:views blog
- Rails 4.2.1 +
- Database: MySQL & Postgres are supported but other databases might work too.
- Jean-Philippe Boily, @jipiboily
- Michael Sevestre, @msevestre
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 db:migrate
- Run
bundle exec rake db:setup
- 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:
Zurb for the "social foundicons".