kinglozzer/silverstripe-tinypng

Installs: 3 883

Dependents: 0

Suggesters: 0

Security: 0

Stars: 3

Watchers: 5

Forks: 6

Open Issues: 0

Type:silverstripe-vendormodule

3.0.2 2021-10-05 11:49 UTC

This package is auto-updated.

Last update: 2024-12-05 18:40:19 UTC


README

An extension to SilverStripe's Image class to integrate with the TinyPNG API.

Installation

With composer:

composer require kinglozzer/silverstripe-tinypng ^3.0

Usage

Add your TinyPNG API key to your _config.yml:

Kinglozzer\SilverStripeTinyPng\ImageExtension:
  tinypng_api_key: 'xxxx_yyyy_zzzz'

Add the Compressed method to your templates when outputting images:

{$Image.CroppedImage(150, 300).Compressed}

NOTE: Compressed must be the last modification you call on your image - otherwise you’ll compress an image, then resample it again afterwards, potentially undo-ing the compression.

If you set an invalid API key, or exceed your monthly API allowance, then a warning will be shown in dev/test mode. In live mode compression will (intentionally) silently fail and output the un-compressed image, but will still log a message via the Logging API.