Extension:MobileFrontend

This page is a translated version of the page Extension:MobileFrontend and the translation is 100% complete.
Other languages:
Canadian English • ‎Deutsch • ‎English • ‎Tiếng Việt • ‎español • ‎français • ‎polski • ‎português • ‎português do Brasil • ‎русский • ‎中文 • ‎日本語 • ‎한국어

MobileFrontend」拡張機能は:

  • モバイルトラフィック向けの独立したモバイルサイトを作成します。
    • システム管理者は Skin:MinervaNeue のような異なる外装を提供できます。
  • コンテンツをより扱いやすくするため、様々なコンテンツ整形機能を提供します。
    • 特に節の折り畳みならびにコンテンツの再配列および除去。
  • モバイル用のフッターをシンプルにし、デスクトップ用/モバイル用を切り替えるリンクを追加します。
  • モバイル フレンドリーではない特別ページの代替を提供します: Special:History, Special:Contributions, Special:Watchlist, Special:Preferences, Special:MobileDiff
  • 特別ページ Special:Nearby、Special:MobileOptions (モバイル用外装設定)、Special:MobileLanguages(言語の選択用)を提供します
  • ベータモードを提供し、機能管理システムによって匿名利用者を対象とした試験的機能を追加します。


MediaWiki 拡張機能マニュアル
OOjs UI icon advanced.svg
MobileFrontend
リリースの状態: 安定
MediaWiki-Vagrant MobileFrontend Extension.png
実装 ユーザー インターフェイス, フック
説明 モバイル・フレンドリーな表示を提供します。
作者
最新バージョン 2.3.0
互換性ポリシー リリースブランチ
MediaWiki 1.33+[1]
PHP 5.5.9+
ライセンス GNU 一般公衆利用許諾書 2.0 以降
ダウンロード
README
m.mediawiki.org
  • $wgMFSearchGenerator
  • $wgMFStopRedirectCookieHost
  • $wgMFShowMobileViewToTablets
  • $wgMFStripResponsiveImages
  • $wgMFLazyLoadImages
  • $wgMFRSSFeedLink
  • $wgMFNamespacesWithLeadParagraphs
  • $wgMFAmcOutreachMinEditCount
  • $wgMFEnableMobilePreferences
  • $wgMFMobileFormatterOptions
  • $wgMFRemovableClasses
  • $wgMFContentProviderTryLocalContentFirst
  • $wgMFShowFirstParagraphBeforeInfobox
  • $wgMFMinCachedPageSize
  • $wgMFContentProviderClass
  • $wgMFVaryOnUA
  • $wgMFLogWrappedInfoboxes
  • $wgMFDisplayWikibaseDescriptions
  • $wgMFAlwaysUseContentProvider
  • $wgMFSchemaEditAttemptStepOversample
  • $wgMFDefaultSkinClass
  • $wgMFEnableJSConsoleRecruitment
  • $wgMobileFrontendFormatCookieExpiry
  • $wgMFAmcOutreach
  • $wgMFResponsiveImageWhitelist
  • $wgMFLazyLoadSkipSmallImages
  • $wgMFSearchAPIParams
  • $wgMFContentProviderScriptPath
  • $wgMFAdvancedMobileContributions
  • $wgMFEnableXAnalyticsLogging
  • $wgMFUseDesktopSpecialHistoryPage
  • $wgMFWatchlistEditCountThreshold
  • $wgMFSiteStylesRenderBlocking
  • $wgMFMcsContentProviderBaseUri
  • $wgMFUseWikibase
  • $wgMobileUrlTemplate
  • $wgMFCollapseSectionsByDefault
  • $wgMFManifestBackgroundColor
  • $wgMFEnableFontChanger
  • $wgMFManifestThemeColor
  • $wgMFEnableManifest
  • $wgMFSchemaSearchSampleRate
  • $wgMFNoMobileCategory
  • $wgMFNearby
  • $wgMFEnableWikidataDescriptions
  • $wgMFNamespacesWithoutCollapsibleSections
  • $wgMFSpecialPageTaglines
  • $wgMFNearbyRange
  • $wgMFEnableBeta
  • $wgMFBetaFeedbackLink
  • $wgMFDefaultEditor
  • $wgMFNoindexPages
  • $wgMFAutodetectMobileView
  • $wgMFUseDesktopSpecialWatchlistPage
  • $wgMFQueryPropModules
  • $wgMFNoMobilePages
  • $wgMFMwApiContentProviderBaseUri
  • $wgMFMobileHeader
  • $wgMFMobileFormatterNamespaceBlacklist
  • $wgMFSpecialCaseMainPage
translatewiki.net で翻訳を利用できる場合は、MobileFrontend 拡張機能の翻訳にご協力ください
使用状況とバージョン マトリクスを確認してください。
問題点 未解決のタスク · バグを報告

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

