Extension:Popups

This page is a translated version of the page Extension:Popups and the translation is 99% complete.
the feature that is powered by this extensionについては、Page Previews を参照してください。
MediaWiki 拡張機能マニュアル
OOjs UI icon advanced-invert.svg
Popups
リリースの状態: 安定
Hovercard english.png
実装 外装
説明 利用者が記事のリンクや脚注のマーカーにカーソルを合わせるとポップアップが表示されます
作者
  • Prateek Saxena (user:Prtksxna),
  • Yair Rand,
  • Sam Smith,
  • Joaquín Oltra Hernández,
  • Bahodir Mansurov,
  • Jon Robson,
  • Piotr Miazga,
  • Jeff Hobson
  • WMDE Engineering
MediaWiki 1.30+
PHP 5.6+
ライセンス GNU 一般公衆利用許諾書 2.0 以降
ダウンロード
English Wikipedia
  • $wgPopupsVirtualPageViews
  • $wgPopupsOptInDefaultState
  • $wgPopupsRestGatewayEndpoint
  • $wgPopupsHideOptInOnPreferencesPage
  • $wgPopupsConflictingRefTooltipsGadgetName
  • $wgPopupsTextExtractsIntroOnly
  • $wgPopupsPageDisabled
  • $wgPopupsStatsvSamplingRate
  • $wgPopupsReferencePreviewsBetaFeature
  • $wgPopupsConflictingNavPopupsGadgetName
  • $wgPopupsOptInStateForNewAccounts
  • $wgPopupsGateway
  • $wgPopupsReferencePreviews
Quarterly downloads 535 (Ranked 13th)
Public wikis using 2,174 (Ranked 60th)
translatewiki.net で翻訳を利用できる場合は、Popups 拡張機能の翻訳にご協力ください
問題点 未解決のタスク · バグを報告

Popups拡張機能は記事へのリンクや参考文献へのリンクにマウスをかざすとページと参考文献のプレビューを表示します。前者は記事の内容の要約からなり、後者は参考文献の全内容を表示します。

この拡張機能は、人気のあるナビゲーション ポップアップガジェットに触発されたデザイン チームのイニシアティブによるものです。現在、この機能はすべてのウィキペディアでログアウトした利用者向けに既定で提供されています。この拡張機能がどのように機能するかについての説明と、ウィキメディアのプロジェクトでの使用についての詳しい情報は、ページプレビューで入手できます。

そこへドイツ語話者コミュニティの技術要望リストに採用された参考資料プレビュー機能の開発が追加されました。詳細の説明と情報は参考資料プレビュー をご参照ください。

依存関係

この拡張機能は、既定の mwApiPlain ゲートウェイで使用される場合、Extension:TextExtracts Extension:PageImages にハード的に依存します。 ベータ版機能 (ベータ版提供中の参考資料プレビューを有効にする場合) と Extension:EventLogging Extension:WikimediaEvents との選択的な依存関係もあります。

インストール

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

非テスト環境 (正規版ウィキ) のLocalSettings 設定の完成形の案

wfLoadExtensions( [
    'TextExtracts',
    'PageImages',
    'Popups'
] );
$wgPopupsHideOptInOnPreferencesPage = true;
$wgPopupsReferencePreviewsBetaFeature = false;

ページプレビューAPI

プロジェクトはそれぞれ異なり、プレビューに表示される内容は、Wiki内のコンテンツに大きく依存します。

Popups拡張機能は、Wikipedia のようなコンテンツ (例: wikitext)で動作するように最適化されています。

あなたのwikiが異なる種類のコンテンツハンドラを使用している場合(例えばウィキベース )、それ自身のAPIを提供する必要があります。

APIはどのような言語で書かれていても構いませんが、APIのレスポンスはここで定義された仕様と一致する必要があります。 Specs/Summary/1.2.0 新しいAPIを定義することは、Popups拡張機能の範囲外です。

一度定義すれば、$wgPopupsRestGatewayEndpoint設定オプションを使って、ページプレビューがあなたのAPIを指すように設定することができます。

構成オプション

