Pagelime Rack Plugin

Easily add the Pagelime CMS to your Rack app.

Pagelime is a simple CMS service that allows you to define editable regions in your content without installing any software on your site or app. Simply add a class="cms-editable" to any HTML element, and log-in to the Pagelime CMS service to edit your content and images with a nice UI. We host all of the code, content, and data until you publish a page. When you publish a page, we push the content to your site/app via secure FTP or web APIs.

One line example:

<div id="my_content" class="cms-editable">
  This content is now editable in Pagelime... no code... no databases... no fuss
</div>

Getting Started

Requirements

Step 1: Install the Pagelime Rack gem

Edit your Gemfile and add

gem "pagelime-rack"

then run

bundle install

Step 2: Setup your Pagelime credentials

(Skip if using Heroku add-on)

If you are NOT using the Pagelime Heroku add-on, set up an account at pagelime.com. Make sure that the "Integration Method" for your site on the advanced tab is set to "web services".

Step 3: Configure your application

Set up your Environment variables: (Skip if using Heroku add-on)

ENV['PAGELIME_ACCOUNT_KEY']      = "..."
ENV['PAGELIME_ACCOUNT_SECRET']   = "..."
ENV['PAGELIME_RACK_API_VERSION'] = "1.0"

Optionally, enable caching:

Pagelime.configure do |config|
  # object that responds to `fetch` and `delete`
  config.cache = ...
  # options passed to `fetch(key, options = {}, &block)`
  config.cache_fetch_options = { ... }
end

Step 4: Make pages editable

Create some editable regions in your views like so:

<div id="my_content" class="cms-editable">
  this is now editable
</div>

The ID and the class are required for the CMS to work

Step 5: Edit your pages!

For Heroku users

If you're using the Pagelime Heroku add-on, go to the Heroku admin for your app and under the "Resources" tab you will see the Pagelime add-on listed. Click on the add-on name and you will be redirected to the Pagelime CMS editor. From there you can edit any page in your Rack app!

For Pagelime.com users

If you have a standalone Pagelime account, simply go to pagelime.com and edit your site as usual (see Step 2).

Sinatra Sample

require 'sinatra'
require 'pagelime-rack'

configure :development do
  ENV['PAGELIME_ACCOUNT_KEY']      = "..."
  ENV['PAGELIME_ACCOUNT_SECRET']   = "..."
  ENV['PAGELIME_RACK_API_VERSION'] = "1.0"
end

use Rack::Pagelime

get '/page/about' do
  content_type "text/html"
  return '<div id="content" class="cms-editable">Hello World!</div>'
end

Copyright (c) 2013 Pagelime LLC, released under the MIT license