Extension:PageImages

From mediawiki.org
Jump to navigation Jump to search
This page is a translated version of the page Extension:PageImages and the translation is 84% complete.
Outdated translations are marked like this.
Other languages:
Deutsch • ‎English • ‎Türkçe • ‎français • ‎polski • ‎русский • ‎中文 • ‎日本語
この拡張機能は MediaWiki 1.34 以降に同梱されています。 そのため再度ダウンロードする必要はありません。 しかし、提供されているその他の手順に従う必要はあります。
MediaWiki 拡張機能マニュアル
OOjs UI icon advanced.svg
PageImages
リリースの状態: 安定
実装 API , パーサー拡張機能
説明 ページを表す画像に関する情報を格納する
作者 Max Semenik (MaxSemトーク)
最新バージョン 継続的な更新
互換性ポリシー リリースブランチ
MediaWiki 1.25+
PHP 5.4+
データベースの変更 いいえ
ライセンス WTFPL 2.0
ダウンロード
  • $wgPageImagesNamespaces
  • $wgPageImagesBlacklistExpiry
  • $wgPageImagesScores
  • $wgPageImagesBlacklist
  • $wgPageImagesLeadSectionOnly
  • $wgPageImagesAPIDefaultLicense
  • $wgPageImagesExpandOpenSearchXml
translatewiki.net で翻訳を利用できる場合は、PageImages 拡張機能の翻訳にご協力ください
使用状況とバージョン マトリクスを確認してください。
問題点 未解決のタスク · バグを報告

PageImages拡張機能は、ページ上で使用されるイメージに関する情報を収集します。

その目的は、記事に関連付けられた単一の最も適切なサムネイルを返すことです。

MediaWiki 1.29以降、PageImageによりウィキに掲載した記事のOpenGraph プロトコルメタデータをFacebookなどサードパーティ向けに抽出して提供します。

インストール

  • ダウンロードして、ファイルを extensions/ フォルダー内の PageImages という名前のディレクトリ内に配置します。
  • 以下のコードを LocalSettings.php の末尾に追加します:
    wfLoadExtension( 'PageImages' );
    
  • Yes 完了 – ウィキの「Special:Version」に移動して、拡張機能が正しくインストールされたことを確認します。

MediaWiki 1.27 以前を稼働させている利用者へ:

上記の手順では、wfLoadExtension() を使用してこの拡張機能をインストールする新しい方法を記載しています。 この拡張機能をこれらの過去のバージョン (MediaWiki 1.27 以前) にインストールする必要がある場合は、wfLoadExtension( 'PageImages' ); の代わりに以下を使用する必要があります:

require_once "$IP/extensions/PageImages/PageImages.php";

API

PageImages拡張機能は、action=queryproperties APIにprop=pageimagesを追加することによって画像情報を提供します。

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.

Parameters:
piprop

Which information to return:

thumbnail
URL and dimensions of thumbnail image associated with page, if any.
original
URL and original dimensions of image associated with page, if any.
name
Image title.
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

One of the following values: any, free
Default: free
picontinue

When more results are available, use this to continue.

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]

反応

{
  // 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.
  }
}

サンプル リクエスト

記事のページ画像をリクエストします。

設定

$wgPageImagesBlacklistはイメージブラックリストのソースの配列です。 ブラックリストに載っているイメージはページのイメージとして決して選択されません。例:

$wgPageImagesBlacklist = [
	// Page on local wiki
	[
		'type' => 'db',
		'page' => 'MediaWiki:Pageimages-blacklist',
		'db' => false,
	],
	// Page on Wikimedia Commons, for other Wikimedia projects using direct DB access
	[
		'type' => 'db',
		'page' => 'MediaWiki:Pageimages-blacklist',
		'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',
	],
];

複数のソースを同時に使用することができます。

ブラックリスト自体に、ブラックリスト指定したファイルのウィキリンクを格納すべきで、それ以外の内容は不適切(であり他のページへのリンクを含めることができます)。 例:

* [[:File:First blacklisted file.png]]
* [[:File:Second blacklisted file.jpeg]]
...

注意したいのは、ページに追加した画像から発生したファイルリンクは無効(そういうファイルは理由があってブラックリスト指定されましたよね?)なため、リンクの先頭に半角コロン:の入力を忘れないでください。

$wgPageImagesBlacklistExpiryは、ブラックリストがキャッシュされる期間を秒単位で指定します。 既定値: 15 * 60 (15分)

$wgPageImagesExpandOpenSearchXmlがtrueに設定されている場合、PageImagesはopensearch APIモジュール内のイメージ検出を、より正確な結果で上書きします。 既定値: false

$wgPageImagesNamespacesはPageImagesが有効になる名前空間の配列です。 既定値: NS_MAIN

動作の仕組み

