Buildybuild

Buildybuild is a rails generator that gives you everything you need to create a cms.

Installation

Add this line to your application's Gemfile:

$ gem 'buildybuild'

And then execute:

$ bundle

Or install it yourself as:

$ gem install buildybuild

Note: There are runtime dependencies in Buildybuild so you'll have to add the following if buildybuild is not in your Gemfile:

  gem 'decent_exposure', '2.0.0.rc1'
  gem 'haml-rails'
  gem 'formal'
  gem 'rdiscount'

Usage

This is a rails generator so run the following command:

$ rails generate buildybuild:cms 

# you can pass a name for the generated resource. Default is "page" i.e.:

$ rails generate buildybuild:cms static_page

This will create the following files:

  • app/models/page.rb
  • db/migrate/[timestamp]_create_pages.rb
  • app/controllers/pages_controller.rb
  • app/views/pages/new.html.haml
  • app/views/pages/edit.html.haml
  • app/views/pages/show.html.haml
  • app/views/pages/_form.html.haml

and appends the following to the bottom of your routes file:

  resources :pages, only: [:new, :create]

    #keep these at the bottom of your file. They should be the last routes.
    get "/:slug", to: "pages#show", as: :slug
    get "/:slug/edit", to: "pages#edit", as: :edit_slug
    put "/:slug", to: "pages#update", as: :slug
    post "/:slug", to: "pages#destroy", as: :slug

Next

run the migration

rake db:migrate

And you're set. Now you can go to "http://localhost:3000/pages/new" and see your new Content Management System in action!

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