Slimmer provides Rack middleware for applying a standard header and footer around pages
returned by a Ruby (Rack) application.
It does this by taking the page rendered by the application, extracting the contents of
a div with id ‘wrapper’ and inserting that into a div with the same id in one of its
templates. It also transfers various other details, such as meta, script, and style tags.
A specific template can be requested by giving its name in the X-Slimmer-Template HTTP header.
In a controller action, you can do this by calling slimmer_template.
class MyController < ApplicationController
There’s also a macro style method which will affect all actions:
class YourController < ApplicationController
To get this, include Slimmer::Template in your ApplicationController:
class ApplicationController < ActionController::Base
Slimmer can be configured with a logger by passing in a logger instance
(anything that quacks like an instance of Logger). For example, to log
to the Rails log, put the following in an initializer:
config.slimmer.logger = Rails.logger
Note: This can’t be in application.rb because the Rails logger hasn’t been initialized by then.
By default if you pass in a logger with its log level set to debug, slimmer will dup this logger and reduce the level to info. (Slimmer’s debug logging is very noisy). To prevent this, set the enable_debugging option to true. e.g. for Rails:
config.slimmer.enable_debugging = true