ローカル画像を含むページを保存するとパーサParserMakeImageParamsLinksUpdateフックを実行します。 PageImages拡張機能はこれら(とその他のフック)に反応して page_props テーブルにそのページの新しい属性を挿入します。 属性は page_image_free という名前で値にはその画像の名前が入ります。

拡張機能が保存するのは選択した画像のファイル名のみです。例えばPage informationHovercardsなどその他の拡張機能や、モバイル版では検索語を入力中に画像が表示されることがあります。

画像の選択

どの画像が特定のページに関連付けされたか識別する方法は?

ページ画像の一覧は ?action=info ページにあります。

どのように画像を選択しているのか?

ページ内の画像をすべて集め、1点ごとに採点します。 その中で最も得点が多かった画像をページ画像に選びます。 画像がライセンスフリーではないとするメタデータをウィキが検出した場合、ライセンスフリーで最も得点が高い画像も合わせて保存します。 適する画像が見つからない、またはどの画像も得点が低い (例えばマイナス点であるなど) 場合には、ページ画像を保管しない状態になります。

$wgPageImagesLeadSectionOnlyが真の場合は、処理の対象をリード文内の画像のみに限定します。 現状で真が既定なのはウィキペディアのプロジェクト群だけであり、その他すべてのプロジェクト群では指定する画像の範囲はリード文に限定されません。

画像はどのようにスコアリングされるのか?

ウィキメディアの理想的なページ画像とは縦か横のサイズが400-600px、横か縦がその2倍、記事内の1–4番目に置かれた画像です。

  • アルゴリズムは設定変更できます。
  • 評価は以下の条件の組み合わせで算出します。
    • 画像の幅の規定は$wgPageImagesScores['width']のとおり。
      • Wikimedia wikiでは一辺 119 ピクセル以下の画像は大きく評価を下げます。条件がよい幅とは 400px–600px の範囲で、できるだけこの下限に近いほうが評価は上がります。
      • ギャラリー内の画像の評価には別途、$wgPageImagesScores['galleryImageWidth']を使います。
        • ギャラリーで一辺 100 ピクセルより小さい画像はWikimedia wikiでは対象外です。
    • 文書内の位置は、$wgPageImagesScores['position']で扱うものとします。
      • Wikimedia wikiの文書で最初の4点の画像のみ対象にします。
    • 画像の縦横比は$wgPageImagesScores['ratio']として扱います。
      • Wikimedia wikiで理想的な画像の比率は高さと幅が互いの半分または2倍です。この比率が0.5以下の画像は評価が下がり削除処分されます。
  • Scores are calculated by a combination of:
    • Image widths as defined in $wgPageImagesScores['width']
      • In Wikimedia wikis, images smaller than 119 pixels are weighted highly negatively. 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 Wikimedia wikis gallery images which are smaller than 100 are disregarded.
    • Position in document is also considered as defined in $wgPageImagesScores['position']
      • On Wikimedia wikis, only the first 4 images that appear in the document are considered.
    • The ratio of the image's width to height is considered $wgPageImagesScores['ratio']
      • On Wikimedia wikis the best possible images are images where the height is half the width or the height is double the width. Any images for which the ratio is less than 0.5 will score negatively and be discarded.

処理の手順だけ説明してください...

パージ画像拡張機能は、LinksUpdateフックを実行するごとに画像をデータベースに登録します。

パージ画像拡張機能はその処理をLinksUpdateHookHandler::doLinksUpdateで実行します。

特定のページ画像を除外できますか?

できます! どのウィキにもブラックリストが MediaWiki:Pageimages-blacklist () にあり、管理者が編集できます。 ここに載った画像はどの記事でもページ画像にはなりません。

==== 特定の記事1件に限定してページ画像を除外できますか?

====

残念ですが現段階ではできません。ブラックリストの利用もしくは該当する画像をリード文内から移動してください。

特定のページのページ画像を見るには?

サイドメニューにあるページ情報リンクを使用(もしくはURLの末尾に?action=infoを追加)すると、現状で選択された画像を表示します。

不適切な画像をパージしたいのですが方法は?

ページ画像は記事内のリンクを修正した時のみ変更されます。緊急の場合にはページにあるリンクの追加や削除、必要なら特定版の巻き戻しをします。 キャッシュの廃棄(パージ)では効果はありません。 緊急の処理を要する問題の規模が大きい場合はPhabricatorにチケットという作業依頼を投稿します。

ページ画像がただの四角い箱になってしまった理由は?

おそらくページの動画コンテンツと関係があると考えられます。 動画ファイルの冒頭に白紙の部分があると、それがその動画の既定のサムネイルになるため、ページ画像に使用すると白紙になってしまいます。 この現象は修正作業中で、動画のサムネイルを利用者が選べるようにする予定です。 詳細はphab:T92457phab:T22647を参照してください。

関連項目