spacecatninja/imager-x-imagekit-transformer

Imager X 的 ImageKit 转换器

2.0.1 2024-04-05 10:28 UTC

This package is auto-updated.

Last update: 2024-09-05 11:22:22 UTC


README

这是一个用于在 Imager X 中将 ImageKit 作为转换器使用的插件。
同时,也是一个如何为 Imager X 制作自定义转换器的示例。

需求

此插件需要 Craft CMS 5.0.0-beta.1 或更高版本,Imager X 5.0.0-beta.1 或更高版本,以及 ImageKit 的账户。

使用方法

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

'transformer' => 'imagekit',

转换现在默认使用 ImageKit 进行转换,使用以下简单的转换测试您的配置

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

如果不起作用,请确保您已配置了 defaultProfile,存在具有正确名称的配置文件,并且 ImageKit 已正确配置。

注意事项、不足之处和技巧

此转换器仅支持默认 craft 转换器在 Imager X 中可执行的一部分操作。所有基本转换参数都受支持,但有以下例外

  • 焦点点转换为焦点锚点(例如 topleftcenter 等)。
    – 水印不会自动从 Imager 语法转换为 ImageKit,但您仍然可以通过手动通过 transformerParams 对象传递它们来添加水印(见下文)。
  • 目前没有自动转换效果。

要直接将附加选项传递给 ImageKit,您可以使用 transformerParams 转换参数,并通过 options 对象传递它们。示例

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

有关要使用的参数,请参阅 ImageKit PHP SDK,有关更多信息,请参阅 ImageKit 文档

安装

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

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

配置

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

publicKey [字符串]

默认: ''
您的 ImageKit 账户的公钥(在 ImageKit 中的开发者选项 > API 密钥)。

privateKey [字符串]

默认: ''
您的 ImageKit 账户的私钥(在 ImageKit 中的开发者选项 > API 密钥)。

signUrls [布尔值]

默认: false
启用此选项以生成签名 URL。如果设置 > 图片 > 安全中的“限制未签名图片 URL”被启用,则需要此功能。

signedUrlsExpireSeconds [整数]

默认: 31536000(一年)
签名 URL 的持续时间。

stripUrlQueryString [布尔值]

默认: true
默认情况下,所有查询字符串都会从传递给 ImageKit 的完整 URL 中删除,以提高缓存效率。如果使用依赖于查询字符串的完整 URL,则可以关闭此选项以使其正常工作。

profiles [数组]

默认值: []
配置通常是一对一映射到您在ImageKit中创建的URL端点。但由于ImageKit URL端点的性质,您可以在每个端点混合不同的存储,因此也可能有必要为单个端点创建多个配置,用于不同的用例(例如,一个用作网络代理,另一个用于相对路径)。您可以使用defaultProfile配置设置来设置要使用的默认配置,并且可以在模板级别通过在transformerConfig中设置profile来覆盖它。

示例配置

'profiles' => [
    'default' => [
        'urlEndpoint' => 'https://ik.imagekit.io/myurlendpoint',
        'isWebProxy' => false,
        'useCloudSourcePath' => true,
    ],
    'proxy' => [
        'urlEndpoint' => 'https://ik.imagekit.io/myotherurlendpoint',
        'isWebProxy' => true
    ]
],

每个配置都有以下设置

urlEndpoint [字符串]

默认: ''
这是您在ImageKit中创建的URL端点。

isWebProxy [布尔值]

默认: false
指示URL端点是否使用网络代理。如果启用,将传递完整的URL到ImageKit,而不是资产的相对路径。

defaultParams [数组]

默认值: []
要传递给每个转换的默认参数。

useCloudSourcePath [布尔值]

默认: false
如果启用,Imager将在将资产路径添加到ImageKit URL之前,将其附加到Craft文件系统路径。这使得在实例上具有不同的子文件夹但位于同一S3存储桶时,可以从多个Craft文件系统中提取图像成为可能。这仅在实现路径设置的文件系统上有效(AWS S3和GCS有效,本地卷无效)。

addPath [字符串|数组]

默认值: []
将路径附加到资产路径。如果有多个卷需要使用一个ImageKit源提供服务,这可能会很有用。如果此设置是数组,则键应该是卷句柄,值是要添加的路径。

defaultProfile [字符串]

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

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

defaultParams [数组]

默认值: []
传递给所有转换的默认参数。

purgeEnabled [布尔值]

默认: true
切换自动清理的开/关。

价格、许可和支持

该插件基于MIT许可证发布。它需要Imager X,这是一个商业插件,可在Craft插件商店中获取。如果您需要帮助或发现错误,请在此存储库或Imager X的存储库中提交问题(最好是)。