Skip to main content

A library bundled with a CLI tool to generate CSS sprites.

Project description

A Python library/utility to create CSS sprites.

This library was made out of my frustration to be unable to find a library that suited exactly what I had in mind. And also because I found the idea of writing that quite fun :)

Now a first version is done, I don’t know if I’m going to push the development further. Don’t use this in production, unless you are ready to dig into the code and maintain the app yourself.


PTL source file

Everything is generated from the PTL source file. It has a few options:

# The prefix that will be put in front of every generated CSS selector.
# The selectors are generated from the file names. With the current
# configuration, what you'd get for a toto.png file would be a
# .icon-toto class.
prefix = .icon-

# This is a selector of the global class for all generated tiles (it
# sets some styles attributes for everybody)
general_selector = [class^="icon-"], [class*=" icon-"]

# A hint of the number of tiles that fits in the width of the sprite.
width = 15

# The relative path from the generated CSS file to the generated sprite
# file. This sprite file will be generated at compilation time.
filename = sprite.png

# A valid PIL format name
format = PNG

# This is a hint about the tiles size. Put here your most common tile
# size, or the LCM of your tiles sizes, or something in that mood.
width = 16
height = 16

# Here goes a plain glob list of files to be put in the sprite. The
# path is relative to the .ptl file.

CLI Tool

Once you have the PTL source, compiling is quite simple:

ponytile input.ptl output.css

It will generate the output.css file with the appropriate sprite file as configured by the PTL file.

Using in your web page

Just include the generated CSS somewhere, and then do:

<i class="icon-toto"></i>

It should make the trick :)

Using the library

Open bin/ponytile and look at how things are done. There is not much more to say about the public API right now!

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for Ponytile, version 0.1.1
Filename, size File type Python version Upload date Hashes
Filename, size Ponytile-0.1.1.tar.gz (7.0 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page