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 bin
Octocat-spinner-32 lib
Octocat-spinner-32 test
Octocat-spinner-32 vendor
Octocat-spinner-32 .gitignore
Octocat-spinner-32 Gemfile
Octocat-spinner-32 Gemfile.lock
Octocat-spinner-32 README.textile
Octocat-spinner-32 Rakefile
Octocat-spinner-32 app.rb
Octocat-spinner-32 config.ru
Octocat-spinner-32 config.yml
README.textile

Are you tired of handling weird image resizing stuff in your application? Does generating images take a long time? Is it a pain to come up with different sizes of thumbnails? Do you wish you could reduce your image sizes by 20-50%? Would it be nice to have a single solution that handles all your imaging needs for all of your projects no matter what language / platform they are on?

ImageMonkey will handle this for you. In something like 20 lines of Ruby code.

If ImageMonkey is setup to listen at http://static.tanga.com, to fetch original images from http://www.tanga.com, and a request comes in to http://static.tanga.com/300×200!/images/logo.jpg, ImageMonkey will:

That’s pretty much it. This system allows you to easily make changes to your thumbnail sizes, squashing algorithms, etc without modifying application code.

You will want to use a http caching server (Varnish or Cloudfront (or both)) in front of this. Hosting on heroku w/ a Cloudfront custom origin is a fantastic idea.

Stuff left to do

  • Change the URL to something like /resizer/200×300/rest/of/url.
  • If a request comes in that doesn’t match /resizer, download/proxy the requested file (don’t try to thumbnail it)..
  • Add a rails helper that you can use to easily integrate this into your Rails application.
Something went wrong with that request. Please try again.