Build Status

  • Create a new Rails project:

    $ rails new Blah
  • Add the Kilt CMS gem to your Gemfile:

    gem 'kilt-cms'
  • Run bundler:

    $ bundle install
  • Require “kilt” in your application.rb:

    module Blah
      class Application < Rails::Application
        require 'kilt'

Note: We're trying to find a way around that last step, but for now we're just explicitly adding it since we can't figure out how to get it to auto-load all of Kilt's dependency gems when starting the app.

  • Run the Kilt generator:

    $ rails g kilt:install
  • To create a new Rails app:

    $ rails new Blah
  • If you want to use S3 for your image and file uploads, add your S3 info to creds.yml. Also set the following in your config.yml:

      strategy: s3
  • If you want to just have file and image uploads be placed in the public/uploads directory, set the following in your config.yml:

      strategy: local
  • Run the app:

    $ rails s
  • Visit the CMS:

    http://<your app>/admin
  • Note that there's a single object created (bagpipe). Click around and see all the field types. Create some bagpipe objects.

  • Use the Kilt rake task to see what all you can do with Kilt in your controllers and views:

    $ rake kilt
  • Create a new object type:

    $ rails g kilt:object <object name> <field name>:<field type> <field name>:<field type> <field name>:<field type>
    $ rails g kilt:object person name:text address:text bio:longtext avatar:image
  • Go back to /admin and you'll see the new object type. Click around and add some objects of that type.

  • From here, try using it on the front-end by creating controllers and views like you would in any other rails app. Instead of calling to a database, though, use the Kilt methods found in the rake task, or listed on the homepage.

  • You can override the admin menu by copying app/views/layouts/kilt/cms/_menu.html.erb to your own project.

  • Dig around the code looking for holes/problems/questions, and keep a list, please.