Glue is a simple command line tool to generate CSS sprites
… image:: https://badge.fury.io/py/glue.png
:target: http://badge.fury.io/py/glue
… image:: https://travis-ci.org/jorgebastida/glue.png?branch=master
:target: https://travis-ci.org/jorgebastida/glue
… image:: https://coveralls.io/repos/jorgebastida/glue/badge.png?branch=master
:target: https://coveralls.io/r/jorgebastida/glue?branch=master
… image:: https://pypip.in/d/glue/badge.png
:target: https://crate.io/packages/glue/
Glue is a simple command line tool to generate sprites::
$ glue source output
Automatic Sprite (Image + Metadata) creation including:
Automatic multi-dpi retina <http://glue.readthedocs.org/en/latest/ratios.html>
_ sprite creation.
Support for multi-sprite projects.
Create sprites from multiple folders (recursively).
Multiple algorithms <http://glue.readthedocs.org/en/latest/options.html#a-algorithm>
_ available.
Automatic crop of unnecessary transparent borders <http://glue.readthedocs.org/en/latest/quickstart.html#crop-unnecessary-transparent-spaces>
_ around source images.
Configurable paddings and margin per image, sprite or project <http://glue.readthedocs.org/en/latest/paddings.html>
_.
Watch option to keep glue running watching for file changes.
Project-, Sprite- and Image-level configuration via static config files.
Customizable output <http://glue.readthedocs.org/en/latest/options.html#global-template>
_ using jinja templates.
CSS: Optional .less/.scss output format.
CSS: Configurable cache busting for sprite images <http://glue.readthedocs.org/en/latest/options.html#cachebuster>
_.
CSS: Customizable class names <http://glue.readthedocs.org/en/latest/options.html#separator>
_.
Python 2.6
, 2.7
and 3.3+
supported.
Really well tested <https://coveralls.io/r/jorgebastida/glue?branch=master>
_.
Using the gorgeous famfamfam icons <http://www.famfamfam.com/lab/icons/silk/>
_ (4.2Mb) you will get
the following icons.png
(401Kb).
… image:: https://github.com/jorgebastida/glue/raw/master/docs/img/famfamfam1.png
And also an icons.css
with all the necessary CSS classes for this sprite::
.sprite-icons-zoom_out{ background:url('icons.png'); top:0; left:0; no-repeat;}
.sprite-icons-zoom_in{ background:url('icons.png'); top:0; left:-16; no-repeat;}
.sprite-icons-zoom{ background:url('icons.png'); top:-16; left:0; no-repeat;}
.sprite-icons-xhtml_valid{ background:url('icons.png'); top:-16; left:-16; no-repeat;}
...
Do you want to know more? Visit the quickstart guide: http://glue.readthedocs.org/en/latest/quickstart.html
Fork the repository on GitHub to start making your changes to the master branch (or branch off of it).
Write a test which shows that the bug was fixed or that the feature works as expected.
python setup.py test
Send a pull request and bug the maintainer until it gets merged and published. 😃 Make sure to add yourself to AUTHORS.
We are creating a list of companies using glue in production. If your company use glue
, please send me <mailto:[email protected]>
_ an email or send me a message to @jorgebastida <https://twitter.com/jorgebastida>
_ . I would really appreciate it.
There are several features that glue
users would love to have… but they require a substancial amount of work and dedication, so we are looking for feature-sponsors! If you want to lead the development/testing of any of the following features, please contact Jorge Bastida <mailto:[email protected]>
_.
Here you have some examples:
glue
needs somebody who care about how glue
works on Windows and write down some installation instructions).glue
is ready to accept new output formats - If you want to create a new format, contact me).