Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 .bundle
Octocat-spinner-32 lib
Octocat-spinner-32 test
Octocat-spinner-32 .gitignore
Octocat-spinner-32 CHANGELOG.md
Octocat-spinner-32 Gemfile
Octocat-spinner-32 Gemfile.lock
Octocat-spinner-32 MIT-LICENSE
Octocat-spinner-32 README.md
Octocat-spinner-32 Rakefile
Octocat-spinner-32 VERSION
Octocat-spinner-32 init.rb
Octocat-spinner-32 install.rb
Octocat-spinner-32 uninstall.rb
Octocat-spinner-32 ventilation.gemspec
README.md

Ventilation

Ventilation makes developing with ESI a snap.

ESI helps scale your website by allowing you to break it down into fragments which can be cached independently and reconstructed on the fly. This allows your server to spend the majority of its time creating the truly dynamic sections of your site and the rest to be reused and mixed in at the edge.

Using ESI means you need to develop behind varnish or something capable of composing the response. Ventilation however, removes this dependecny which means you can develop with esi using nothing more the script/server. There is no need to run a local varnish server (you still can if you want to). Ventilation will automatically compose the page as if it was run through varnish while you are in development. When you move out of development or put your ventilation powered application behind varnish the composed content will be replaced with esi tags allowing varnish to work it's magic.

WARNING: Using Varnish without Ventilation may result in death!

Example

Include from a content delivery network.

<%= esi "http://cdn.megadomain.com/network_nav" %>

Include from somewhere else within your application.

<%= esi :header %>
<%= esi :header, :controller => :site %>

Copyright (c) 2010 Agora Games, released under the MIT license

Installation

gem install ventilation

Resources

Something went wrong with that request. Please try again.