flownative / image-optimizer
Optimize resources globally based on media types.
Installs: 9 248
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 4
Forks: 5
Open Issues: 0
Type:neos-package
Requires
- neos/flow: ^7.3 || ^8.0
README
Flownative ImageOptimizer
Uses a low-level resource publishing target to optimize resources with binary tools (eg. image optimization).
Installation
composer require flownative/image-optimizer
Usage
See Configuration/Settings.yaml.example
Basically you configure this as your main publishing target but with an actual target on top.
The ImageOptimizerTarget simply takes any images published through it, checks if the media type matches one of the configured ones and if so optimizes the image (best result effort, so if the filesize after tool is bigger the original is used as optimized.) URLs will always point to the optimized image.
The configuration for a media type contains a binaryPath
to the tool used for optimization of the
file and arguments
which is evaluated as EEL expression with two variables available:
originalPath
- a temporary file path with the originaloptimizedPath
- a temporary file path to write the optimized file to
The OptimizationService
can be used on it's own if optimization in another place is required.
It will return an optimized PersistentResource
object which may have the same binary content as
the given input stream.