No commit activity in last 3 years
No release in over 3 years
This gem packs a bunch of useful utilities for image optimization for use with image_optim.
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

Image Compressor Pack

Gem Version Build Status

A source distribution of a bunch of lossy and lossless image optimisation utilities for use with image_optim. Created because I didn't trust the binaries in the image_optim_pack gem and wanted something to automate the compilation from source.

Installation

The gem is distributed in both source and binary form. The binary versions contain statically linked executables for Linux and FreeBSD and dynamically linked ones for Mac OS X.

Using the gem

Add this line to your application's Gemfile:

gem 'image_compressor_pack'

And then execute:

$ bundle

Versioning

Starting with image_compressor_pack 1.0.0.0, all even point releases contain only a source-based distribution, while odd point releases contain both a source-based distribution and binary distributions. However both point releases correspond to the exact underlying code. The only difference is the version number.

This way, the most recent version of the gem always has binary distributions, but if you don't want to use the binaries, you can always "lock in" your dependency a single point version down, forcing it to compile from source.

So for example, 1.0.0.1 contains all the binary distributions, while 1.0.0.0 is the exact same code, but contain only a source-based distribution.

Usage

For use in Rails with image_optim. Just adding it to your Gemfile should be enough to add most of the utilities image_optim has workers for to the PATH.

At this point image_optim_pack supports svgo and pngout which are not included in image_compressor_pack. svgo requires nodejs and pngout's source is not open.

To exclude them, use the following in your Rails environment configuration or appropriate initialiser:

config.assets.image_optim = {skip_missing_workers: true,
                             svgo: false,
                             pngout: false}

See https://github.com/toy/image_optim#from-rails for more info on Rails configuration or https://github.com/toy/image_optim#configuration if you are using image_optim and image_compressor_pack outside of Rails.

Note on the security of this gem

Some of the packaged utilities are pretty niche, and the popular ones often have security issues. I wouldn't use them on images from untrusted parties. Do so on your own responsibility.

The .gem files I produce on trusted systems are signed with the certificate in the certs directory. There's an OpenPGP signature there, too. It can be used to tie the x509 certificate to my OpenPGP web of trust. See this for more info on verifying gem signatures.

License

The gem is available as open source under the terms of the MIT License.