Extension:WebP

MediaWiki extensions manual
OOjs UI icon advanced.svg
WebP
Release status: beta
Implementation Media
Description Creates WebP versions of uploaded images
Author(s) (Octfxtalk)
Latest version alpha
MediaWiki 1.35+
PHP >=7.3
License GNU General Public License 2.0 or later
Download
Example https://star-citizen.wiki

Check usage and version matrix.

The WebP extension creates .webp versions of already uploaded images and displays them, if the requesting browser supports WebP images.

This extension requires imagick and libwebp to be installed on the server.

Thumbnails can both be generated on parse or through thumb.php, they require that the source file is converted to webp. This can be done by running php extensions/WebP/maintenance/convert_images.php --no-thumbs.

This extension registers itself as a local file repo!

Note: While even though thumb.php links don't contain the .webp extension, the returned thumbnail will be a webp file.

InstallationEdit

De-InstallationEdit

If you wish to uninstall the extension remove the extension and delete the images/webp and images/thumb/webp folders.

ConfigurationEdit

// Enables WebP creation after a new image was uploaded
$wgWebPEnableConvertOnUpload = true;

// Enables WebP creation after a thumbnail was created
$wgWebPEnableConvertOnTransform = true;

// Compression quality of the image: 0 - 100 where 100 means most compressed
$wgWebPCompressionQuality = 50;

// the strength of the deblocking filter, between 0 (no filtering) and 100 (maximum filtering). A value of 0 turns off any filtering. Higher values increase the strength of the filtering process applied after decoding the image. The higher the value, the smoother the image appears. Typical values are usually in the range of 20 to 50.
$wgWebPFilterStrength = 50;

// when enabled, the algorithm spends additional time optimizing the filtering strength to reach a well-balanced quality.
$wgWebPAutoFilter = true;

// Create images through the JobQueue
$wgWebPConvertInJobQueue = true;

// Thumbnail Sizes to create through the maintenance script
$wgWebPThumbSizes = [
   120,
   320,
   800,
   1200,
   1600
];

MaintenanceEdit

A maintenance script exists to convert already uploaded images:

php extensions/WebP/maintenance/convert_images.php

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

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

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

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

# Only work on page titles matching a prefix
# Every page starting with prefix 'Example' will be selected
php extensions/WebP/maintenance/convert_images.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/convert_images.php --file-type=png

Known IssuesEdit

Images uploaded by URL won't generate webp version automatically.