要件

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

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. 記事に位置情報を追加するには、たとえば{{#coordinates:37.786971|-122.399677|primary}}などcoordinatesパーサ機能を使用します。 構文の詳細は、GeoData の解説文書をご参照ください。
    2. 代替策として、ローカルのLocalSettings.phpファイルに$wgMFNearbyEndpointを設定し、「近く」用にMediaWikiを別個にインストールする方法があります。 一例として$wgMFNearbyEndpoint = 'https://en.m.wikipedia.org/w/api.php';ではウィキペディア英語版の記事について位置情報を使っています。 「近く」のエンドポイントを使い、指定の地理的位置に関連するコンテンツの検索を行います。

外装の設定

既存のデスクトップ版サイトと並行して、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 と互換性があります:

  • Skin:Minerva Neue (安定版、WMF のウィキ群の既定の外装)
  • Skin:Vector (デスクトップ用の既定の外装、モバイルでは実験的なレスポンシブ・モード)
  • Skin:Timeless (実験的な外装)

環境設定

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

特定のページのモバイル版を表示したいけれど、サイト全体で拡張機能を有効にしたくない場合、そのページのURLを追加できます。

MobileFrontend の歴史の長い機能

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

API

API は MobileFrontend 拡張機能によって提供されますが、長期的にはモバイルコンテンツサービスを優先していき、API を廃止する予定です。 これらのAPIは自己責任で使用してください。 消去される可能性あります(とはいえ十分にお知らせしてからです)。

モバイルビュー 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

一般的な siteinfo 情報の mobileserver キーから、サイトのモバイル版のドメイン(通常のドメインと同じでない場合、同じ場合があります)を取得することができます。

開発者/システム管理者向け

セットアップ

拡張機能で何を実行したいかにもよりますが、事前コミットしたフックを実行するには、npm installを実行しphpコンポーザをインストールする必要があるかもしれません。

外部ウィキ上の記事を使ったテスト(ライブデータ)

MobileFrontend は、他の MediaWiki インスタンス由来の記事をローカルに表示するよう設定することができるようになりました。[2] これは、様々なテンプレートや Wikibase 識別子に依存している可能性がある記事をプロダクションからローカルインスタンスに取り込むことなく、ローカルに問題をデバッグすることに役立ちます。 プロダクション使用では推奨されません。

以下のコードは、あなたのローカル MediaWiki モバイルサイトを Wikivoyage ビューアに変えます。

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

これは特に、wgMFDefaultSkinClass 構成設定を使用する異なるモバイル外装をテストするときに役立ちます。

モバイルビューの利用

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

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

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

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

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

よくある質問

議論ページで、以下の質問が頻繁にあります。 議論ページでそれらについて投稿する前にこの一覧を確認するか、もし可能ならば、既存の議論トピックを使用して説明を受けてください。

Q:Minerva 外装のメインメニューをカスタマイズするにはどうしますか?

A:この件について phabricator で議論されていますが、Topic:Tiggc18fvd3stmsf に暫定的な解決策が掲載されています。

Q:Minerva 外装に広告や追加の script タグのような HTML を追加するにはどうしますか?

A:スキンのテンプレートファイル(現在は include/skins/minerva.mustache)を編集することによって可能です。詳細については、この議論を参照してください。

Q:使用している拡張機能が MobileFrontend では動作しないようです。なぜでしょうか?

A:おそらく、拡張機能が古く、MobileFrontend との互換性を追加する必要があります。 拡張機能の開発者に連絡し、ResourceLoader/Writing a MobileFrontend friendly ResourceLoader module を参照するようお伝えください。 迅速に対応してもらうには、議論ページに投稿するのではなく、この場合は Phabricator(あなたの MediaWiki.org 利用者名を使用してログインできます)でバグを報告するのがよいでしょう。

Q:MobileFrontend を更新すると、致命的な例外が発生してしまいました!

A:おそらく互換性のないバージョンの MobileFrontend と MediaWiki を使用しています。 多くの場合、ここではお力になれません。 問題を解決するには、MobileFrontend または MediaWiki を更新してみてください。

Q:MediaWiki の更新後、wgMFDefaultSkinClass is not setup correctly という例外が発生します。

A:現在、MobileFrontend は Minerva Neue 外装がインストールされていることを前提とします。 インストールしていない場合は、上記の説明に従い、この外装をインストールしてモバイル外装として設定する必要があります。

拡張機能の開発者向け

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

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

関連項目

脚注

  1. :Fatal error: Uncaught ExtensionDependencyError: MobileFrontend is not compatible with the current MediaWiki core (version 1.32.2), it requires: >= 1.33.0.
  2. こちらの YouTube デモビデオを参照してください