Open main menu

Extension:MobileFrontend

This page is a translated version of the page Extension:MobileFrontend and the translation is 74% complete.

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

MobileFrontend」拡張機能とは:

  • ウィキにモバイル用のモバイル版サイトを作成します。
    • システム管理者は Skin:MinervaNeue のような異なる外装を提供できます。
  • コンテンツがよりモバイルに適するよう様々なコンテンツ整形機能が提供されます。
    • 特に節の折り畳みならびにコンテンツの再配列および除去。
    • モバイル用のフッターは簡易的でデスクトップ用/モバイル用を切り替えるリンクが表示されます。
  • モバイルフレンドリーでない MediaWikiの特別ページを置き換えます -

Special:History, Special:Contributions, Special:MobileCite, Special:Watchlist, Special:Preferences, Special:MobileDiff.


MediaWiki 拡張機能マニュアル
OOjs UI icon advanced.svg
MobileFrontend
リリースの状態: 安定
MediaWiki-Vagrant MobileFrontend Extension.png
実装 User interface, Hook
説明 モバイル・フレンドリーな表示を提供します。
作者
互換性ポリシー リリースブランチ
MediaWiki 1.31.0-alpha
PHP 5.5.9+
ライセンス GNU General Public License 2.0 or later
ダウンロード
README
m.mediawiki.org
使用するフック
APIGetAllowedParams
APIAfterExecute
APIGetParamDescription
APIGetDescription
RequestContextCreateSkin
MediaWikiPerformAction
OutputPageBeforeHTML
SkinAfterBottomScripts
SkinTemplateOutputPageBeforeExec
BeforePageRedirect
DiffViewHeader
ResourceLoaderTestModules
GetCacheVaryCookies
TestCanonicalRedirect
ResourceLoaderGetConfigVars
SpecialPage_initList
ListDefinedTags
ChangeTagsListActive
RecentChange_save
AbuseFilter-generateUserVars
AbuseFilter-builder
SpecialPageBeforeExecute
UserLoginComplete
BeforePageDisplay
CustomEditor
GetPreferences
GetBetaFeaturePreferences
Gadgets::allowLegacy
CentralAuthLoginRedirectData
CentralAuthSilentLoginRedirect
ResourceLoaderRegisterModules
EventLoggingRegisterSchemas
OutputPageParserOutput
HTMLFileCache::useFileCache
LoginFormValidErrorMessages
ResourceLoaderGetLessVars
ThumbnailBeforeProduceHTML
PageRenderingHash
AfterBuildFeedLinks
MakeGlobalVariablesScript
TitleSquidURLs
MediaWikiServices
提供するフック
SkinMinervaDefaultModules
MobileLicenseLink
MobileSiteOutputPageBeforeExec
MobileSpecialPageStyles
MobileFrontendBeforeDOM
MinervaPreRender
MobileMenu
BeforeSpecialMobileDiffDisplay
EnterMobileMode
GetMobileUrl
BeforePageDisplayMobile
SpecialWatchlistQuery
SpecialMobileEditWatchlist::images
translatewiki.net で翻訳を利用できる場合は、MobileFrontend 拡張機能の翻訳にご協力ください
使用状況とバージョン マトリクスを確認してください。
問題点 未解決のタスク · バグを報告

このページは、開発インスタンスにインストールしようとする利用者向けです。また開発したり、改良を手伝ってくださる方の参加もお待ちしています。

Contents

要件

  • この拡張機能の動作には MediaWiki には必要条件はありませんが、 PHP の mbstring のサポートが必要です。

MobileFrontend をインストールする前に、テンプレートやインラインのCSSスタイル(style属性)を多用している場合には、モバイルに適しているかコンテンツを見直してください。 TemplateStylesの拡張機能は モバイルやデスクトップにて、コンテンツがうまく描画されるようデザインするのに使えます。MobileFrontend には、魔法のような修正をかける機能はありません!

特に、ランディングページ(ホームページ)を見直してください。 モバイル・ゲートウェイ/モバイル用ホームページ整形を参照してください。

インストール

  • Vagrant を使用している場合は、vagrant roles enable mobilefrontend --provision でインストールしてください
手動インストール
  • ダウンロードして、ファイルを extensions/ フォルダー内の MobileFrontend という名前のディレクトリ内に配置します。

Nearby のセットアップ

