rokka/kirby

Rokka 插件用于 Kirby CMS

安装: 608

依赖: 0

建议: 0

安全: 0

星星: 15

关注者: 3

分支: 2

开放问题: 0

类型:kirby-plugin

0.5.2 2024-03-25 11:56 UTC

This package is auto-updated.

Last update: 2024-08-25 12:51:58 UTC


README

rokka 是正确的数字图像处理方式。存储、渲染和交付图像。简单且速度快。此插件会自动将您的图片上传到 rokka,并以尽可能轻便和快速的方式交付。而且您只需支付您使用的内容,无需预付和固定成本。

提供免费账户计划。只需安装插件,注册并使用即可。

警告

这仍然是测试软件。我们将其用于我们的 Liip 公司网站,因此它已经过某种程度的实战测试。但仍有改进的空间,后台代码将有所更改,希望 kirby API 将保持稳定。欢迎提供反馈。

要求

安装

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

复制粘贴

  1. 下载 此存储库的内容作为 ZIP 文件。
  2. 将提取的文件夹重命名为 rokka 并将其复制到您的 Kirby 项目的 site/plugins/ 目录中。
  3. 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 文本,您可以使用您想要的任何内容。

noopcropresizeraw 键有特殊含义,您应像上面的示例那样定义它们,但您可以更改实际堆栈的名称

在定义完你的堆栈后,打开登录到面板后的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提供图片,如果使用它。

免责声明

此插件“原样提供”,没有任何保证。使用时请自担风险,并在将其用于生产环境之前始终自行测试。如果您发现任何问题,请创建新问题

许可证

MIT