Guts
A mountable, extendable, multisite, CMS engine for Rails 5.
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-like system.
Installation
Include the gem in your Gemfile
and run bundle install
:
gem 'guts' # to grab latest, or specify a specific version
# or for master: gem 'guts', git: 'git@github.com:ohmybrew/guts.git'
Next, run the following commands for a install of routes, initializer, and editor configurations:
bin/rails generate guts:install
Note: 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 required admin group, content types, 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 (replace the values)
You will now be able to access Guts by visiting /admin
in your Rails application.
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.
Configuration
No post-install configuration is required but if you wish to change anything see configurations in docs.
Documentation
See extra under docs for information on Guts itself. The docs contain information for configuration usage, extending, and how to implement multisite support.
For code documentation, you can run bundle exec yardoc
of visit rubydocs.info
.
Code is also ran through rubocop.
Testing
This Gem is tested. Run bundle exec rake test
(or appraisal rake test
) after bundle install
(or appraisal install
).
Both development and testing environments use SQLite located in test/dummy/db
.
Notes
- SQLite is used during testing
- Appraisal Gem is used to test against multiple Rails versions, you can simply run
bundle exec rake test
or useappraisal {gemfile} rake test
Feature Overview
- Unit tested and documented
- Multisite support
- Dynamic content types
- File management (with multi-upload)
- Media post-processing
- WYSIWYG editors
- Metafields for all objects
- Dynamic navigations
- Categories
- Basic user management
- Basic user groups
- Basic session management
- User and group authorizations
Notable Gems
- pundit - Used for user and group authorization
- tinymce-rails - Used for editors
- paperclip - Used for media post-processing
- friendly-id - For slug generations on object
Todo
- Translation support
License
This project is released under the "MIT" license. See LICENSE
file for more details.