HancockCMS

Rails 5 support

Inspired by RocketCMS

Remaded from EnjoyCMS

DEVELOPMENT VERSION

Rails + RailsAdmin + Mongoid/PostgreSQL CMS

Very opinionated and tuned for my needs.

Installation

Add this line to your application's Gemfile:

gem 'hancock_cms_mongoid', '~> 2.0'

or:

gem 'hancock_cms_activerecord', '~> 2.0'

Only PostgreSQL is tested or supported for AR(from root repo). Others will probably work, but untested.

And then execute:

$ bundle

Or install it yourself as:

$ gem install hancock_cms -v 2.0

For activerecord, generate migrations and run them

rails g rails_admin_settings:migration
rails g hancock_cms:migration
rake db:migrate

Usage

Using app generator

Make sure you have rails 5.0 installed

rails -v

If not, uninstall rails and install again

gem uninstall rails
gem install rails -v 5.0

Then, for mongoid:

rails new my_app -B -T -O -m https://raw.githubusercontent.com/red-rocks/hancock_cms/rails5/template.rb
cd my_app
rails g hancock:cms:setup

for ActiveRecord:

rails new my_app -B -T --database=postgresql -m https://raw.githubusercontent.com/red-rocks/hancock_cms/rails5/template.rb
cd my_app
rails g hancock:cms:setup

generator creates a new RVM gemset, runs bundle install and setup some files (assets, config/initializers/*, routes, etc).

Localization

All models included in the gem support localization via either hstore_translate or built-in Mongoid localize: true option.

You can get a nice admin UI for editing locales by adding rails_admin_hstore_translate or rails_admin_mongoid_localize_field

Enable localization in HancockCMS:

Hancock.configure do |hancock|
  hancock.localize = true
  ...
end

Add rails_admin_hstore_translate or hstore_translate gem if using PostgreSQL:

gem 'rails_admin_hstore_translate'

or

gem 'hstore_translate'

Add rails_admin_mongoid_localize_field gem if using MongoDB:

gem 'rails_admin_mongoid_localize_field'

Documentation

It's basically Mongoid + Rails Admin + some of my common models and controllers, etc.

See their documentation for more info

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request