Jump to content

Extensão: PageImages

From mediawiki.org
This page is a translated version of the page Extension:PageImages and the translation is 31% complete.
Esta extensão está sob revisão do administrador de código e não é mantida ativamente. (T252249) No new feature requests will be considered during this period.
Manual de extensões do MediaWiki
PageImages
Estado de lançamento: estável
Implementação API , Extensão de analisador
Descrição Stores information about images representing a page
Autor(es) Max Semenik (MaxSemdiscussão)
Última versão atualizações contínuas
Política de compatibilidade Lançamentos de capturas de ecrã em conjunto com o MediaWiki. Original não é compatível com as versões anteriores.
MediaWiki 1.37+
PHP 7.3.19+
Alterações à base de dados Não
Licença WTFPL 2.0
Transferência
  • $wgPageImagesOpenGraphFallbackImage
  • $wgPageImagesExpandOpenSearchXml
  • $wgPageImagesDenylistExpiry
  • $wgPageImagesNamespaces
  • $wgPageImagesDenylist
  • $wgPageImagesScores
  • $wgPageImagesLeadSectionOnly
  • $wgPageImagesOpenGraph
  • $wgPageImagesAPIDefaultLicense
Traduza a extensão PageImages se esta estiver disponível em translatewiki.net
Problemas Tarefas em aberto · Reportar um erro

The PageImages extension collects information about images used on a page.

It aims to return the single most appropriate thumbnail associated with an article.

PageImages also provides OpenGraph protocol metadata for articles on the wiki for 3rd parties like Facebook to extract.

Instalação

This extension comes with MediaWiki 1.34 and later, so you do not need to download it. The remaining configuration instructions must still be followed.
  • Exporte e coloque o ficheiro, ou ficheiros, num diretório chamado PageImages, na sua pasta extensions/.
    Developers and code contributors should install the extension from Git instead, using:
    cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/PageImages
    
  • Acrescente o seguinte código ao fundo do ficheiro $LocalSettings:
    wfLoadExtension( 'PageImages' );
    
  • Configure conforme necessário
  • To initially assign the page images to the pages, run the initImageData.php script from the extensions maintenance directory (/path/to/extensions/PageImages/maintenance/)
  • Yes Pronto – Na página especial Special:Version da sua wiki verifique se a extensão foi instalada.

Configuração

$wgPageImagesDenylist is an array of sources for image denylists. Listed images will never be selected as page images. Examples:

$wgPageImagesDenylist = [
	// Página na wiki atual
	[
		'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). Por exemplo:

* [[: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.

Nome Descrição Predefinição
$wgPageImagesDenylistExpiry determines how long the list will remain cached, in seconds. 15 * 60 (15 minutes)
$wgPageImagesExpandOpenSearchXml if set to true, PageImages will override the image detection in the opensearch API module with its own, more accurate results. false
$wgPageImagesNamespaces an array of namespaces PageImages will be activated on.

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)

NS_MAIN
$wgPageImagesOpenGraph enables or disables the OpenGraph meta tags (could be useful if other extensions manage these tags) (1.39+). true
$wgPageImagesOpenGraphFallbackImage a URL to a fallback image that will be shown when there is no image on a page. false

Notas de Atualizar para o MediaWiki 1.37+

Since MediaWiki 1.37, $wgPageImagesBlacklist and $wgPageImagesBlacklistExpiry have been renamed to $wgPageImagesDenylist and $wgPageImagesDenylistExpiry, respectively. Since MediaWiki 1.37, the default page value for $wgPageImagesDenylist has been changed from MediaWiki:Pageimages-blacklist to MediaWiki:Pageimages-denylist.

There is no backward compatibility code added to accept the old names, so you should change the variable names during the upgrade or define both variables in advance in preparation for the upgrade. If you've added content to MediaWiki:Pageimages-blacklist on your wiki, you should rename it to the new name. 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)

(main | query | pageimages)
  • This module requires read rights.
  • Source: PageImages
  • License: WTFPL

Returns information about images on the page, such as thumbnail and presence of photos.

Specific parameters:
Other general parameters are available.
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

Example:
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]


Resposta

{
  // piprop.name (e a imagem existe)
  pageimage?: string // Nome de ficheiro da imagem fonte (nome de base de original.source).
  // piprop.thumbnail (e a imagem existe)
  thumbnail?: {
    source: string // URL da imagem miniatura.
    width: number // Largura de imagem da miniatura em píxeis.
    height: number // Altura da imagem da miniatura em píxeis.
  }
  // piprop.original (e a imagem existe)
  original?: {
    source: string // URL da imagem fonte.
    width: number // Largura de imagem fonte em píxeis.
    height: number // Altura da imagem fonte em píxeis.
  }
}


Pedido de amostra

pedido de imagem de página para um artigo.
Resultado
{
    "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"
            }
        }
    }
}

Como funciona

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 names used are page_image and page_image_free; the value is the name of the image. If a page has both properties, then the values are different.

The extension only stores the chosen image name. Other features may display the image, such as Page information, Hovercards, and Mobile search while typing.

Escolha de imagem

Como é que eu posso verificar qual a imagem que está associada a uma página?

As imagens da página serão listadas na página de ?action=info.

Como isto seleciona as imagens?

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.

How are page images updated?

Pageimages populates images whenever the LinksUpdate hook runs, e.g. when a page is being edited.

Can I exclude certain page images?

Yes!

For an entire wiki, there is a page that administrators can edit at MediaWiki:Pageimages-denylist (example). Any images that appear here will not be used as page images for any article.

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..

If you need to exclude an image in the infobox please refer to the template's documentation. Most templates support a image_class parameter that can be used to disable the image.

e.g.

{{Infobox type
  image=InappropriateImage.png
  image_class=notpageimage
}}

Can I request an explicit page image?

From MediaWiki 1.44.0, you can mark an image that meets the criteria outlined in the How does it select images? section by adding |class=pageimage to the image. Generally this is advised as a last resort, as this overrides the image scoring algorithm meaning the image may not be suitable for where it is displayed (e.g. resolution, license or position).

It is preferable where possible to add the preferred thumbnail as the first image in the article.

How can I see the image of a page?

Using the Informação da página 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 will not work. 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. Consulte: phab:T92457 e phab:T22647 para mais informação.

Consultar também