Extension:MobileFrontend/ja

「MobileFrontend」拡張機能はモバイルフレンドリーな表示を提供します. このページは開発インスタンスにインストールしたいエンドユーザー向けに作られています. 開発および改良の支援を望まれる場合は、ぜひご参加ください.

要件

 * MediaWiki には不要ですが、この拡張機能の動作のため PHP に mbstring サポートが必要です.
 * MobileFrontend の MediaWiki ≤ 1.24 向けリリースには Mantle 拡張機能が必要です.

環境設定
LocalSettings.php において、 を呼び出した後、以下の変数を定義することができます. 単純なサイトでは、ただ動かすために必要なのは  の追加のみかもしれないことに留意してください.

この値が設定されていない場合、ホスト名のトップドメインを既定値として設定します（例：en.wikipedia.org = .wikipedia.org）. これをトップドメインに設定したい場合（すべてのサブドメインをカバーするため）、先行する '.' が含まれていること（例：wikipedia.org ではなく .wikipedia.org）を確かめてください. If this option is set to  file cache must be disabled by setting $wgUseFileCache to   (otherwise autodetection won't be reliable due to cached copies being shown). 「百科事典スタイル」にするには、既定の  のままにしてください. このスタイルでは、既定で節 0 のリード文は常に表示され、続く節は折り畳まれる可能性があります. 「辞書スタイル」にするには  に設定してください. このスタイルでは節は折り畳まれません.
 * MobileFrontendのデフォルトのスキン.
 * $wgMFEditorOptions
 * モバイルエディタの機能を制御するオプション. 'anonymousEditing'：匿名（ログインしていない）利用者が編集可能かどうか. 'skipPreview'：モバイル編集ワークフローに、変更結果の新しい文章を見直すことができるよう編集プレビュー（保存前）を含めるかどうか.
 * $wgMFUseCentralAuthToken
 * 利用者がログインできないかもしれない外部の CentralAuth が有効な wiki への編集（アップロード）を許可します.
 * $wgMFPhotoUploadEndpoint
 * 画像アップロード先の MediaWiki API エントリーポイントの URL. 空文字列の場合、ローカルにアップロードします.
 * $wgMFUploadMinEdits
 * 0
 * 利用者がモバイルアップロードを使用するのに必要な編集回数を指定します.
 * $wgMFNearbyEndpoint
 * 付近のページを問い合わせる際に使われるオプションの代替 API. 例：https://en.m.wikipedia.org/w/api.php 設定した場合、nearby に JSONP モードでの操作を強制します.
 * $wgMFContentNamespace
 * 特別:付近および特別:おまかせ表示が利用するコンテンツ名前空間. パイプで区切られた 1 つ以上の NS_* 定数でなければなりません.
 * $wgMFPhotoUploadWiki
 * アップロード画像のある wiki の ID/データベース名. null ならば、ローカルデータベースを利用します.
 * $wgMobileFrontendLogo
 * , default no logo
 * モバイルログインとアカウント作成のフォームで使用されるロゴへの URL. ロゴの高さは 72px でなければなりません. 例：wiki のルートフォルダに存在するファイル mf-logo.png に対して "{$wgScriptPath}/mf-logo.png"
 * $wgMobileUrlTemplate
 * Template used to transcode regular URLs into mobile URLs (optional, and probably an overkill for low-traffic sites). Can either be set as a static domain (eg 'mobile.mydomain.com'), or can use a template based off the host portion of your desktop domain. The token '%h0' represents the first portion of the hostname, '%h1' the second, and so on. For example, to achieve http://en.m.wikipedia.org from http://en.wikipedia.org, you would use:
 * $wgMobileFrontendFormatCookieExpiry
 * 'useformat' cookie（サイトのモバイルあるいはデスクトップビューを手動で切り替えた際、それを保持するために使用されます）が有効となる秒数. 未設定の場合、$wgCookieExpiration を既定値に設定します.
 * $wgMFRemovableClasses
 * ページコンテンツから除かれるクラス、タグ、ID を設定可能にします. 各項目はページから除かれます. この拡張機能は既定でいくつかのクラスを追加します.
 * $wgMFCustomLogos
 * ロゴを設定可能にします. 例： 'copyright' はモバイルページのフッタに表示される画像を制御することに注意してください.
 * $wgMFNoindexPages
 * false に設定すると検索エンジンにモバイルページのインデックスを許可します. これまで、Google は検索結果でモバイルページと非モバイルページを混ぜ合わせるようで、混乱を引き起こしています.
 * $wgMFStopRedirectCookieHost
 * stopMobileRedirect cookie のドメインを設定します.
 * , default no logo
 * モバイルログインとアカウント作成のフォームで使用されるロゴへの URL. ロゴの高さは 72px でなければなりません. 例：wiki のルートフォルダに存在するファイル mf-logo.png に対して "{$wgScriptPath}/mf-logo.png"
 * $wgMobileUrlTemplate
 * Template used to transcode regular URLs into mobile URLs (optional, and probably an overkill for low-traffic sites). Can either be set as a static domain (eg 'mobile.mydomain.com'), or can use a template based off the host portion of your desktop domain. The token '%h0' represents the first portion of the hostname, '%h1' the second, and so on. For example, to achieve http://en.m.wikipedia.org from http://en.wikipedia.org, you would use:
 * $wgMobileFrontendFormatCookieExpiry
 * 'useformat' cookie（サイトのモバイルあるいはデスクトップビューを手動で切り替えた際、それを保持するために使用されます）が有効となる秒数. 未設定の場合、$wgCookieExpiration を既定値に設定します.
 * $wgMFRemovableClasses
 * ページコンテンツから除かれるクラス、タグ、ID を設定可能にします. 各項目はページから除かれます. この拡張機能は既定でいくつかのクラスを追加します.
 * $wgMFCustomLogos
 * ロゴを設定可能にします. 例： 'copyright' はモバイルページのフッタに表示される画像を制御することに注意してください.
 * $wgMFNoindexPages
 * false に設定すると検索エンジンにモバイルページのインデックスを許可します. これまで、Google は検索結果でモバイルページと非モバイルページを混ぜ合わせるようで、混乱を引き起こしています.
 * $wgMFStopRedirectCookieHost
 * stopMobileRedirect cookie のドメインを設定します.
 * $wgMFCustomLogos
 * ロゴを設定可能にします. 例： 'copyright' はモバイルページのフッタに表示される画像を制御することに注意してください.
 * $wgMFNoindexPages
 * false に設定すると検索エンジンにモバイルページのインデックスを許可します. これまで、Google は検索結果でモバイルページと非モバイルページを混ぜ合わせるようで、混乱を引き起こしています.
 * $wgMFStopRedirectCookieHost
 * stopMobileRedirect cookie のドメインを設定します.
 * false に設定すると検索エンジンにモバイルページのインデックスを許可します. これまで、Google は検索結果でモバイルページと非モバイルページを混ぜ合わせるようで、混乱を引き起こしています.
 * $wgMFStopRedirectCookieHost
 * stopMobileRedirect cookie のドメインを設定します.
 * $wgMFStopRedirectCookieHost
 * stopMobileRedirect cookie のドメインを設定します.
 * stopMobileRedirect cookie のドメインを設定します.
 * $wgMFTrademarkSitename
 * ページフッタのサイト名に商標表示を付加するかどうか. true または 'unregistered' を設定した場合、™ をサイト名に付加します. 'registered' を設定した場合は ® をサイト名に付加します. false に設定した場合、何も付加しません（既定）.  インターフェースメッセージを直接編集することも可能です.
 * $wgDeviceDetectionClass
 * モバイルデバイス検出のために利用されるクラスの名前. このクラスは IDeviceDetector を継承しなければなりません.
 * $wgMFNearby
 * 特別:付近のようなジオデータ関連機能を有効化するかどうか. GeoData 拡張機能を必要とします.
 * $wgMFNearbyRange
 * 特別:付近で付近のページを検索する際に探索されるメートル単位の範囲（既定では 10km）.
 * $wgMFMinCachedPageSize
 * これより構文解析された HTML の大きさが小さいページはキャッシュされません. すべてをキャッシュするためには 0 を、キャッシュを完全に無効化するには大きな値を設定してください.
 * $wgMFAutodetectMobileView
 * Whether or not the MobileFrontend extension autodetects devices for mobile view on its own, rather than using detection at the proxy/webserver layer, or using third party tools like Apache AMF. Depending on your setup, this is probably the easiest method of device detection, though least performant.
 * $wgMFNearbyRange
 * 特別:付近で付近のページを検索する際に探索されるメートル単位の範囲（既定では 10km）.
 * $wgMFMinCachedPageSize
 * これより構文解析された HTML の大きさが小さいページはキャッシュされません. すべてをキャッシュするためには 0 を、キャッシュを完全に無効化するには大きな値を設定してください.
 * $wgMFAutodetectMobileView
 * Whether or not the MobileFrontend extension autodetects devices for mobile view on its own, rather than using detection at the proxy/webserver layer, or using third party tools like Apache AMF. Depending on your setup, this is probably the easiest method of device detection, though least performant.
 * これより構文解析された HTML の大きさが小さいページはキャッシュされません. すべてをキャッシュするためには 0 を、キャッシュを完全に無効化するには大きな値を設定してください.
 * $wgMFAutodetectMobileView
 * Whether or not the MobileFrontend extension autodetects devices for mobile view on its own, rather than using detection at the proxy/webserver layer, or using third party tools like Apache AMF. Depending on your setup, this is probably the easiest method of device detection, though least performant.
 * $wgMFAutodetectMobileView
 * Whether or not the MobileFrontend extension autodetects devices for mobile view on its own, rather than using detection at the proxy/webserver layer, or using third party tools like Apache AMF. Depending on your setup, this is probably the easiest method of device detection, though least performant.
 * Whether or not the MobileFrontend extension autodetects devices for mobile view on its own, rather than using detection at the proxy/webserver layer, or using third party tools like Apache AMF. Depending on your setup, this is probably the easiest method of device detection, though least performant.
 * $wgMFEnableSiteNotice
 * Site notices が表示されるかどうかを制御します.
 * $wgMFShowMobileViewToTablets
 * タブレットがモバイルサイトを表示するかを制御します.  が   の場合のみ動作します.
 * $wgMFPhotoUploadAppendToDesc
 * 画像アップロードの際に画像の説明に付加する（ウィキ）テキスト.
 * $wgMFEnableXAnalyticsLogging
 * X-Analytics HTTP レスポンスヘッダの使用を有効化するかどうか. このヘッダは解析のために利用されます. Analytics/Kraken/Data Formats/X-Analytics を参照してください.
 * $wgMFLeadPhotoUploadCssSelector
 * A CSS selector which is used by mf-photo.js to test whether to prompt the user photo uploads on the current page. When the selector matches no elements the photo uploader will show.
 * $wgMFEnableCssAnimations
 * 対応しているすべてのブラウザで CSS アニメーションを有効にします.
 * $wgMFNoMobileCategory
 * Database key (=page title with underscores instead of spaces etc.) of the category which members will never display mobile view
 * $wgMFNoMobilePages
 * 決してモバイルビューでは表示しないページに接頭辞として付ける名前.
 * $wgMFAjaxUploadProgressSupport
 * 画像アップローダのプログレスバーを有効化・無効化するための一時的なブール変数.
 * $wgMFDeviceWidthTablet
 * デバイスがタブレット/デスクトップと判断される最小の利用可能スクリーン幅（ピクセル単位）.
 * $wgMFDeviceWidthMobileSmall
 * 利用可能なスクリーンがこの値以下のデバイスでは、小さなスクリーンでの読書に適したスタイルになります.
 * $wgMFKeepGoing
 * KeepGoing 機能を使用するかどうか.
 * $wgMFTidyMobileViewSections
 * API action=mobileview が、無効なマークアップを整えるためすべての HTML 節を tidy にかけるかどうかを制御します.
 * $wgMFMobileHeader
 * この名前のヘッダを含むリクエストをモバイルデバイスから来たものとして見なします. 既定値は後方互換性のためのものです. この方法での検出を明示的に無効化するには false に設定してください.
 * $wgMFEnableMinervaBetaFeature
 * デスクトップスキンとしての Minerva ベータ機能を有効にするかどうかを制御します.
 * $wgMFEnableNearbyPagesBetaFeature
 * 付近のページのベータ機能を有効にするかどうかを制御します.
 * $wgMFCollapseSectionsByDefault
 * 既定で節を折り畳むかどうかを制御します.
 * 画像アップローダのプログレスバーを有効化・無効化するための一時的なブール変数.
 * $wgMFDeviceWidthTablet
 * デバイスがタブレット/デスクトップと判断される最小の利用可能スクリーン幅（ピクセル単位）.
 * $wgMFDeviceWidthMobileSmall
 * 利用可能なスクリーンがこの値以下のデバイスでは、小さなスクリーンでの読書に適したスタイルになります.
 * $wgMFKeepGoing
 * KeepGoing 機能を使用するかどうか.
 * $wgMFTidyMobileViewSections
 * API action=mobileview が、無効なマークアップを整えるためすべての HTML 節を tidy にかけるかどうかを制御します.
 * $wgMFMobileHeader
 * この名前のヘッダを含むリクエストをモバイルデバイスから来たものとして見なします. 既定値は後方互換性のためのものです. この方法での検出を明示的に無効化するには false に設定してください.
 * $wgMFEnableMinervaBetaFeature
 * デスクトップスキンとしての Minerva ベータ機能を有効にするかどうかを制御します.
 * $wgMFEnableNearbyPagesBetaFeature
 * 付近のページのベータ機能を有効にするかどうかを制御します.
 * $wgMFCollapseSectionsByDefault
 * 既定で節を折り畳むかどうかを制御します.
 * API action=mobileview が、無効なマークアップを整えるためすべての HTML 節を tidy にかけるかどうかを制御します.
 * $wgMFMobileHeader
 * この名前のヘッダを含むリクエストをモバイルデバイスから来たものとして見なします. 既定値は後方互換性のためのものです. この方法での検出を明示的に無効化するには false に設定してください.
 * $wgMFEnableMinervaBetaFeature
 * デスクトップスキンとしての Minerva ベータ機能を有効にするかどうかを制御します.
 * $wgMFEnableNearbyPagesBetaFeature
 * 付近のページのベータ機能を有効にするかどうかを制御します.
 * $wgMFCollapseSectionsByDefault
 * 既定で節を折り畳むかどうかを制御します.
 * $wgMFEnableNearbyPagesBetaFeature
 * 付近のページのベータ機能を有効にするかどうかを制御します.
 * $wgMFCollapseSectionsByDefault
 * 既定で節を折り畳むかどうかを制御します.
 * $wgMFCollapseSectionsByDefault
 * 既定で節を折り畳むかどうかを制御します.
 * 既定で節を折り畳むかどうかを制御します.
 * 既定で節を折り畳むかどうかを制御します.
 * $wgMFAppPackageId
 * ID of the App to deep link to replacing the browser. Set  to have no such link. See https://developers.google.com/app-indexing/webmasters/details
 * $wgMFAppScheme
 * ディープリンクにおいて使用するスキーム. 既定では「http」が使用されます.
 * $wgMFPageActions
 * どのページアクションが表示・非表示になるかを制御します. 以下が許可されています：edit, talk, upload, watch
 * $wgMFEnableBeta
 * ベータ版およびアルファ版モードが有効かどうか.
 * $wgMFSpecialCaseMainPage
 * If set to true, main page HTML will receive special massaging that removes everything but a few select pieces.
 * $wgMFNamespacesWithoutCollapsibleSections
 * $wgMFRSSFeedLink
 * false
 * Sets RSS feed being outputted or not while on mobile version.
 * $wgMinervaAlwaysShowLanguageButton
 * true
 * ページに利用可能言語がない場合でも言語切り替えボタンを表示するかどうか.
 * }
 * If set to true, main page HTML will receive special massaging that removes everything but a few select pieces.
 * $wgMFNamespacesWithoutCollapsibleSections
 * $wgMFRSSFeedLink
 * false
 * Sets RSS feed being outputted or not while on mobile version.
 * $wgMinervaAlwaysShowLanguageButton
 * true
 * ページに利用可能言語がない場合でも言語切り替えボタンを表示するかどうか.
 * }
 * Sets RSS feed being outputted or not while on mobile version.
 * $wgMinervaAlwaysShowLanguageButton
 * true
 * ページに利用可能言語がない場合でも言語切り替えボタンを表示するかどうか.
 * }
 * }

