gesagtgetan/krakenoptimizer

此包最新版本(3.0.0)没有可用的许可信息。

利用Kraken API的Neos图像优化器

3.0.0 2020-02-05 12:11 UTC

README

GesagtGetan.KrakenOptimizer

利用Kraken API的Neos图像优化器

安装

composer require gesagtgetan/krakenoptimizer

https://kraken.io 上创建Kraken账户,并在 https://kraken.io/account/api-credentials 生成新的API密钥。

将凭证添加到您的全局 Settings.yaml

GesagtGetan:
  KrakenOptimizer:
    krakenOptions:
      auth:
        api_key: '<yourApiKey>'
        api_secret: '<yourApiSecret>'

用法

警告

⚠ 如同任何活跃地在您的数据库和资源上工作的插件,确保您定期备份您的网站是个好主意。此插件尚未造成任何已知灾难,但安全总是比抱歉更好。

  1. 我们通常想优化所有现有资源。我们可以通过运行以下CLI命令来实现
./flow kraken:optimize

所有现有缩略图都将由Kraken的优化版本替代。默认情况下,我们执行 lossy 优化,因为这可以显著减小图像大小,而图像质量不会有明显下降。您可以通过更改设置中的 krakenOptions 来更改优化策略(设置 lossy: false),以及其他任意的Kraken API选项(请参阅 https://kraken.io/docs/)。

技巧

如果在初始优化过程中出现问题,可以从一个偏移量恢复优化。例如 ./flow kraken:optimize --offset 300 将跳过前299个缩略图。

警告

⚠ 执行此命令多次将可能导致已经优化的图像发送到Kraken API,从而仍然计入您的API配额,并且在多次执行有损优化时可能导致“过度优化”的图像。

  1. 现在是激活实时优化的完美时机。设置此标志后,所有生成的缩略图都将发送到Kraken进行改进
GesagtGetan:
  KrakenOptimizer:
    liveOptimization: true

♻ 不要忘记在生产环境中添加此标志后刷新您的缓存。

  1. 删除生产缓存
FLOW_CONTEXT=Production ./flow flow:cache:flush

其他选项

optimizeOriginalResource

通过启用 optimizeOriginalResource 标志,如果不需要为特定图像创建缩略图,则原始图像将被优化版本替代。如果所需的尺寸等于或低于原始图像,Neos不会为图像创建缩略图。

默认情况下,我们不优化原始图像。确保您有服务器的定期备份,以防优化过程中出现问题!

用法

GesagtGetan:
  KrakenOptimizer:
    optimizeOriginalResource: true

故障排除和常见问题解答

问:我在安装此插件之前已经优化了我的缩略图,但对结果不满意

答:如果您的缩略图已经显示出高压缩的迹象,如伪影,此插件无法恢复丢失的信息。在这种情况下,您需要使用 ./flow media:clearthumbnails 清除所有现有缩略图。请注意,这可能会对您的服务器造成很大负载,因为所有缩略图都需要在页面被调用时重新创建。您可以直接激活 liveOptimization,或者稍后通过运行 ./flow kraken:optimize 优化创建的缩略图。

如果您需要所有预设尺寸的所有缩略图,您可以通过运行 ./flow media:createthumbnails./flow media:renderthumbnails 预先生成它们。之后优化或激活 liveOptimization