rokka / kirby
Rokka 插件用于 Kirby CMS
Requires
- getkirby/cms: ^3.6|^4
- rokka/client: ^1.14.0
This package is auto-updated.
Last update: 2024-08-25 12:51:58 UTC
README
rokka 是正确的数字图像处理方式。存储、渲染和交付图像。简单且速度快。此插件会自动将您的图片上传到 rokka,并以尽可能轻便和快速的方式交付。而且您只需支付您使用的内容,无需预付和固定成本。
提供免费账户计划。只需安装插件,注册并使用即可。
警告
这仍然是测试软件。我们将其用于我们的 Liip 公司网站,因此它已经过某种程度的实战测试。但仍有改进的空间,后台代码将有所更改,希望 kirby API 将保持稳定。欢迎提供反馈。
要求
- PHP 7.1
- Kirby 3.6+
- Rokka API 密钥(免费计划可用)。
- Rokka PHP 客户端 1.1+。通过 composer 安装,见下文。
安装
Composer 安装
推荐方法
composer require rokka/kirby
Git 子模块
git submodule add https://github.com/rokka-io/rokka-kirby-plugin.git site/plugins/rokka
composer require rokka/client
复制粘贴
- 下载 此存储库的内容作为 ZIP 文件。
- 将提取的文件夹重命名为
rokka
并将其复制到您的 Kirby 项目的site/plugins/
目录中。 composer require rokka/client
使用
在您的 site/config.php
中激活插件并设置 ROKKA API 密钥。
c::set('rokka.kirby.enabled', true); c::set('rokka.kirby.organization', 'YOUR_ORG_NAME_HERE'); c::set('rokka.kirby.apikey', 'YOUR_API_KEY_HERE');
以下推荐用于更短、更美观的图像 URL(请参见下文“定义堆栈”)
c::set('rokka.kirby.stacks', [
'noop' => 'kirby_noop',
'resize' => 'kirby_resize',
'crop' => 'kirby_crop'
'raw' => 'kirby_raw',
'kirbytext' => 'kirby_text', // default stack for kirbytext image includes
'resize-800x10000' => 'kirby_text' //images in kirbytext will have a width of 800px
]);
添加后,您必须调用 https://yourkirbysite.com/_rokka/create-stacks
(并登录)以在 rokka 服务器上创建实际的堆栈。
该插件将 $myFile->rokkaCropUrl($width, $height, $format = "jpg")
、$myFile->rokkaResizeUrl($width, $height, $format = "jpg")
和 $myFile->rokkaOriginalSizeUrl($format="jpg")
函数添加到 $file 对象。
您可以在模板中使用如下方式使用它们
// get any image/file object $myFile = $page->file('image.jpg'); // get url (on your webserver) for optimized thumb $url = $myFile->rokkaCropUrl(500,500);
还有 $myFile->rokka($stackname, $extension)
用于返回使用堆栈的 HTML img 标签,以及 $myFile->rokkaGetHash()
用于获取图像的 rokka 哈希值。
定义堆栈
Rokka 有一个名为 堆栈 的概念,它允许有更美观的 URL。
您可以使用 rokka.kirby.stacks
配置选项配置一些堆栈。如果您经常使用某些大小,则应使用堆栈。例如,如果您执行 $myFile->rokkaCropUrl(200,200)
和 $myFile->rokkaResizeUrl(300,300)
,则可以使用以下方式定义堆栈
c::set('rokka.kirby.stacks', [
`crop-200x200' => 'kirby_thumbnail',
`resize-300x300' => 'kirby_resized',
'noop' => 'kirby_noop',
'resize' => 'kirby_resize',
'crop' => 'kirby_crop',
'raw' => 'kirby_raw',
]);
数组的值(在此示例中为 www_thumbnail)是使用的堆栈名称。它可以是一个 ASCII 文本,您可以使用您想要的任何内容。
noop
、crop
、resize
和 raw
键有特殊含义,您应像上面的示例那样定义它们,但您可以更改实际堆栈的名称
在定义完你的堆栈后,打开登录到面板后的URL https://yourkirbysite.com/_rokka/create-stacks
,这将在Rokka服务器上创建你的堆栈。将来会有一个面板选项。你只需要做一次,但是每次当你更改堆栈定义中的某些内容时。
你也可以为这些堆栈设置堆栈选项,例如。
c::set('rokka.kirby.stacks.options', [
'resize-300x300' => ['options' => ['webp.quality' => 80]],
'crop-200x200' => ['options' => ['jpg.quality' => 85]],
'resize-800x10000' => [
'operations' => ['resize' => ['options' => ['upscale' => false]]], // don't upscale picture, if they're smaller than the width
'options' => ['webp.quality' => 80]
],
]);
如果你想要为视网膜屏幕设置不同的设置,可以添加一个'选项-视网膜'键
c::set('rokka.kirby.stacks.options', [
'resize-300x300' => [
'options' => ['webp.quality' => 80],
'options-retina' => ['webp.quality' => 60]
],
]);
所有可用的堆栈选项可以在rokka文档中找到。
视网膜图像
需要更详细的说明。
使用Rokka::getSrcAttributes($url)
Rokka::getBackgroundImageStyle($url)
获取html属性片段,为启用了视网膜分辨率的srcset
标签。
kirbytext
此插件覆盖了kirbytext的image
标签,并从rokka提供图片,如果使用它。
免责声明
此插件“原样提供”,没有任何保证。使用时请自担风险,并在将其用于生产环境之前始终自行测试。如果您发现任何问题,请创建新问题。