モバイルブラウザ自動検出の設定
/Configuring browser auto-detection を参照してください.

メインページの設定
モバイル版のメインページは、既定ではデスクトップ PC 版と同じです. メインページを最適化してモバイル利用者に示すには、単に次の規則2点のとおり PC 版のメインページを無効にして、モバイル版専用のコンテンツを追加します. 例:
 * プロジェクトに関わらず、mf- will の接頭辞をつけた選択子をモバイル版のメインページに追加. これらの要素により設定してあるタイトル属性は、節の前に置いた見出しにレベル上げ. タイトル属性は最適化する.
 * 'nomobile' 類の要素はモバイル版に表示しない.

Hello

これは 'Hello' という文章を含む Wikimedia Blog という名前の節を作成します. メインページの保存後、モバイルデバイスでは、追加したこれらの規則に従った節のみが表示されます.

Nearby のインストール
MobileFrontend はわずかな設定で特別:付近ページを提供します. これを得るためには数段階のオプションステップを行うことが必要です：


 * GeoData をインストールする
 * update.php を実行する
 * LocalSettings.php に $wgMFNearby = true; を追加する
 * 1 つ以上のページにデータを追加する  構文の詳細については GeoData の説明書を参照してください.

あるいは、LocalSettings に以下の 2 行を追加して Nearby 用の異なる MediaWiki インスタンスを使用することが可能です. Nearby エンドポイントは与えられた場所と関係のあるコンテンツを検索するために使用されます.