オプション 既定値 説明文書
$wgPopupsVirtualPageViews false 拡張機能が仮想ページビューを記録するかどうか。
$wgPopupsHideOptInOnPreferencesPage false ページプレビューの有効・無効の切り替えオプションは、個人設定のページで指定します。 既定値は false (無効) です。
$wgPopupsOptInDefaultState 1 古いアカウントの、既定のページプレビューの表示方法。ベータ機能の設定と整合するため、1つに限定。 詳細情報は タスク T191888 を参照してください。 この値は、内部で Bool 型に変換される。 したがって、2以上の数値は1と同じ意味を持つ。
$wgPopupsOptInStateForNewAccounts 1 デフォルトのページは、新しく作成されたアカウントの可視性をプレビューします(2018年第2四半期から)。 詳細情報は タスク T191888 を参照してください。
$wgPopupsConflictingNavPopupsGadgetName 'Navigation_popups' ローカルナビゲーションポップアップのガジェット名がMediaWiki:Gadgets-definition で識別子として使用されます。 このガジェットはページプレビューと互換性がありません。 拡張機能は、ガジェットが有効になっているユーザーに対しては無効になります。
$wgPopupsConflictingRefTooltipsGadgetName ReferenceTooltips MediaWiki:Gadgets-definition で識別子として使用されるローカルの参照ツールチップ ガジェット名。 このガジェットは、リファレンスプレビューと互換性がありません。 拡張機能は、ガジェットが有効になっているユーザーに対しては無効になります。
$wgPopupsGateway 'mwApiPlain' ポップアップデータのフェッチに使用するゲートウェイ。

利用可能なオプション:mwApiPlain, restbasePlain, restbaseHTML。完全で常に最新のリストはsrc/gateway/page.jsで入手できます。

$wgPopupsRestGatewayEndpoint '/api/rest_v1/page/summary/' 要約のソースとなるRESTエンドポイントを指定します。 エンドポイントはSpecs/Summary/1.2.0 の仕様を満たす必要があります。
$wgPopupsReferencePreviews true 開発中に参照プレビューを無効化するための一時的な機能フラグ。
$wgPopupsReferencePreviewsBetaFeature true リファレンスプレビューをベータ機能として利用できるようにするかどうか。

false(無効)の場合、参照プレビューはデフォルトですべてのユーザーに対して有効になっています。

$wgPopupsEventLogging false イベントのログを取るか取らないか。 Note if this is enabled without using that variable events will be logged for all users without any sampling! 慎重にお願いします。
$wgPopupsStatsvSamplingRate 0 パフォーマンスデータをstatsvに記録するためのサンプリングレート。
$wgPopupsPageDisabled Several special pages. See extension.json for the full list. ポップアップを表示してはならないページのリスト。 下位ページを含みます。 これらのページはウィキの HTML キャッシュ ポリシーに従います。この構成変数の効果を見るためにこれらのページのキャッシュ破棄が必要かもしれません。除外されたページはすべて正規の名前で定義されなければなりません(例: Special:Userlogin)


ページプレビューのコンテンツ

ページプレビューのポップアップに (存在する場合) 画像1点とテキストを要約した短文を表示します。

画像

Extension:PageImages 経由で表示される画像は、その記事に最もふさわしい画像のサムネイルです。 保守テンプレートやスタブ記事、国旗のアイコンなどは対象外です。

テキスト

ページプレビューのポップアップは適合する API からなら設定でき、その適合の条件とは$wgPopupsRestGatewayEndpointを使用するPage content service(PCS)要約エンドポイントで使用できることです。サードパーティの皆さんは、ポップアップをご利用のウィキで使うためにぜひPCSの導入をお奨めします。

またテキスト抽出の拡張機能 Extension:TextExtracts も利用できます。 ただし注意事項がいろいろあることから、ウィキメディアではこの API はサポート外です。

参考資料プレビューのコンテンツ

 

リファレンスプレビューポップアップのコンテンツは、ページ自体のリファレンスセクションから直接取得されます。 ここには外部サービスは含まれていません。 コンテンツがポップアップサイズを超えると、スクロールバーが表示され、すべてを見ることができます。

参考資料の種別

表示される参照の種類は、<ref><cite class="journal"></cite></ref>などの参照の内容をカプセル化するために使用できる‎<cite>タグの特定のCSSクラスを使用して設定されます。 現在以下のフォーマットが許容されています:web, journal, book, news, note それとは別に、citeタグが見つからず、適切なクラスが使用されなかった場合は、常に一般的なフォールバックがあります。 CSSクラスをウィキテキストで直接使用することはお勧めしませんが、テンプレートを作成することをお勧めします。

