Extension:MobileFrontend/ru

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

Outdated translations are marked like this.
Other languages:
Deutsch • ‎English • ‎Tiếng Việt • ‎español • ‎français • ‎occitan • ‎polski • ‎sicilianu • ‎русский • ‎中文 • ‎日本語 • ‎한국어

Расширение MobileFrontend:


Справка по расширениям MediaWikiManual:Extensions
Crystal Clear action run.svg
MobileFrontend

Статус релиза:Extension status стабильный

MediaWiki-Vagrant MobileFrontend Extension.png
РеализацияTemplate:Extension#type User interface, Hook
ОписаниеTemplate:Extension#description Provides a mobile-friendly view
Автор(ы)Template:Extension#username
Политика совместимостиCompatibility#mediawiki_extensions ветвь релиза
MediaWikiTemplate:Extension#mediawiki 1.31.0-alpha
PHPTemplate:Extension#php 5.5.9+
ЛицензияTemplate:Extension#license GNU General Public License 2.0 or later
Загрузка
README
ПримерTemplate:Extension#example m.mediawiki.org
Использованные hook'иTemplate:Extension#hook
APIGetAllowedParamsManual:Hooks/APIGetAllowedParams
APIAfterExecuteManual:Hooks/APIAfterExecute
APIGetParamDescriptionManual:Hooks/APIGetParamDescription
APIGetDescriptionManual:Hooks/APIGetDescription
RequestContextCreateSkinManual:Hooks/RequestContextCreateSkin
MediaWikiPerformActionManual:Hooks/MediaWikiPerformAction
OutputPageBeforeHTMLManual:Hooks/OutputPageBeforeHTML
SkinAfterBottomScriptsManual:Hooks/SkinAfterBottomScripts
SkinTemplateOutputPageBeforeExecManual:Hooks/SkinTemplateOutputPageBeforeExec
BeforePageRedirectManual:Hooks/BeforePageRedirect
DiffViewHeaderManual:Hooks/DiffViewHeader
ResourceLoaderTestModulesManual:Hooks/ResourceLoaderTestModules
GetCacheVaryCookiesManual:Hooks/GetCacheVaryCookies
TestCanonicalRedirectManual:Hooks/TestCanonicalRedirect
ResourceLoaderGetConfigVarsManual:Hooks/ResourceLoaderGetConfigVars
SpecialPage_initListManual:Hooks/SpecialPage_initList
ListDefinedTagsManual:Hooks/ListDefinedTags
ChangeTagsListActiveManual:Hooks/ChangeTagsListActive
RecentChange_saveManual:Hooks/RecentChange_save
AbuseFilter-generateUserVars
AbuseFilter-builder
SpecialPageBeforeExecuteManual:Hooks/SpecialPageBeforeExecute
UserLoginCompleteManual:Hooks/UserLoginComplete
BeforePageDisplayManual:Hooks/BeforePageDisplay
CustomEditorManual:Hooks/CustomEditor
GetPreferencesManual:Hooks/GetPreferences
GetBetaFeaturePreferencesManual:Hooks/GetBetaFeaturePreferences
Gadgets::allowLegacy
CentralAuthLoginRedirectData
CentralAuthSilentLoginRedirect
ResourceLoaderRegisterModulesManual:Hooks/ResourceLoaderRegisterModules
EventLoggingRegisterSchemasManual:Hooks/EventLoggingRegisterSchemas
OutputPageParserOutputManual:Hooks/OutputPageParserOutput
HTMLFileCache::useFileCache
LoginFormValidErrorMessagesManual:Hooks/LoginFormValidErrorMessages
ResourceLoaderGetLessVarsManual:Hooks/ResourceLoaderGetLessVars
ThumbnailBeforeProduceHTMLManual:Hooks/ThumbnailBeforeProduceHTML
PageRenderingHashManual:Hooks/PageRenderingHash
AfterBuildFeedLinksManual:Hooks/AfterBuildFeedLinks
MakeGlobalVariablesScriptManual:Hooks/MakeGlobalVariablesScript
TitleSquidURLsManual:Hooks/TitleSquidURLs
MediaWikiServicesManual:Hooks/MediaWikiServices
Предоставляет hook`иTemplate:Extension#newhook
SkinMinervaDefaultModulesExtension:MobileFrontend/SkinMinervaDefaultModules
MobileLicenseLinkExtension:MobileFrontend/MobileLicenseLink
MobileSiteOutputPageBeforeExecExtension:MobileFrontend/MobileSiteOutputPageBeforeExec
MobileSpecialPageStylesExtension:MobileFrontend/MobileSpecialPageStyles
MobileFrontendBeforeDOMExtension:MobileFrontend/MobileFrontendBeforeDOM
MinervaPreRenderExtension:MobileFrontend/MinervaPreRender
MobileMenuExtension:MobileFrontend/MobileMenu
BeforeSpecialMobileDiffDisplayExtension:MobileFrontend/BeforeSpecialMobileDiffDisplay
EnterMobileModeExtension:MobileFrontend/EnterMobileMode
GetMobileUrlExtension:MobileFrontend/GetMobileUrl
BeforePageDisplayMobileExtension:MobileFrontend/BeforePageDisplayMobile
SpecialWatchlistQueryExtension:MobileFrontend/SpecialWatchlistQuery
SpecialMobileEditWatchlist::imagesExtension:MobileFrontend/SpecialMobileEditWatchlist::images

Переведите расширение MobileFrontend если оно доступно на translatewiki.net

Проверьте использование и версию.

ПроблемыPhabricator

Открытые задачи · Сообщить об ошибке

This page is designed for end users who want to install it on their development instance. If you are keen to help us build it and improve it we encourage you to get involved.


Необходимые компоненты

  • Сама MediaWiki не требует этого, однако понадобится поддержка mbstring в PHP (см. задача T62174).
  • Расширение для MediaWiki ≤ 1.24 требует наличие расширения Mantle.

Before installing MobileFrontend, if you make heavy use of templates and/or inline styles (the style attribute) you should review your content to see whether it is mobile friendly. The TemplateStyles extension can be used to style content so that it renders nicely on mobile and desktop. MobileFrontend will not magically fix this for you!

In particular, you may want to review your landing page (main page). See Mobile homepage formatting.

Installation

  • Если вы используете VagrantMediaWiki-Vagrant, установите с помощью vagrant roles enable mobilefrontend --provision
Ручная установка
  • Скачайте и распакуйте файл(ы) в папку с названием MobileFrontend в вашу папку extensions/.
  • Добавьте следующий код в файл LocalSettings.php (в самый конец):
    wfLoadExtension( 'MobileFrontend' );
    $wgMFAutodetectMobileView = true;
    
  • При необходимости настройте
  • YesY Готово – Перейдите на страницу «Special:Version» на своём сайте, чтобы удостовериться в том, что расширение успешно установлено.

Setup Nearby

MobileFrontend provides the Special:Nearby page with a little configuration. To get this to work a few optional steps are required:

  1. Due to browser security you will need to be running a secure site over SSL — it is not possible to request a user's location over http
  2. Install the GeoData extension
  3. Run update.php
  4. In LocalSettings.php add $wgMFNearby = true;
  5. Determine article coordinates:
    1. Add data to your articles to one or more pages {{#coordinates:37.786971|-122.399677|primary}} see the documentation for GeoData for syntax details.
    2. Alternatively you can use a separate MediaWiki installation for Nearby by setting $wgMFNearbyEndpoint in your LocalSettings.php file. For example, $wgMFNearbyEndpoint = 'https://en.m.wikipedia.org/w/api.php'; will use coordinates of English Wikipedia articles. The nearby endpoint will be used to find content related to a given location.

Setup a skin

MobileFrontend provides you with a mobile formatted website to go alongside your existing desktop website. You can skin it however you want.

 // Choose one of those:
 $wgMFDefaultSkinClass = 'SkinMinerva'; // use Minerva skin (You need to download and install it separately, otherwise you'll get an exception)
 $wgMFDefaultSkinClass = 'SkinVector'; // use Vector skin
 $wgMFDefaultSkinClass = 'SkinTimeless'; // use Timeless skin

The following skins are compatible with MobileFrontend:

Настройки

См. Extension:MobileFrontend/Configuration

Additional tweaks

Get the most out of MobileFrontend by adding these other optional dependencies:

Local customisations

CSS styling

To apply CSS to your mobile theme, edit MediaWiki:Mobile.css, the counterpart of MediaWiki:Common.css. MobileFrontend does not load the global Mediawiki:Common.css, neither does it load any of the user stylesheets.

Больше информации

If you would like to test the mobile extension on a desktop browser or your device doesn't render the mobile version, you can append the following key-value pair to the query string: ?useformat=mobile e.g., https://en.wikipedia.org/wiki/Chuck_Schuldiner?useformat=mobile

If you would like to view a page in the beta without enabling it across the entire site you can append to the query string of any page

Legacy features of MobileFrontend

MobileFrontend has traditionally been a very large extension. Many features have either surpassed their requirements or will do at some future date. These are listed below.

API

APIs are provided by the MobileFrontend extension, but long term we expect to deprecate them in favour of Mobile Content Service. Use these APIs at your own risk. They may disappear (although we will give you sufficient notice when they do)!


Extended action=parse

action=parse accepts extra parameters:

mobileformat=
Return rendered page HTML in a mobile format 1.23+. Prior to MediaWiki 1.23, you could specify mobileformat=html to output HTML for modern phones or mobileformat=wml to output WML for dumb phones (see mailing list messagefor details).
noimages
Disable images in mobile output.
mainpage
Apply mobile main page transformations.

Пример:

action=mobileview

Delivers content optimized for mobile devices for use by mobile apps and dynamic section views. Almost like a restricted-functionality action=parse, but more flexible and returns separate sections that are always obtained from full-page parse.

Parameters:

page
Title of page to process.
sections
Pipe-separated list of section numbers for which to return text or all for all sections.
redirect
Whether redirects should be followed, yes (default) or no. This parameter is intentionally made similar to the one to index.php.
prop
Which information to get:
  • text: HTML of selected section(s)
  • sections: Information about all sections on page
  • normalizedtitle: Normalized page title, will be returned only if it differs from the specified one.
sectionprop
What information about sections to get: pipe-separated list of value types defined by parser. It's the same as in action=parse: toclevel, level, line, number, index, fromtitle, anchor. "byteoffset" has been excluded as it makes no sense for this action.
noimages
Return HTML without images.
noheadings
Return HTML without headings.

Returned section information also includes the id for every section - its zero-based number; and for sections that contains references added by Cite, there's also references data member.

Примеры:

Same request for XML:

api.php?action=mobileview&page=Extension:MobileFrontend/Example&sections=0&prop=text|sections&format=xml

prop=extracts

Migrated to Extension:TextExtractsExtension:TextExtracts

meta=siteinfo

The domain of the mobile version of the site (which might or might not be the same as the normal domain) is available under the mobileserver key of the general siteinfo information.

For developers/sysadmins

Testing with articles on a foreign wiki (live data)

MobileFrontend can now be configured locally to render articles from other MediaWiki instances.[1] This can help you debug problems locally instead of importing articles which may have dependencies on various templates and Wikibase identifiers from production to your local instance. This is not recommended for production usage.

The code below will turn your local MediaWiki mobile site into a Wikivoyage viewer:

$wgMFContentProviderClass = 'MobileFrontend\ContentProviders\MwApiContentProvider';
$wgMFMwApiContentProviderBaseUri = 'https://en.m.wikivoyage.org/w/api.php';

This is particularly useful for testing different mobile skins using the wgMFDefaultSkinClass config option.

Using the mobile view

WMF sites

On Wikimedia Foundation-run sites, we use Varnish caching servers to check the user agent of your device.

Non-WMF sites

For non-WMF sites, you can either set up your configuration to mimic how things are done at the WMF (doing device detection at the proxy layer and setting specific X-Device headers), or you can simply use "?useformat=mobile" to switch an article to use the mobile view.

Starting from the snapshot version 1.28, the default $wgMFMobileHeader was changed from X-WAP to X-Subdomain. You could either set $wgMFMobileHeader = 'X-WAP'; or modify your cache (Varnish) header setting. As long as them match.

FAQ

The following questions frequently appear on our talk page. Please check this list before posting about them on the talk page or use the existing talk topic, if available, to receive clarifications.

Q: How do I customise the main menu of the Minerva skin?

A: This is tracked in phabricator but you can see Topic:Tiggc18fvd3stmsf has an interim solution.

Q: How do I add HTML to the Minerva skin, for example to add ads or additional script tags?'

A: You can do this by editing the template file for the skin (currently include/skins/minerva.mustache). See this discussion for details.

Q: The extension I am using doesn't seem to work on MobileFrontend. Why?

A: It's likely the extension is old and needs to add compatibility to MobileFrontend. Please contact the developer of the extension and point them to ResourceLoader/Writing a MobileFrontend friendly ResourceLoader module. Please do not post to the talk page, as in this case it would be better to file a bug on Phabricator.org (you can login using your MediaWiki.org username) for a quicker response.

Q: I upgraded MobileFrontend and now I'm getting a fatal exception!

A: You are probably using incompatible versions of MobileFrontend and MediaWiki. In most cases, we can't help you here. Try upgrading MobileFrontend or MediaWiki to resolve your issue.

Q: After upgrading MediaWiki I'm getting an exception wgMFDefaultSkinClass is not setup correctly.

A: MobileFrontend currently assumes you have the MinervaNeue skin installed. If you don't you'll need to install this or configure your mobile skin per instructions above.


For Extension Developers

By default resource modules in extensions will not be loaded in mobile view. Should a module need to be loaded while in mobile view this guide on writing MobileFrontend friendly modules will be of help.

См. также

References