css-sprite 0.2.0
A simple css sprite generator.
License: BSD-2-Clause
Requires Python: >=3.8

========
Overview
========



A simple css sprite generator.

* Free software: BSD 2-Clause License

Installation
============

::

    pip install css-sprite

You can also install the in-development version with::

    pip install https://github.com/ionelmc/python-css-sprite/archive/main.zip

Usage
=====

To generate a css sprite from images::

    css-sprite [-h] [--grid GRID] --output OUTPUT
        [--mode MODE] [--vertical] [--background BACKGROUND]
        [--template TEMPLATE | --template-path TEMPLATE_PATH]
        [--verbose] [--version] image [image ...]

Output is mainly a new image but you can also generate the accompanying css.

Positional arguments:
  image                 Path to image to include in sprite.

Options:
  -h, --help            show this help message and exit
  --grid GRID, -g GRID  Grid cell size to use. One of: auto, X:Y.
  --output OUTPUT, -o OUTPUT
                        Output file.
  --mode MODE, -m MODE  Force a certain image mode in the output, see: https://pillow.readthedocs.io/en/latest/handbook/concepts.html#modes.
  --vertical, -v        Stack the images vertically (they are stacked horizontally by default).
  --background BACKGROUND, -b BACKGROUND
                        Background color.
  --template TEMPLATE, -t TEMPLATE
                        Jinja template for CSS output on stdout.
  --template-path TEMPLATE_PATH, -p TEMPLATE_PATH
                        Jinja template path for CSS output on stdout.
  --verbose             Make output verbose.
  --version             show program's version number and exit


Template variables:

* ``images`` - list of dicts with fields:

  * ``index`` - counter starting from 1
  * ``index0`` - counter starting from 0
  * ``filename`` - path to source image
  * ``offset`` - dict with fields: ``x`` and ``y`` (integers)
  * ``position`` - dict with fields: ``x`` and ``y`` (integers)
  * ``width`` - integer (same as ``cell.width`` for now)
  * ``height`` - integer (same as ``cell.height`` for now)
* ``grid`` - dict with fields

  * ``width`` - integer
  * ``height`` - integer
  * ``vertical`` - bool (``True`` if you have used ``--vertical``)
* ``cell`` - dict with fields:

  * ``count`` - number of input images
  * ``width`` - integer
  * ``height`` - integer
* ``output`` - pathlib.Path of output file

Documentation
=============


https://python-css-sprite.readthedocs.io/


Development
===========

To run all the tests run::

    tox

Note, to combine the coverage data from all the tox environments run:

.. list-table::
    :widths: 10 90
    :stub-columns: 1

    - - Windows
      - ::

            set PYTEST_ADDOPTS=--cov-append
            tox

    - - Other
      - ::

            PYTEST_ADDOPTS=--cov-append tox


Changelog
=========

0.2.0 (2022-05-06)
------------------

* Allow images to overlap by using alpha composition. Useful when cell is smaller than images, and images are transparent.
* Restructure template context. **BACKWARDS INCOMPATIBLE**

0.1.1 (2022-04-18)
------------------

* Remove the universal flag (don't produce py2.py3 wheels since
  py2 isn't supported anyway).

0.1.0 (2022-04-18)
------------------

* First release on PyPI.