追加の調整
Get the most out of MobileFrontend by adding these other optional dependencies:


 * Extension:Geodata - get Special:Nearby and geotag your articles
 * Extension:PageImages - adds images to search and nearby results
 * Extension:VisualEditor - add Visual editing to your mobile experience.

CSSスタイル
モバイルテーマに CSS を適用するには、MediaWiki:Mobile.css を編集してください. これは MediaWiki:Common.css に対応するものです.

詳細情報
デスクトップブラウザでモバイル拡張機能をテストしたい場合やデバイスがモバイル版を表示しない場合には、以下のキー・値ペアをクエリ文字列に追加することができます：?useformat=mobile 例：https://en.wikipedia.org/wiki/Chuck_Schuldiner?useformat=mobile

Wap 版のモバイル拡張を見たい場合は、代わりに ?useformat=mobile-wap を使用してください.

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

Wiki に常にモバイルビューで表示させるためには、LocalSettings.php に以下を追加してください：

拡張された action=parse
action=parse は追加のパラメータを受け付けます：
 * mobileformat=:モバイル形式のレンダーされたページ HTML を返します.  MediaWiki 1.23 より前では、mobileformat=html を指定してモダンな携帯電話向けの HTML を出力するか、mobileformat=wml を指定して低機能携帯電話向けの WML を出力することができました（詳細はメーリングリストのメッセージを参照してください）.
 * noimages:モバイル出力で画像を無効にします.
 * mainpage:モバイルにメインページ変換を適用します.

