No commit activity in last 3 years
No release in over 3 years
Rack Middleware for adding query string cache busting signatures on script and style assets
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

Runtime

 Project Readme

StaticSignature

Rack Middleware for adding query string cache busting signatures on script and style assets. This is accomplished by parsing html responses and appending an md5 hexdigest of file contents to the querystring.

In other words it turns this:

<link href="/stylesheets/screen.css" rel="stylesheet">

into this:

<link href="/stylesheets/screen.css?4a75c99cdc76e7e0f3f3a0d6a44338a4" rel="stylesheet">

This is intended to be a very limited implementation and makes a few assumptions:

  • You are OK with Nokogiri parsing and modifying all text/html responses
  • The markup all uses simple urls that don't already have query params or such appended already
  • Query params style cachebusting gotchas aren't going to pose a big problem for you

If you need a more feature rich implementation, Sprockets/AssetPipeline would better fit the bill. This is intended for getting small, sinatra-esque apps up quickly where the gorilla isn't needed yet.

Installation

Add this line to your application's Gemfile:

gem 'static_signature'

And then execute:

$ bundle

Or install it yourself as:

$ gem install static_signature

Usage

Enable the middleware providing the path to your static assets directory:

use StaticSignature::Middleware, :static_dir => File.join(File.dirname(__FILE__), "public")

Note the static_dir option is mandatory and must be an absolute path.

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Added some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request