Erweiterung:PageImages
PageImages Freigabestatus: stabil |
|
---|---|
Einbindung | API , Parser-Erweiterung |
Beschreibung | Speichert Informationen über Bilder, die eine Seite darstellen |
Autor(en) | Max Semenik (MaxSemDiskussion) |
Letzte Version | Laufende Aktualisierungen |
Kompatibilitätspolitik | Snapshots werden zusammen mit MediaWiki veröffentlicht. Der Master ist nicht abwärtskompatibel. |
MediaWiki | 1.37+ |
PHP | 7.3.19+ |
Datenbankänderungen | Nein |
Lizenz | WTFPL 2.0 |
Herunterladen | |
|
|
Quarterly downloads | 123 (Ranked 47th) |
Public wikis using | 2,271 (Ranked 191st) |
Übersetze die PageImages-Erweiterung, wenn sie auf translatewiki.net verfügbar ist | |
Probleme | Offene Aufgaben · Einen Fehler melden |
Die Erweiterung PageImages sammelt Informationen über die auf einer Seite verwendeten Bilder.
Das Ziel ist es, die am besten geeignete Miniaturansicht für einen Artikel zu finden.
PageImages stellt auch OpenGraph protocol Metadaten für Artikel im Wiki zur Verfügung, die von Dritten wie Facebook extrahiert werden können.
Installation
- Die Erweiterung herunterladen und die Datei(en) in ein Verzeichnis namens
PageImages
im Ordnerextensions/
ablegen.
Entwickler und Code-Beitragende sollten stattdessen die Erweiterung von Git installieren, mit:cd extensions/
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/PageImages - Folgenden Code am Ende deiner LocalSettings.php -Datei einfügen:
wfLoadExtension( 'PageImages' );
- Configure as required
- To initially assign the page images to the pages, run the "initImageData.php" script from the extensions maintenance directory (
/path/to/extensions/PageImages/maintenance/
) - Erledigt – Navigiere zu Special:Version in deinem Wiki, um zu überprüfen, ob die Erweiterung erfolgreich installiert wurde.
Konfiguration
$wgPageImagesDenylist is an array of sources for image denylists. Listed images will never be selected as page images. Examples:
$wgPageImagesDenylist = [
// Page on local wiki
[
'type' => 'db',
'page' => 'MediaWiki:Pageimages-denylist',
'db' => false,
],
// Page on Wikimedia Commons, for other Wikimedia projects using direct DB access
[
'type' => 'db',
'page' => 'MediaWiki:Pageimages-denylist',
'db' => 'commonswiki',
],
// Page on Commons, for third-party sites using web access
[
'type' => 'url',
'url' => 'http://commons.wikimedia.org/w/index.php?title=somepage&action=raw',
],
];
More than one source can be used at the same time.
The denylist should contain wikilinks to files. The rest of the content is irrelevant (and can contain links to other pages). Als Beispiel:
* [[:File:First denylisted file.png]]
* [[:File:Second denylisted file.jpeg]]
...
Remember that file links that result in images being added to the page will not work (these files are denylisted for a reason, right?), so don't forget the :
in front of the links.
$wgPageImagesDenylistExpiry determines how long the list will remain cached, in seconds. Standard: 15 * 60 (15 Minuten).
$wgPageImagesExpandOpenSearchXml if set to true, PageImages will override the image detection in the opensearch
API module with its own, more accurate results.
Default: false.
$wgPageImagesNamespaces is an array of namespaces PageImages will be activated on. Standard: NS_MAIN.
After the change, you'll have to run refreshLinks.php to generate the Page image information for those namespaces (hopefully, you can use the --namespace parameter to process only pages on the affected namespaces, since that script is very resource-intensive)
$wgPageImagesOpenGraph enables or disables the OpenGraph meta tags (could be useful if other extensions manage these tags) (1.39+).
Standard: true
$wgPageImagesOpenGraphFallbackImage is a URL to a fallback image that will be shown when there is no image on a page.
Standard:
false
Upgrade to MediaWiki 1.37+ notes
- Since MediaWiki 1.37,
$wgPageImagesBlacklist
and$wgPageImagesBlacklistExpiry
have been renamed to$wgPageImagesDenylist
and$wgPageImagesDenylistExpiry
respectively. There's no backward compatibility code added to accept the old variable names, which means you should change the variable names during the upgrade or define both variables in advance in preparation for the upgrade. - Since MediaWiki 1.37, the default page value for
$wgPageImagesDenylist
has been changed fromMediaWiki:Pageimages-blacklist
toMediaWiki:Pageimages-denylist
. If you've added content toMediaWiki:Pageimages-blacklist
on your wiki, you should rename it during the upgrade. If you want to prepare in advance for the upgrade, you can rename the page to the new name and also set$wgPageImagesBlacklist
(the old variable name) to the new page name. The default value will be used when upgrading, which should match your previous change.
API
The PageImages extension provides image information by adding a prop=pageimages
to the properties API for action=query
.
prop=pageimages (pi)
- This module requires read rights.
- Source: PageImages
- License: WTFPL
Returns information about images on the page, such as thumbnail and presence of photos.
- piprop
Which information to return:
- thumbnail
- URL and dimensions of thumbnail image associated with page, if any.
- name
- Image title.
- original
- URL and original dimensions of image associated with page, if any.
- Values (separate with | or alternative): name, original, thumbnail
- Default: thumbnail|name
- pithumbsize
Maximum width in pixels of thumbnail images.
- Type: integer
- Default: 50
- pilimit
Properties of how many pages to return.
- Type: integer or max
- The value must be between 1 and 50.
- Default: 50
- pilicense
Limit page images to a certain license type:
- free
- Only free images.
- any
- Best image, whether free or non-free.
- One of the following values: any, free
- Default: free
- picontinue
When more results are available, use this to continue. More detailed information on how to continue queries can be found on mediawiki.org.
- Type: integer
- pilangcode
Code for the language the image is going to be rendered in if multiple languages are supported
- Get name and 100-pixel thumbnail of an image on the Albert Einstein page.
- api.php?action=query&prop=pageimages&titles=Albert%20Einstein&pithumbsize=100 [open in sandbox]
Antwort
{
// piprop.name (and image exists)
pageimage?: string // Source image filename (basename of original.source).
// piprop.thumbnail (and image exists)
thumbnail?: {
source: string // Thumbnail image URL.
width: number // Thumbnail image width in pixels.
height: number // Thumbnail image height in pixels.
}
// piprop.original (and image exists)
original?: {
source: string // Source image URL.
width: number // Source image width in pixels.
height: number // Source image height in pixels.
}
}
Beispielabfrage
Ergebnis |
---|
{
"query": {
"normalized": [
{
"from": "Lightbox_demo",
"to": "Lightbox demo"
}
],
"pages": {
"162510": {
"pageid": 162510,
"ns": 0,
"title": "Lightbox demo",
"thumbnail": {
"source": "https://upload.wikimedia.org/wikipedia/commons/thumb/e/e9/Crystal_Clear_app_korganizer.png/50px-Crystal_Clear_app_korganizer.png",
"width": 50,
"height": 50
},
"pageimage": "Crystal_Clear_app_korganizer.png"
}
}
}
}
|
Wie es funktioniert
When a page is saved with a local image, the parser runs the hooks ParserMakeImageParams
and LinksUpdate
.
The PageImages extension responds to these (and other hooks) and inserts a new property for the page into the page_props table.
The property name is page_image_free
and its value is the name of the image.
The extension only stores the chosen image name. Other features may display the image, such as Page information, Hovercards, and Mobile search while typing.
Bildauswahl
How can I check which image is associated with a page?
Page images will be listed on the ?action=info
page.
How does it select images?
All images on the page are collected, and a score for each image is calculated. The image with the highest score is selected as the page image. If the wiki is configured such that images contain metadata that specifies images are not freely licensed, the image with the best score that is also freely licensed is also stored. If no suitable image is found or all the images score badly (i.e., have a negative score), the page will not have any images.
If $wgPageImagesLeadSectionOnly is true, only images in the lead section will be considered. This is true for Wikipedia projects only; all other projects can pull images from outside the lead.
How are images scored?
The best possible page image on Wikimedia wikis is one of the first four images in an article, with a width/height between 400-600px and a height/width twice the value of the other dimension.
- The algorithm is configurable.
- Scores are calculated by a combination of:
- Image widths as defined in
$wgPageImagesScores['width']
- In Wikimedia wikis, images smaller than 119 pixels are negatively weighted. Images with widths between 400px-600px are favoured, with a preference for the lower bound.
- Images inside galleries are scored separately using
$wgPageImagesScores['galleryImageWidth']
- In the Wikimedia wikis gallery, images smaller than 100 pixels are disregarded.
- Position in document is also considered as defined in
$wgPageImagesScores['position']
- On Wikimedia wikis, only the first four images that appear in the document are considered.
- The ratio of the image's width to height is considered
$wgPageImagesScores['ratio']
- On Wikimedia wikis a ratio of 0.4 to 3.1 is allowed, with 0.6 to 2.1 preferred.
- The default value is
$wgPageImagesScores['ratio'] = ["3" => -100, "5" => 0, "20" => 5, "30"=> 0, "31"=> -100];
with the key representing the width divided by height, rounded to the tenths place, and the decimal shifted one position to the right. An image 400px wide by 300px high would have a value of 13. The key's value is the scoring multiple associated with that ratio. Keys are selected and increase from zero, with a new scoring multiple not taking effect until the key has met or exceeded its value but not exceeded the next key. Any other images will score negatively and be discarded.
- Image widths as defined in
How are page images updated?
Pageimages populates images whenever the LinksUpdate hook runs, e.g. when a page is being edited.
Kann ich bestimmte Seitenbilder ausschließen?
Ja!
Für ein ganzes Wiki gibt es eine Seite, die Administratoren unter MediaWiki:Pageimages-denylist bearbeiten können (example). Alle Bilder, die hier erscheinen, werden nicht zu einem Seitenbild für einen Artikel.
For specific pages, add |class=notpageimage
to each image you want to exclude. For example, [[File:Example.png|class=notpageimage]]
.
More details are at phab:T301588.
How can I see the image of a page?
Using the Seiteninformationen link in the sidebar (or adding ?action=info
to the URL) you'll be able to see the current image choice.
How can I purge a bad image?
The page image only changes when a link in an article changes. Please add/remove links from the page for emergencies, reverting if necessary. Purging wird nicht funktionieren. For larger emergencies please file a Phabricator ticket.
Why is my page image a blank box?
This likely relates to video content in your article. If a video file begins with a blank screen, that will become the default thumbnail for the video, and if used as the page image, it will become the page image. We are currently working on a fix for this that will allow you to change the default thumbnail of a video. See: phab:T92457 and phab:T22647 for further information.
Siehe auch
Diese Erweiterung wird in einem oder mehreren Wikis von Wikimedia verwendet. Das bedeutet mit hoher Wahrscheinlichkeit, dass die Erweiterung stabil ist und gut genug funktioniert, um auf solch häufig besuchten Webseiten benutzt zu werden. Suche nach dem Erweiterungs-Namen in den Wikimedia CommonSettings.php und den InitialiseSettings.php-Konfigurations-Dateien, um nachzusehen, wo es installiert ist. Eine vollständige Liste der installierten Erweiterungen in einem bestimmten Wiki wird auf Special:Version im Wiki generiert und angezeigt. |
Diese Erweiterung ist in den folgenden Softwarepaketen enthalten und/oder wird von den folgenden Wiki-Farmen, bzw. Wiki-Hostern verwendet: Dies ist keine maßgebliche Liste. Softwarepakete und/oder Wiki-Farmen, bzw. Wiki-Hoster nutzen diese Erweiterung ggf., obwohl sie nicht in dieser Liste enthalten sind. Prüfe daher stets die Nutzung im verwendeten Softwarepaket und/oder bei der Wiki-Farm, bzw. dem Wiki-Hoster. |