Thumbro is an in-development MediaWiki extension used to improve and expand thumbnailing in MediaWiki. It is unstable for production use. It is forked from Extension:VipsScaler. Currently, it only supports libvips.
- Use libvips to render thumbnails instead of ImageMagick and GD
- Allow custom output options for libvips
- Render WebP thumbnails by default for gif (animated too!), jpeg, png, webp
- Allow adding
<source>
element to the image using theThumbroBeforeProduceHtml
hook - Add a hidden anchor element to allow web crawler to crawl the original resolution image (T54647)
- Install libvips. For Debian-based systems:
apt-get install libvips-tools
- Download and place the file(s) in a directory called
Thumbro
in yourextensions/
folder. - Add the following code at the bottom of your LocalSettings.php and after all other extensions:
wfLoadExtension( 'Thumbro' );
- ✔️Done - Navigate to Special:Version on your wiki to verify that the extension is successfully installed.
ℹ️ Thumbro works out of the box without any configurations.
$wgThumbroLibraries
is used to define the libraries used in Thumbro.
Key | Description |
---|---|
command |
Executable used by Thumbro to do image transformation |
Default:
$wgThumbroLibraries => [
"value" => [
"libvips" => [
"command": "/usr/bin/vipsthumbnail"
]
]
];
$wgThumbroOptions
is used to define the parameters of the thumbnail generation.
Key | Description |
---|---|
enabled |
Enable or disable Thumbro for the selected file type |
library |
Corresponds to $wgThumbroLibraries , currently only libvips is supported |
inputOptions |
Corresponds to the input/load options in VipsForeignSave |
outputOptions |
Corresponds to the output/save options in VipsForeignSave |
Default:
$wgThumbroOptions = [
'value' => [
'image/gif' => [
'enabled' => true,
'library' => 'libvips',
'inputOptions' => [
'n' => '-1'
]
],
'image/jpeg' => [
'enabled' => true,
'library' => 'libvips',
'inputOptions' => [],
'outputOptions' => [
'strip': 'true',
'Q': '80'
]
],
'image/png': => [
'enabled' => true,
'library' => 'libvips',
'inputOptions' => [],
'outputOptions' => [
'strip' => 'true',
'filter' => 'VIPS_FOREIGN_PNG_FILTER_ALL'
]
],
'image/webp' => [
'enabled' => true,
'library' => 'libvips',
'inputOptions' => [],
'outputOptions' => [
'strip' => 'true',
'Q' => '90',
'smart_subsample' => 'true'
]
]
]
];
Name | Description | Values | Default |
---|---|---|---|
$wgThumbroEnabled |
Set to false to disable Thumbro throughout the wiki excluding the Special:ThumbroTest page |
true - enable; false - disable |
true |
$wgThumbroExposeTestPage |
Enable Special:ThumbroTest on the wiki | true - enable; false - disable |
false |
$wgThumbroTestExpiry |
Control the cache age for the test image streamed to Special:ThumbroTest | integer | 3600 |
Thumbro comes with a special page that can be used to compare thumbnails before and after Thumbro. First you have to enable the page with this config:
// Enable the Special:ThumbroTest page
$wgThumbroExposeTestPage = true;
To make sure the before thumbnail is untouched by Thumbro, you can either disable Thumbro site-wide:
// Disable Thumbro site-wide
$wgThumbroEnabled = false;
Or disable the output file format you wanted to test under $wgThumbroOptions
.