spacecatninja/imager-x-bunny-transformer

Imager X 的 Bunny.net 转换器

2.0.0 2024-07-19 21:46 UTC

This package is auto-updated.

Last update: 2024-09-19 22:06:14 UTC


README

一个用于在 Imager X 中使用 Bunny.net Optimizer 作为转换器的插件。
同时也是一个 如何为 Imager X 创建自定义转换器 的示例。

需求

此插件需要 Craft CMS 5.0.0 或更高版本,Imager X 5.0.0 或更高版本,以及 bunny.net 的账户。

用法

按照以下说明安装和配置此转换器。然后,在您的 Imager X 配置 中,将转换器设置为 bunny,即

'transformer' => 'bunny',

转换现在默认通过 bunny.net 进行转换,使用以下简单的转换来测试您的配置

{% set transform = craft.imagerx.transformImage(asset, { width: 600 }) %}
<img src="{{ transform.url }}" width="600">
<p>URL is: {{ transform.url }}</p>

如果不起作用,请确保您已配置了 defaultProfile,有正确名称的配置文件,并且拉取区域已设置以指向您的资产存储位置。

注意事项、缺点和技巧

此转换器仅支持默认 craft 转换器时 Imager X 可以做的子集。Bunny.net API 非常有限,基本上仅支持使用 cropfit 调整大小模式进行缩放。宽度、高度、比例、质量和格式将自动从标准 Imager 参数转换,而其他所有附加选项都可以通过 transformerParams 转换参数直接传递给 Bunny。示例

{% set transforms = craft.imagerx.transformImage(asset, 
    [{width: 400}, {width: 600}, {width: 800}], 
    { ratio: 2/1, transformerParams: { saturation: 50 } }
) %}

有关更多信息,请参阅 Bunny.net Optimizer 文档

安装

要安装此插件,请按照以下说明操作

  1. 从您的项目目录使用 composer 安装:composer require spacecatninja/imager-x-bunny-transformer
  2. 在 Craft 控制面板的设置 > 插件下安装插件,或通过命令行使用 ./craft plugin/install imager-x-bunny-transformer

配置

您可以通过在您的配置文件夹中创建一个名为 imager-x-bunny-transformer.php 的文件来配置转换器,并根据需要覆盖设置。

profiles [数组]

默认: []
配置文件通常与您在 Bunny.net 中创建的 拉取区域 的一对一映射。您必须使用 defaultProfile 配置设置来指定要使用的默认配置文件,并且可以在模板级别通过在 transformerParams 中设置 profile 来覆盖它。

示例配置文件

'profiles' => [
    'default' => [
        'hostname' => 'my-zone.b-cdn.net',
        'addPath' => [
            'images' => 'images',            
            'otherimages' => 'otherimages',            
            'moreimages' => 'more/images',            
        ],
        'useCloudSourcePath' => true,
    ],
    'myotherzone' => [
        'hostname' => 'my-other-zone.b-cdn.net',
    ]
],

每个配置文件需要三个设置

hostname: 这是您区域的 Hostname。

addPath: 在资产路径前添加路径。如果您想使用一个 Bunny.net 区域来提供多个存储区域,这很有用。如果此设置是一个数组,则键应该是存储区域的句柄,值是要添加的路径。请参见上面的示例。

useCloudSourcePath:如果启用,Imager 将在添加到 Bunny.net 路径之前,将 Craft 源路径添加到资产路径之前。这使得在实例中,当它们位于同一 S3 存储桶的不同子文件夹中时,一个 Bunny 区域可以拉取来自多个 Craft 卷的图像。这仅在实现路径设置的卷上工作(AWS S3 和 GCS 支持,本地卷不支持)。

defaultProfile [字符串]

默认值:''
设置要使用的默认配置文件(见 profiles)。您可以通过设置 transformParams 变换参数在变换级别覆盖配置文件。示例

{% set transforms = craft.imagerx.transformImage(asset, 
    [{width: 800}, {width: 2000}], 
    { transformerParams: { profile: 'myotherprofile' } }
) %}

价格、许可证和支持

此插件以 MIT 许可证发布。它需要 Imager X,这是一个商业插件,可在 Craft 插件商店中找到 (点击访问)。如果您需要帮助或发现了一个错误,请在此存储库或 Imager X 的存储库中发布一个问题(最好是前者)。