Extension:Popups
この拡張機能は Web チームによって保守されています。 |
Popups リリースの状態: 安定 |
|
---|---|
実装 | 外装 |
説明 | 利用者が記事のリンクや脚注のマーカーにカーソルを合わせるとポップアップが表示されます |
作者 |
|
MediaWiki | 1.37+ |
PHP | 5.6+ |
ライセンス | GNU 一般公衆利用許諾書 2.0 以降 |
ダウンロード | |
例 | English Wikipedia |
|
|
四半期ごとのダウンロード数 | 297 (Ranked 13th) |
使用中の公開ウィキ | 947 (Ranked 282nd) |
translatewiki.net で翻訳を利用できる場合は、Popups 拡張機能の翻訳にご協力ください | |
問題点 | 未解決のタスク · バグを報告 |
Popups拡張機能は記事へのリンクや参考文献へのリンクにマウスをかざすとページと参考文献のプレビューを表示します。前者は記事の内容の要約からなり、後者は参考文献の全内容を表示します。
この拡張機能は、人気のあるナビゲーション ポップアップガジェットに触発されたデザイン チームのイニシアティブによるものです。現在、この機能はすべてのウィキペディアでログアウトした利用者向けに既定で提供されています。この拡張機能がどのように機能するかについての説明と、ウィキメディアのプロジェクトでの使用についての詳しい情報は、ページプレビューで入手できます。
そこへドイツ語話者コミュニティの技術要望リストに採用された参考資料プレビュー機能の開発が追加されました。詳細の説明と情報は参考資料プレビュー をご参照ください。
依存関係
この拡張機能は、既定の mwApiPlain
ゲートウェイで使用される場合、Extension:TextExtracts と Extension:PageImages に強く依存します。
ベータ版機能 (ベータ版提供中の参考資料プレビューを有効にする場合) と Extension:EventLogging と Extension:WikimediaEvents との選択的な依存関係もあります。
インストール
- 依存関係をインストールしてください。
- ダウンロードして、ファイルを
extensions/
フォルダー内のPopups
という名前のディレクトリ内に配置します。
開発者とコード寄稿者は、上記の代わりに以下を使用してGitからインストールします:cd extensions/
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/Popups - 以下のコードを LocalSettings.php ファイルの末尾に追加します:
wfLoadExtension( 'Popups' );
- 完了 – ウィキの「Special:Version」に移動して、拡張機能が正しくインストールされたことを確認します。
- Example of final configuration
wfLoadExtensions( [
'TextExtracts',
'PageImages',
'Popups'
] );
$wgPopupsHideOptInOnPreferencesPage = true;
$wgPopupsReferencePreviewsBetaFeature = false;
設定
オプション | 既定値 | 説明文書 |
---|---|---|
$wgPopupsVirtualPageViews
|
false
|
拡張機能が仮想ページビューを記録するかどうか。 |
$wgPopupsHideOptInOnPreferencesPage
|
false
|
ページプレビューの有効・無効の切り替えオプションは、個人設定のページで指定します。 |
$wgPopupsOptInDefaultState
|
1
|
古いアカウントの、既定のページプレビューの表示方法。ベータ機能の設定と整合するため、1つに限定。 詳細情報は タスク T191888 を参照してください。 この値は、内部で Bool 型に変換される。 したがって、2以上の数値は1と同じ意味を持つ。 |
$wgPopupsOptInStateForNewAccounts
|
1
|
既定のページは、新しく作成されたアカウントの可視性をプレビューします (1.32-1.43)。 詳細情報は タスク 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(無効)の場合、参照プレビューはデフォルトですべてのユーザーに対して有効になっています。 |
$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 はサポート外です。
レンダリングエンジン
この拡張機能には現在、レンダリングエンジンが1件当てられ、対象は通常ページです。
他の種類のページあるいは出典を対象とする個別のレンダリングエンジンの追加は、難しくありません。
新しいオプジェクトを以下の手順で作成する必要があります。
init
createPopup
getOffset
getClasses
processPopup
これらのメソッドの詳細は、ext.popups.renderer.article.jsまたは参照用のレンダラを追加したこのパッチで見ることができます。
ページプレビューAPI
プロジェクトはそれぞれ異なり、プレビューに表示される内容は、Wiki内のコンテンツに大きく依存します。
Popups拡張機能は、Wikipedia のようなコンテンツ (例: wikitext)で動作するように最適化されています。
あなたのwikiが異なる種類のコンテンツハンドラを使用している場合(例えばウィキベース )、それ自身のAPIを提供する必要があります。
APIはどのような言語で書かれていても構いませんが、APIのレスポンスはここで定義された仕様と一致する必要があります。
新しいAPIを定義することは、Popups拡張機能の範囲外です。
一度定義すれば、$wgPopupsRestGatewayEndpoint
設定オプションを使って、ページプレビューがあなたのAPIを指すように設定することができます。
既知の問題点
- 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.)
拡張性
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
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;
}
}
};
For real world examples, Extension:Math provide smath tooltips and Extension:Cite provides reference previews.
よくある質問
プレビューから直接テキストをコピペできないのはなぜですか?
この原稿執筆の段階では、不利な点が利点よりも大きいからです。突き詰めると、記事全文を閲読するのに触れる部位を減らすかどうかが、焦点になります。英語版とドイツ語版のウィキペディアでこの拡張機能を実装した段階で、もういちど、このタスクを開いてみてください。あいにく、それまで修正などは計画がありません。
プレビューで表示される画像を変更したいのですが、その方法は?
Extension:PageImages#画像選択を参照してください。
ページプレビューからコンテンツを削除する方法は?
noexcerpt
クラスが付いた要素はすべて要約から削除されます。
Why is content removed from the summary?
Any HTML element marked with the class noexcerpt
, mw-ref
, reference
, noprint
, nomobile
or sortkey
will be removed from the summary.
If the text should be displayed in the summary, you should under no circumstances use these classes in any templates that are used within the beginning section of an article.
これらの要素は何に由来するの?
これらは Summary REST API (ウィキメディアの本番ウィキ群) または、ご利用のウィキが既定の mwApiPlain
ゲートウェイを使用している場合には TextExtracts API によって提供されます。
カッコ内の記述が削除された理由は?
議論が Phabricator の T91344 で白熱しています。この課題、もしくは関連の問題に関するご意見は、ぜひ先のチケットに投稿してください。
コンテンツ名前空間を離れるとポップアップが表示されない理由は?
ポップアップは、コンテンツ名前空間のページへのリンクにのみ表示されます。 これはポップアップの制限です。 TextExtractsは、他の名前空間から利用できます。 $wgContentNamespaces に名前空間を追加することで、これを回避できます。
関連リンク
- ページプレビュー MediaWiki.orgにある help pageとメインのフィードバック受付
- MediaWiki.orgのリファレンスプレビューのヘルプページと中央のフィードバックページ
- 参考資料プレビュー Metaのプロジェクトのメインページ
- 関連研究:Wikimedia Performance Team/Authoring Popups: Best Practices
注記
この拡張機能は 1 つ以上のウィキメディアのプロジェクトで使用されています。 これはおそらく、この拡張機能が安定していて高いトラフィックのウェブサイトでも十分に動作することを意味します。 この拡張機能がインストールされている場所を確認するには、ウィキメディアの設定ファイル CommonSettings.php および InitialiseSettings.php 内で、この拡張機能の名前を探してください。 特定のウィキにインストールされている拡張機能の完全な一覧は、そのウィキの Special:Version ページにあります。 |
この拡張機能は以下のウィキ ファーム/ウィキ ホスト/パッケージに含まれています: これは正式な一覧ではありません。 一部のウィキ ファーム/ウィキ ホスト/パッケージは、ここに記載されていなくてもこの拡張機能を含んでいる場合があります。 必ずご利用のウィキ ファーム、ウィキ ホスト、バンドルで確認してください。 |
- Stable extensions/ja
- Skin extensions/ja
- GPL licensed extensions/ja
- Extensions in Wikimedia version control/ja
- BeforePageDisplay extensions/ja
- GetPreferences extensions/ja
- MakeGlobalVariablesScript extensions/ja
- ResourceLoaderGetConfigVars extensions/ja
- All extensions/ja
- Extensions used on Wikimedia/ja
- Extensions included in BlueSpice/ja
- Extensions included in Canasta/ja
- Extensions included in Fandom/ja
- Extensions included in Miraheze/ja
- Extensions included in MyWikis/ja
- Extensions included in WikiForge/ja
- Popup extensions/ja