Guts
A mountable, multisite, CMS engine for Rails 5.
Intensions
This engine is simply released to provide a basic, but full-featured CMS solution for Rails applications. It is not indented to mimic or become an all-inclusive Wordpress system.
Installation
Include the gem in your Gemfile
and run bundle install
:
gem 'guts', "~> 2.0.0"
# or for master: gem "guts", git: "[email protected]:tyler-king/guts.git"
Next, run the following commands for a install of routes, initializer, and editor configurations:
bin/rails generate guts:install
If you'd prefer to install individually, see all generators via bin/rails generate --help | grep guts
Next, run:
bundle exec rake guts:install:migrations # installs Guts migrations
bundle exec rake db:migrate # load migrations into your database
bundle exec rake guts:db:seed:all # pre-configures a few content types, groups, permissions for CanCanCan, etc
bundle exec rake guts:user:create[{name},{email},{password}] # creates a user (replace the values)
bundle exec rake guts:user:set_master[{email}] # allows user to access everything in the admin panel, should be done for initial user
You will now be able to access Guts by visiting /admin
in your Rails application.
Configuration
See configurations in docs.
Documentation
See extra under docs for information. The docs contain information for configuration usage, extending, and how to implement multisite support.
Commands
To see all commands available simply run bundle exec rake -T guts
. It contains tasks for user creation, user deletion, changing user passwords, database seeds for install, and migration installs.
Features
- Multisite support
- Unit tested and documented
- Dynamic content types
- File management
- Image processing via Paperclip
- WYSIWYG via TinyMCE (with custom plugin which uses the file management)
- Metafields
- Dynamic navigation builders
- Categories
- Basic user management
- Basic user groups
- Basic session management
- Databased permissions via CanCanCan
- And more...
Todo
- Translations
- Scope users and groups for multisite (not sure how to handle this yet)
License
This project is released under the "BSD New" license. See LICENSE
file for more details.