PagesCms
Pages CMS uses nested forms and draggable items to allow the user to build a site within the predefined layout from a designer. It incorporates an image management system as well as a page management system. It's like a wordpress page builder on rails.
Advantages
- Get hacking right away with out of the box support for bootstrap.
- Easily drag page layouts into the position you want them.
- Built in blog.
- Limited dependencies, doesn't require or come with a User model.
- Easily customized.
- Lightweight and easy to understand: Built with simple rails techniques everyone can understand.
Installation
- Add:
gem 'pages_cms', '~> 1.0.0'to yourGemfile - Run:
$ rails generate pages_cms:install - Add:
//= require cocoonto yourapplication.jsfile
This has built everything that PagesCMS needs to work, but to get hacking with some default styling and layout included, follow the next steps:
- Run:
rails generate pages_cms:views - Add:
gem "bootstrap-sass"to yourGemfile - Add:
//= require bootstrapto yourapplication.js - Add:
*= require pages_cms/pages_cmsto yourapplication.css - Run:
$ bundle install
You should now be able to go to
/admin/pagesand start building pages!
The generator has added three methods to your App:
| Method | Usage |
|---|---|
logged_in_admin |
Authorizes controllers in the PagesCms engine |
current_user_is_admin? |
Verifies that the current user is an admin in the views |
slugged_path |
Creates a slug of the path for user generated pages |
Make sure to fill these methods out to secure your application.
Note: Let me know if you are having dependency issues, this is one area that is very untested, and we can work to find a solution. The app is only tested with the latest version of rails and notably postgres as well. The blog section uses array tagging so those with sqlite will have problems.
Licence
MIT, author makes no liability whatsoever.
Free Software Used
Thank you to:
- html5 sortable: http://farhadi.ir/projects/html5sortable/
- select2 Jquery: https://select2.github.io/
- wysihtml5: https://github.com/Voog/wysihtml
- bootstrap sass: https://github.com/twbs/bootstrap-sass
- cocoon: https://github.com/nathanvda/cocoon
Contributing
More than welcome! This project is currently looking for dedicated core contributors looking to build exciting open source software. Shoot me a message or an email, I'd love to talk to you about the project!
- Fork
- Make Topic Branch
- Submit Pull Request
Current To Do List
- Enable strong params for admin/pages controller (right now if strong params are enabled, saves old elements twice!?!)
- Bigger feature list, what block elements do people want?
- Testing, increase coverage and test dependency version changes.
Decorators and Customization
Coming soon.