Расширение:Всплывающие окна

From MediaWiki.org
Jump to navigation Jump to search
This page is a translated version of the page Extension:Popups and the translation is 19% complete.

Outdated translations are marked like this.
Other languages:
Deutsch • ‎English • ‎dansk • ‎español • ‎polski • ‎português do Brasil • ‎русский • ‎中文 • ‎日本語 • ‎한국어
Справка по расширениям MediaWiki
OOjs UI icon advanced.svg
Popups
Статус релиза: стабильный
Hovercard english.png
Реализация Skin
Описание Показывает всплывающие окна, когда пользователь наводит курсор на ссылку статьи
Автор(ы)
  • 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 General Public License 2.0 or later
Загрузка
Использованные hook'и
GetBetaFeaturePreferences
GetPreferences
BeforePageDisplay
ResourceLoaderTestModules
ResourceLoaderGetConfigVars
MakeGlobalVariablesScript
UserGetDefaultOptions
Переведите расширение Popups если оно доступно на translatewiki.net
Проверьте использование и версию.
Проблемы Открытые задачи · Сообщить об ошибке

Отображает всплывающие окошки с описанием содержания страницы, когда пользователь наводит курсор на ссылку, ведущую на страницу.

Это инициатива команды дизайнеров, вдохновленных популярным гаджетом Navigation popups. В настоящее время эта функция доступна в виде Beta Feature на сайтах Wikimedia. Описание функций расширения и дополнительную информацию о его использовании в проектах Викимедиа доступно в 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 Reference Previews .

Зависимости

Это расширение имеет жесткую зависимость от Extension:TextExtracts и Extension:PageImages . Существуют также дополнительные зависимости от Бета-Функции (новые возможности) (без BetaFeatures, он загружается для всех пользователей), Extension:EventLogging и Extension:WikimediaEvents (для инструментария).

Установка

  • Скачайте и распакуйте файл(ы) в папку с названием Popups в вашей папке extensions/.
  • Добавьте следующий строки в конец файла LocalSettings.php:
    wfLoadExtension( 'Popups' );
    
  • Yes Готово – Перейдите на страницу Special:Version на своей вики, чтобы удостовериться в том, что расширение успешно установлено.

Для использующих MediaWiki 1.25 или более ранние:

В приведенных выше инструкциях описывается новый способ установки этого расширения с использованием wfLoadExtension() Если вам нужно установить это расширение на более ранние версии (MediaWiki 1.25 и более ранние), вместо wfLoadExtension( 'Popups' );, вам необходимо использовать:

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

Example of final LocalSettings configuration for a non-testing site (regular wiki)

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

Page previews API

Every project is different, and what displays in your previews is highly dependent on the content inside your wiki.

Extension:Popups has been optimised 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 here:

https://www.mediawiki.org/wiki/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.

Параметры конфигурации

Опция Значение по умолчанию Полезно для... Документация
$wgPopupsHideOptInOnPreferencesPage false sysadmins Whether the option to enable/disable Page Previews should be hidden on Preferences page. Please note if PopupsBetaFeature is set to true this option will be always hidden. False by default
$wgPopupsOptInDefaultState 0 sysadmins Default Page Previews visibility. Has to be a string as a compatibility with beta feature settings
$wgPopupsConflictingNavPopupsGadgetName Navigation_popups sysadmins Navigation popups gadget name
$wgPopupsGateway mwApiPlain sysadmins 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/index.js
$wgPopupsReferencePreviewsBetaFeature true sysadmins Whether Reference Previews should be available as a Beta feature, or be enabled for all users by default.
$wgPopupsRestGatewayEndpoint /api/rest_v1/page/summary/ sysadmins Specify a REST endpoint where summaries should be sourced from. Endpoint must meet the spec at Specs/Summary/1.2.0
$wgPopupsAnonsExperimentalGroupSize 0 sysadmins Defines the fraction of users that should be subject to an A/B test. When enabled half of users in this group will see page previews. The rest will be divided into one of two buckets where previews will not show and the control group size will match the enabled bucket. If undefined, or 0, no users will be subject to experimentation and previews will be enabled for everyone unless $wgPopupsBetaFeature is enabled.
$wgPopupsEventLogging false sysadmins Whether we should log events. This should be used carefully alongside PopupsAnonsExperimentalGroupSize. Note if this is enabled without using that variable events will be logged for all users. Be careful!
$wgPopupsSchemaSamplingRate 0 sysadmins Sampling rate for logging performance data to statsv
$wgPopupsPageBlacklist [ "Special:Userlogin", "Special:CreateAccount" ] sysadmins Blacklisted pages are subject to the HTML cache policy of the wiki. A purge on a blacklisted page maybe needed to see the effect of this configuration variable. Every blacklisted page should be defined by a canonical name, eg: Special:Userlogin

Page previews content

В всплывающем окне помещается изображение (если таковой имеется), небольшая текстовая выдержка и метка последнего редактирования.

Изображение

Изображение формируются при помощи Расширение:PageImages, которое возвращает одну наиболее подходящую миниатюру, связанную со статьей. Он игнорирует шаблоны обслуживания, незавершённые статьи и т.д.

Текст

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 Extension:TextExtracts extension. This extension has various caveats and we do not actively support use of this API.

Reference previews content

The content in the reference preview popups is taken directly from the reference section on the page itself. No external services are involved here. If the content exceeds the popup size scrollbars are shown so everything can be looked at.

Reference types

The reference types displayed are set by using specific CSS-classes on the <cite>-tag that can be used to encapsulate the content of a reference e.g. <cite class="journal">. Currently there are four different types supported: web, journal, book, news. Apart from that there is always a generic fallback if neither the cite tag was found nor an appropriate class was used.

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.

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.

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?

See Extension:PageImages#Image choice.

How can I remove content from a page preview?

Any element marked with the noexcerpt class will be stripped from the summary.

Where do summaries come from?

These are provided by the Summary REST API.

Why are parenthetical 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 workaround this by appending more namespaces into $wgContentNamespaces .

Ссылки