확장기능:팝업
This extension is maintained by the Web team. |
Popups 출시 상태: 안정 |
|
---|---|
구현 | 스킨 |
설명 | Displays popups when users hover over article links and footnote markers |
만든 이 |
|
MediaWiki | 1.37+ |
PHP | 5.6+ |
라이선스 | GNU General Public License 2.0 or later |
다운로드 | |
예제 | English Wikipedia |
|
|
Quarterly downloads | 313 (Ranked 12th) |
Public wikis using | 947 (Ranked 282nd) |
Popups 확장 기능 번역 (translatewiki.net에서 가능한 경우) | |
이슈 | 미해결 작업 · 버그 보고 |
The Popups (known in Special:Version as Previews) extension displays page and reference previews when hovering over a link to an article or respectively to a reference. The former consists of summaries of an article's content, the latter shows the full content of the reference.
The extension is an initiative of the Design team, inspired by the popular Navigation popups gadget. Currently this feature is available on all Wikipedias by default for logged-out users. A description of how the extension functions and more information on its use on Wikimedia projects is available at Page Previews.
The Reference Previews feature was added eventually and aims to fulfill a wish from the German-speaking community's Technical Wishlist. A more detailed description and more information on its use is available at 각주 미리 보기 .
기본적으로 설치해야 할 것
This extension has a hard dependency on 확장기능:TextExtracts and Extension:PageImages when used with the default mwApiPlain
gateway.
There are also optional dependencies on 베타 기능 (if you want to enable the Reference Previews as beta feature), and Extension:EventLogging and Extension:WikimediaEvents (for instrumentation).
설치
- 기본적으로 설치해야 할 것을 설치합니다.
- 파일을 다운로드하고
Popups
폴더를extensions/
디렉토리에 넣어 주세요.
개발자와 코딩 기여자는 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;
Configuration
옵션 | 기본값 | Documentation |
---|---|---|
$wgPopupsVirtualPageViews
|
false
|
Whether the extension should log virtual pageviews. |
$wgPopupsHideOptInOnPreferencesPage
|
false
|
Whether the option to enable/disable Page Previews should be hidden on Preferences page. |
$wgPopupsOptInDefaultState
|
1
|
Default Page Previews visibility for old accounts. Has to be a string as a compatibility with beta feature settings. For more information see task T191888. This value is internally converted to the Bool type. Therefore, a value greater than or equal to 2 has the same meaning as 1. |
$wgPopupsOptInStateForNewAccounts
|
1
|
Default Page Previews visibility for newly created accounts (1.32-1.43). For more information see task T191888. |
$wgPopupsConflictingNavPopupsGadgetName
|
'Navigation_popups'
|
The local Navigation popups gadget name used as its identifier in MediaWiki:Gadgets-definition . This gadget is incompatible with page previews. The extension will disable itself for users with the gadget enabled. |
$wgPopupsConflictingRefTooltipsGadgetName
|
ReferenceTooltips
|
The local Reference Tooltips gadget name used as its identifier in MediaWiki:Gadgets-definition . This gadget is incompatible with reference previews. Reference previews will disable itself for users with the gadget enabled. |
$wgPopupsGateway
|
'mwApiPlain'
|
Which gateway to use for fetching Popups data. Available options: mwApiPlain, restbasePlain, restbaseHTML . Full and always up to date list is available in src/gateway/page.js .
|
$wgPopupsRestGatewayEndpoint
|
'/api/rest_v1/page/summary/'
|
Specify a REST endpoint where summaries should be sourced from. Endpoint must meet the spec at Specs/Summary/1.2.0 . |
$wgPopupsReferencePreviews
|
true
|
Temporary feature flag to disable reference previews during development. |
$wgPopupsReferencePreviewsBetaFeature
|
true
|
Whether Reference Previews should be available as a Beta feature. If false, Reference Previews are enabled for all users by default. |
$wgPopupsStatsvSamplingRate
|
0
|
Sampling rate for logging performance data to statsv. |
$wgPopupsPageDisabled
|
Several special pages. See extension.json for the full list. | List of pages that should not show Popups. Includes subpages. These pages are subject to the HTML cache policy of the wiki. A purge on these pages may be needed to see the effect of this configuration variable. Every excluded page should be defined by a canonical name, eg: Special:Userlogin .
|
Page previews content
The page preview popups show an image (if one is available) and a small text excerpt.
그림
The image comes from the Extension:PageImages which returns the single most appropriate thumbnail associated with an article. It ignores maintenance templates, stubs, flag icons etc.
텍스트
The page previews can be configured with any compatible API that is compatible with the Page content service summary endpoint using $wgPopupsRestGatewayEndpoint
. For third parties we encourage using the Page Content Service to enjoy using Popups with your local wiki.
You can also use the 확장기능:TextExtracts extension. This extension has various caveats and we do not actively support use of this API.
Renderers
This extensions currently has only one renderer, that is for ordinary pages.
New renderers for different kind of pages, or things like references can be easily added.
One needs to create a new object with the following methods:
init
createPopup
getOffset
getClasses
processPopup
You can see details of these methods in ext.popups.renderer.article.js or this patch that adds a renderer for references.
Page previews API
Every project is different, and what displays in your previews is highly dependent on the content inside your wiki.
Popups extension has been optimized to work with Wikipedia-like content (e.g. wikitext).
If your wiki is using a different kind of content handler (for example as is the case for Wikibase ) it will need to provide its own API.
The API can be written in any language, but the response of the API must match the spec defined in Specs/Summary/1.2.0 .
Defining new APIs is out of scope for the Popups extension.
Once defined, you can configure page previews to point to your API using $wgPopupsRestGatewayEndpoint
configuration option.
Known problems
- Users of the Translate extension should note that Page Previews requests previews in the content language of the page. If the preview contains a complete translatable block, then it will be translated. If, however, the preview contains an incomplete translateable block – because a sentence is cut off, say – then it isn't translated and will be displayed in the content language of the page. If you are observing this behavior, then you should consider marking up individual sentences in your lead section. T167852 is for a technical audience but has more information on the underlying problem.
- Longer math formulas cutting off in preview - long math or chemical formulas (formulas wider than the preview width) display as truncated in previews. We were not able to add a gradient in order to indicate that the formula is continued on the article itself.
- 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
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, 확장기능:Math provide smath tooltips and 확장기능:Cite provides reference previews.
FAQ
Why can't I copy and paste text from a preview?
At time of writing, the cons of doing so outweigh the pros. Essentially it boils down to decreasing the touch area to read the article in full. Once Page Previews is deployed on English and German Wikipedia, feel free to reopen this task and reignite the discussion, but right now we have no plans.
How can I change the image that I see on preview?
How can I remove content from a page preview?
Any element marked with the noexcerpt
class will be stripped from the summary.
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.
Where do summaries come from?
These are provided by the summary REST API (Wikimedia production wikis) or the TextExtracts API in case your wiki is using the default mwApiPlain
gateway.
Why are parenthetical phrases stripped?
There's a good discussion going on in T91344 in Phabricator. If you have any views on this or see any problems relating to this, please let us know there.
Why don't I see Popups outside of content namespaces?
Popups appear on links to pages in content namespaces only. This is a limitation of Popups; TextExtracts are available from other namespaces. You may work around this by appending more namespaces into $wgContentNamespaces .
Links
- Page Previews help page and central feedback page on MediaWiki.org
- Reference Previews help page and central feedback page on MediaWiki.org
- Reference Previews main project page on Meta
- Related research: Wikimedia Performance Team/Authoring Popups: Best Practices
Notes
이 확장 기능은 하나 이상의 위키미디어 프로젝트에서 사용 중입니다. 이것은 아마도 이 확장 기능이 안정적이고 트래픽이 많은 웹 사이트에서 사용할 수 있을 만큼 충분히 잘 작동한다는 것을 의미합니다. 설치된 위치를 확인하려면 위키미디어의 CommonSettings.php 및 InitialiseSettings.php 구성 파일에서 이 확장 기능의 이름을 찾습니다. 특정 위키에 설치된 확장 기능의 전체 목록은 위키의 Special:Version 문서에서 볼 수 있습니다. |
This extension is included in the following wiki farms/hosts and/or packages: This is not an authoritative list. Some wiki farms/hosts and/or packages may contain this extension even if they are not listed here. Always check with your wiki farms/hosts or bundle to confirm. |
- Stable extensions/ko
- Skin extensions/ko
- GPL licensed extensions/ko
- Extensions in Wikimedia version control/ko
- BeforePageDisplay extensions/ko
- GetPreferences extensions/ko
- MakeGlobalVariablesScript extensions/ko
- ResourceLoaderGetConfigVars extensions/ko
- All extensions/ko
- Extensions used on Wikimedia/ko
- Extensions included in BlueSpice/ko
- Extensions included in Canasta/ko
- Extensions included in Fandom/ko
- Extensions included in Miraheze/ko
- Extensions included in MyWikis/ko
- Extensions included in WikiForge/ko
- Popup extensions/ko