例:

action=mobileview
モバイルアプリや動的セクションビューを使用するモバイルデバイスに最適化されたコンテンツを配信します. 制限された action=parse</tt> 機能とほぼ同等ですが、より柔軟で、また常にページ全体の構文解析から得られる分割された節を返します.

Parameters:
 * page</tt>: Title of page to process.
 * sections</tt>: Pipe-separated list of section numbers for which to return text or all</tt> for all sections.
 * redirect</tt>: Whether redirects should be followed, yes</tt> (default) or no</tt>. This parameter is intentionally made similar to the one to index.php.
 * prop</tt>: Which information to get:
 * text</tt>: HTML of selected section(s)
 * sections</tt>: Information about all sections on page
 * normalizedtitle</tt>: Normalized page title, will be returned only if it differs from the specified one.
 * sectionprop</tt>: 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</tt>: Return HTML without images.
 * noheadings</tt>: Return HTML without headings.

返された節の情報はすべての節の id</tt> も含みます. これは 0 から始まる番号です. また、Cite によって追加された脚注を含む節については、references</tt> データメンバも存在します.

例:

XML での同じリクエスト：

[//www.mediawiki.org/w/api.php?action=mobileview&page=Extension:MobileFrontend/Example&sections=0&prop=text|sections&format=xmlfm api.php?action=mobileview&page=Extension:MobileFrontend/Example&sections=0&prop=text|sections&format=xml]

prop=extracts
'' に移行されました. ''

ウィキメディア財団のサイト群
Wikimedia 財団の運営するサイトでは、デバイスのユーザーエージェントを調べるために Varnish キャッシュサーバーを利用しています. 閲覧者のユーザーエージェントがモバイルデバイス由来であるように見える場合、Varnish サーバーはリクエストに対して適切な 'X-Device' ヘッダを設定し、閲覧者は記事の MobileFrontend 版へリダイレクトされます. また、フッタの「モバイルビュー」をクリックしたり、クエリ文字列に "useformat=mobile" を追加したりすることで、記事をモバイルビューで見ることができます. 例：

X-Device を設定する Varnish サーバーの vcl 設定 記事のモバイル版を見ているがデスクトップ版を見たい場合には、「この記事を通常の＜サイト名＞で閲覧する」をクリックして戻すことができます.

Web ブラウザで恒久的にモバイルビューを無効化したい場合は、「恒久的にモバイルサイトを無効化する」をクリックすることができます. これは WMF のサーバーに常にサイトのデスクトップ版を表示するよう指示する cookie を設定します.

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

拡張機能の開発者向け
既定では、拡張機能内のリソースモジュールはモバイルビューでは読み込まれません. モバイルビューでもモジュールが読み込まれる必要がある場合には、この MobileFrontend フレンドリーなモジュールを書くためのガイドが役立つでしょう.

関連項目

 * Wikimedia の MobileFrontend 設定ファイル
 * Wikimedia の MobileFrontend 設定ファイル
 * Wikimedia の MobileFrontend 設定ファイル