octfx/webp

生成图像的 WebP 版本

安装: 783

依赖项: 0

建议者: 0

安全: 0

星标: 6

关注者: 2

分支: 4

开放问题: 3

类型:mediawiki-extension

2.0.0 2023-08-07 17:33 UTC

This package is auto-updated.

Last update: 2024-09-19 08:58:24 UTC


README

在文件上传后,此扩展会创建上传图像及其缩略图的 WebP 版本(如果启用,还会创建 Avif 版本)。

需要工作队列正常工作,扩展:PictureHtmlSupport,以及已安装的可用版本 imagicklibwebp (cwebp)gd
此外,需要设置 $wgHashedUploadDirectory = true;,如果扩展:AWS 激活,则 $wgAWSRepoHashLevels 需要设置为 >0

当前不支持设置 $wgGenerateThumbnailOnParse = false;

这是如何工作的?

在上传或文件转换后,会调度一个转换作业,创建原始文件的 webp(如果启用,还会创建 avif)文件版本。

此外,PictureHtmlSupport 扩展在添加缩略图到页面输出时公开一个钩子。
WebP 扩展利用此钩子为每个活动的图像转换器添加一个 <source> 元素。

转换已上传的图像

存在一个维护脚本来转换已上传的图像

php extensions/WebP/maintenance/CreateFromLocalFiles.php

# To only convert non-thumbnails run
php extensions/WebP/maintenance/CreateFromLocalFiles.php --no-thumbs

# To create thumbnails of custom sizes run
# This will create two thumbnails with size 1000px and 1250px
php extensions/WebP/maintenance/CreateFromLocalFiles.php --thumb-sizes=1000,1250

# To only work on some images run
php extensions/WebP/maintenance/CreateFromLocalFiles.php --titles=ImageA.jpg,ImageB.png

# To force the creation of already existing images run
php extensions/WebP/maintenance/CreateFromLocalFiles.php --overwrite

# Only work on page titles matching a prefix
# Every page starting with prefix 'Example' will be selected
php extensions/WebP/maintenance/CreateFromLocalFiles.php --title-prefix=Example

# Only work on page titles matching a file-type
# Every page starting with file-type 'png' will be selected
# Can be combined with 'title-prefix'
php extensions/WebP/maintenance/CreateFromLocalFiles.php --file-type=png

安装

wfLoadExtension( 'WebP' );

配置

启用 Avif

要支持完整功能,您需要安装 Imagick v7,v6.9 也存在多个错误。
或者您可以安装 libavif-bin (>= 0.9.3),它提供 avifenc。请注意,这仍然需要安装 一个 Imagick 版本,因为 avifenc 不能缩放图像。

在启用 Avif 转换器时,请确保它在 webp 转换器之前,否则浏览器将选择 webp 版本。

$wgEnabledTransformers = [ "MediaWiki\\Extension\\WebP\\Transformer\\AvifTransformer", "MediaWiki\\Extension\\WebP\\Transformer\\WebPTransformer" ];

卸载

删除文件夹 images/webpimages/thumbs/webp,并移除扩展。
如果 Avif 转换器处于活动状态,请删除 images/avifimages/thumbs/avif