レンダリングエンジン

この拡張機能には現在、レンダリングエンジンが1件当てられ、対象は通常ページです。

他の種類のページあるいは出典を対象とする個別のレンダリングエンジンの追加は、難しくありません。

新しいオプジェクトを以下の手順で作成する必要があります。

  • init
  • createPopup
  • getOffset
  • getClasses
  • processPopup

これらのメソッドの詳細は、ext.popups.renderer.article.jsまたは参照用のレンダラを追加したこのパッチで見ることができます。

既知の問題点

  • Translate 拡張機能の利用者の場合、ページプレビューが表示にページのコンテンツ表示言語を呼び出す点にご留意ください。プレビューが完全に処理可能なブロックを含む場合、処理します。ただしブロックが翻訳対象として不完全な場合 – 例えば未完結な文 – 処理されず、ページのコンテンツの言語で表示されます。この挙動を監視するなら、リード文内の文を1つずつマークアップする必要があります。 T167852 は技術系の閲読者対象ですが、根本的な問題に関する情報は含みません。
  • 文字数が長すぎるためにプレビューでは短縮されて表示された数式 - 長い数式もしくは化学式(文字数の上限はプレビューの既定値)はプレビューで短縮して表示されます。勾配を付け、数式が記事中ではもっと長いと示すことはできませんでした。
  • Small files may be in the "Рage information" (action=info), but not in the "Popups". Some requirements are set here - for a portrait image: exact (min) height 250 px & max width 203 px; for a landscape image: exact (min) width 320 px & max height 200 px[1]. To display, images must be able to become a thumbnail that is larger or equal to these "exact" sizes. (If you are cropping a large image to make a leading picture for an article, be sure that the picture you are creating is not smaller than the specified sizes.)

Extensibility

In MediaWiki 1.40, extensions and skins can extend the page previews functionality with their own custom preview types. It does this by registering a PluginModules attribute in its extension.json or skin.json file that points to a ResourceLoaderModule that can register a preview type.

{
    "attributes": {
        "Popups": {
            "PluginModules": [
              "skins.skinjson.popup"
            ]
        }
    }
}

The plugin module should export information about when the preview should be displayed (via selector), and how the preview data should be retrieved (via gateway library).

module.exports = {
        // a unique ID representing your preview type.
        type,
        // CSS selector that matches your custom preview type
        selector: '.mycustomselector',
        // Gateway that
        gateway: {
                fetchPreviewForTitle:  ( title, el ) => {
                	const deferred = $.Deferred();
                	deferred.resolve( {
                		title: 'Hello world',
                		extract: [
                			`Hi`
                		],
                		url: 'https://www.mediawiki.org/wiki/Extension:Popups',
                		type,
                		languageCode: 'en',
                		languageDirection: 'ltr',
                		thumbnail: undefined,
                		pageId: -1
                	} );
                	return deferred;
                }
        }
};

This feature is still in its infancy, has a few bugs (example) and feedback/bug reports via Phabricator are encouraged.

よくある質問

プレビューから直接テキストをコピペできないのはなぜですか?

この原稿執筆の段階では、不利な点が利点よりも大きいからです。突き詰めると、記事全文を閲読するのに触れる部位を減らすかどうかが、焦点になります。英語版とドイツ語版のウィキペディアでこの拡張機能を実装した段階で、もういちど、このタスクを開いてみてください。あいにく、それまで修正などは計画がありません。

プレビューで表示される画像を変更したいのですが、その方法は?

Extension:PageImages#画像選択を参照してください。

ページプレビューからコンテンツを削除する方法は?

noexcerpt クラスが付いた要素はすべて要約から削除されます。

これらの要素は何に由来するの?

これらは Summary REST API または、ご利用のウィキが既定の mwApiPlain ゲートウェイを使用している場合には TextExtracts API によって提供されます。

カッコ内の記述が削除された理由は?

議論が Phabricator の T91344 で白熱しています。この課題、もしくは関連の問題に関するご意見は、ぜひ先のチケットに投稿してください。

コンテンツ名前空間を離れるとポップアップが表示されない理由は?

ポップアップは、コンテンツ名前空間のページへのリンクにのみ表示されます。 これはポップアップの制限です。 TextExtractsは、他の名前空間から利用できます。 $wgContentNamespaces に名前空間を追加することで、これを回避できます。

関連リンク