PagesCms

Try out a demo

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

  1. Add: gem 'pages_cms', '~> 1.0.0' to your Gemfile
  2. Run: $ rails generate pages_cms:install
  3. Add: //= require cocoon to your application.js file

This has built everything that PagesCMS needs to work, but to get hacking with some default styling and layout included, follow the next steps:

  1. Run: rails generate pages_cms:views
  2. Add: gem "bootstrap-sass" to your Gemfile
  3. Add: //= require bootstrap to your application.js
  4. Add: *= require pages_cms/pages_cms to your application.css
  5. Run: $ bundle install

You should now be able to go to /admin/pages and 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:

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!

  1. Fork
  2. Make Topic Branch
  3. 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.