Back in August I came across Ryan Grove‘s great Minify project, which is essentially a PHP client-optimizing file server for Javascript and CSS. I was in the design stage of a project with similar goals so I decided to try merging the two projects. Ryan thought the result had potential to be the base of the next major release, and since he hadn’t had much time lately to devote to Minify, he made me co-owner of the project.
Last week I finally got around to committing the code, and since then I’ve been fleshing it out, adding more features, docs, and tests, and updating the project pages a bit. The major difference is that the server is now built from separate utility classes, each lazy-loaded as needed. Some new features:
- separate front controller makes it easy to change how HTTP requests are handled
- file caching uses the very mature Cache_Lite
- supports conditional GET and far-future Expires models of client caching
- serve content from any source, not just files
- new “minifiers” (content compressors) for CSS and HTML with unit tests
At this point to see the new Minify in action you’ll need a Subversion client, like the Windows shell extension TortoiseSVN or the Eclipse plugin Subclipse. You can checkout a read-only working copy at http://minify.googlecode.com/svn/trunk/ and the README has easy setup instructions.
Congrats on the co-ownership, Steve. I’d heard of minify, and I think I even used it a bit before my migration to Rails.