MobileFrontend は、わずかな設定で Special:Nearby (特別:付近)ページを提供します。このためには少しオプションの設定が必要です。

  1. ブラウザのセキュリティを確保するため、SSL経由の安全なサイトで実行する必要があります。HTTP経由で利用者の位置情報を要求することはできません。
  2. GeoData 拡張機能 をインストールする。
  3. update.php を実行する。
  4. LocalSettings.php に $wgMFNearby = true; を追加する
  5. 記事の座標を決定する:
    1. 1 つ以上のページにデータを追加する {{#coordinates:37.786971|-122.399677|primary}} 構文の詳細については GeoData の説明書を参照してください。
    2. LocalSettings.phpファイルに$wgMFNearbyEndpointを設定することで、Nearby に別のMediaWiki インスタンスを使用することもできます。 たとえば、$wgMFNearbyEndpoint = 'https://en.m.wikipedia.org/w/api.php';は英語版ウィキペディアの記事の座標を使用します。この NearbyEndpoint は、その位置情報に関連するコンテンツを見つけるために使用されます。

外装のセットアップ

既存のデスクトップ版サイトと並行して、MobileFrontend はモバイル用に成形されたウェブサイトを提供します。必要なら外装を使用できます。

 // Choose one of these and add chosen code to bottom of LocalSettings.php file:
 wfLoadSkin( 'MinervaNeue' );
 $wgMFDefaultSkinClass = 'SkinMinerva'; // use Minerva skin (You need to download and install it separately, otherwise you'll get an exception)
 wfLoadSkin( 'Vector' );
 $wgMFDefaultSkinClass = 'SkinVector'; // use Vector skin
 wfLoadSkin( 'Timeless' );
 $wgMFDefaultSkinClass = 'SkinTimeless'; // use Timeless skin

以下の外装は MobileFrontend と互換性があります:

環境設定

Special:MyLanguage/Extension:MobileFrontend/Configurationを参照。

追加の調整

以下のオプションの関連機能を追加することで MobileFrontend を最大限に活用できます。

部分的なカスタマイズ

CSSスタイル

モバイル様テーマに CSS を適用するには、MediaWiki:Mobile.css を編集してください。これは MediaWiki:Common.css と同等のものです。

MobileFrontend は、広範に適応されている MediaWiki:Common.css を読み込まず、利用者のスタイルシートをどれも読み込みません。

詳細情報

デスクトップのブラウザやモバイル版を表示しない端末から、モバイル拡張機能をテストしたい場合、以下のキーと値の組み合わせをクエリの文字列に追加します:?useformat=mobile 例:https://en.wikipedia.org/wiki/Chuck_Schuldiner?useformat=mobile

ベータ版機能をサイト全体で有効にすることなく、ページをベータ版で表示したい場合、任意のページのクエリ文字列に追加することができます。

MobileFrontend の歴史の長い機能

MobileFrontend は、長く使われ巨大な拡張機能になっています。多くの機能は、必要以上になっている、あるいはいずれそうなるでしょう。 そうした機能を挙げていきます。

API

API は MobileFrontend 拡張機能によって提供されていますが、私たちは、長期的には Mobile Content Service を優遇していき、API を廃止する予定です。これらのAPIは自己責任で使用してください。消去される可能性あります(とはいえ十分にお知らせしてからです)。

MobileView API

Extension:MobileFrontend/MobileViewAPI を参照。

拡張された action=parse

action=parse は追加の引数を受け付けます:

mobileformat=
モバイル用に成形された HTML を返します。 1.23+ MediaWiki 1.23 より前では、mobileformat=html を指定してモダンな携帯電話向けの HTML を出力するか、mobileformat=wml を指定して低機能な携帯電話向けの WML を出力することができました(詳細はメーリングリストのメッセージを参照してください)。
noimages
モバイル用の出力で画像を無効にします。
mainpage
モバイルにメインページ変換を適用します。

例:


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.

モバイルビューの利用

ウィキメディア財団のサイト群

Wikimedia 財団の運営するサイトでは、デバイスのユーザーエージェントを調べるために Varnish キャッシュサーバーを利用しています。

ウィキメディア財団以外のサイト

ウィキメディア財団以外のサイトでは、ウィキメディア財団で行われる動作(プロキシ層でのデバイス検出および固有の X-Device ヘッダ設定)を模倣するように設定するか、記事がモバイルビューを使うように切り替えるため単に "?useformat=mobile" を使うことができます。

スナップショットバージョン 1.28 より、既定の $wgMFMobileHeader は X-WAP から X-Subdomain に変更されました。 $wgMFMobileHeader = 'X-WAP';を設定するか、キャッシュ (Varnish) ヘッダー設定を変更することができます。 それらが一致する限り。

よくある質問

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 (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.

拡張機能の開発者向け

既定では、拡張機能内のリソースモジュールはモバイルビューでは読み込まれません。

モバイルビューでもモジュールが読み込まれる必要がある場合には、この MobileFrontend フレンドリーなモジュールを書くためのガイドが役立つでしょう。

関連項目

References