Jump to content

Extension:Thumbro

From mediawiki.org
Not to be confused with: Thumbor.
MediaWiki extensions manual
Thumbro
Release status: stable
Implementation Media
Description Improve and expand thumbnailing in MediaWiki
Author(s) alistair3149, Bryan Tong Minh
Latest version 2.0.0 (2025-10-16)
Compatibility policy Master maintains backward compatibility.
MediaWiki >= 1.43.0
Composer starcitizentools/thumbro
  • $wgThumbroLibraries
  • $wgThumbroTestExpiry
  • $wgThumbroEnabled
  • $wgThumbroExposeTestPage
  • $wgThumbroOptions
  • $wgThumbroMaxAnimatedArea
  • thumbro-test
Licence GNU General Public License 2.0 or later
Download
Readme

The Thumbro extension improves and expands thumbnailing in MediaWiki. It is a forked and rewritten version of VipsScaler .

Features

[edit]
  • Use libvips to render thumbnails instead of ImageMagick and GD
  • Allow custom output options for libvips
  • Render WebP thumbnails by default for gif, jpeg, png, and webp (including animated)
  • Extend thumbnail support for more file formats, such as animated WebP
  • Allow adding <source> element to the image using the ThumbroBeforeProduceHtml hook
  • Add a hidden anchor element to allow web crawlers to crawl the original resolution image (see T54647)

Installation

[edit]
  • Install libvips
  • Download and place the file(s) in a directory called Thumbro in your extensions/ folder.
  • Add the following code at the bottom of your LocalSettings.php file:
    wfLoadExtension( 'Thumbro' );
    
  • Yes Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.

Configurations

[edit]

ℹ️ 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'
			]
		]
	]
];

To enable support for thumbnailing animated WebP files, $wgThumbroOptions['image/webp']['inputOptions']['n'] has to be set to -1.

Testing options

[edit]
Name Description Type Default
$wgThumbroEnabled Set to false to disable Thumbro throughout the wiki excluding the Special:ThumbroTest page boolean true
$wgThumbroExposeTestPage Enable Special:ThumbroTest on the wiki boolean false
$wgThumbroTestExpiry Control the cache age for the test image streamed to Special:ThumbroTest integer 3600

Testing Thumbro thumbnails

[edit]

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.

See also

[edit]