An ultra-simple content management system (CMS) based on Rails 3 and jQuery
JavaScript Ruby
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



Version 0.0.3 - Alpha Release (For Rails 3.0.0beta2 projects only)

Silk is a simple yet powerful content management system built for speed and ease of use.

Release Highlights

Restructuring of install process - now non-destructive!
Wrap-around routing - no more copying over/editing routes file while preserving any previously created routes
SilkHelper inclusion from initialiser - no more copying over silk_helper.rb
Renamed default layout from application, to silk - no more overwriting the original application layout file!
Addition of silk-themes (default) ...?

Getting started

As a rails plugin:

1. Add the following line to your Gemfile, required by Silk:
   gem 'authlogic', :git => "git://", :branch => "rails3"

2. Install Silk with the following command:
   rails plugin install git://

3. Launch your app (rails s), goto http://localhost:3000/silk/login and login with:
   Username: admin
   Password: password

Not yet tested in IE.

Configuring settings

Once you're up and running, you'll want to check the settings file in /config/silk.yml to make any adjustments for your client.
For example, if you know they will not require any dynamic content you may remove the erb content type.

Note: To enable HAML, add the following to your Gemfile:  gem 'haml', '3.0.0.beta.1'

Mark content as editable

You may mark existing content as editable by wrapping it inside a 'editable' helper block. This will work whether or not the content
lives in a regular Rails view or inside a dynamic page. Any content inside the block will be copied to the database the first time
the view is rendered where upon it will become editable by the end user.

If the content is to appear on multiple pages use the snippet helper instead.

Creating a new dynamic page

Assuming you're logged in, page creation works exactly like a Wiki. Simply type in or link to the URL you want and you'll be prompted to create it.

Silk allows you to include editable content within regular rails controllers and views. Just ensure your controller inherits from Silk::BaseController and call the editable/snippet helpers within the views as usual.

= About Silk =

The initial concept for Silk was born in 2005 when I became frustrated at the complexity of existing CMS solutions.
The goals for Silk today remain the same as they were back then:

* Offer end users (typically your clients) a simple way to edit their content
* Offer designers unlimited flexibility. Silk should not restrict them in anyway.
* Offer developers the ability to plug Silk into an existing app or extend Silk to suit their needs
* Reduce the amount of interface - clients should never need to leave their beloved website to edit something in an alien environment
* Don't try to be enterprisy. If you want masses of multi-user features there are plenty of complicated systems out there already
* Make the interface fast and snappy - Silk uses jQuery dialogs extensively to keep page reloads and AJAX calls to the bare minimum

Many thanks to Alex Stubbs who, in addition to reviewing this code, worked tirelessly on the very first version of Silk (back in 2006)
and provided many of the original concepts that are present in this new version.

Copyright (c) 2010 Aconix Ltd, released under the MIT license