Extension:MobileFrontend

From MediaWiki.org
Jump to navigation Jump to search
This page is a translated version of the page Extension:MobileFrontend and the translation is 70% complete.
Other languages:
Deutsch • ‎English • ‎Tiếng Việt • ‎Türkçe • ‎español • ‎français • ‎polski • ‎português • ‎português do Brasil • ‎svenska • ‎русский • ‎中文 • ‎日本語 • ‎한국어

Die MobileFrontend-Erweiterung:

  • Erstellt eine separate mobile Seite für deinen mobilen Datenverkehr;
    • Systemadministratoren können einen anderen Skin bereitstellen, z. B. Skin:MinervaNeue.
  • bietet verschiedene Inhaltsumwandlungen, um die Inhalte ansprechender zu gestalten,
    • Insbesondere das Einklappen von Abschnitten und die Neuanordnung und das Entfernen von Inhalten.
  • vereinfacht die mobile Fußzeile und fügt einen Link zur Desktop- bzw. mobilen Seite hinzu;
  • bietet Ersatz für spezielle Seiten, die nicht mobiltauglich sind: Special:History, Special:Contributions, Special:Watchlist, Special:Preferences, Special:MobileDiff
  • stellt die Spezialseiten Spezial:In_der_Nähe, Spezial:Mobile Optionen (für mobile Skin-Einstellungen) und Spezial:Mobile Sprachen (für eine Sprachauswahl) bereit;
  • Stellt einen Beta-Modus mit einem Feature-Management-System für das Hinzufügen von experimentellen Funktionen für anonyme Benutzer bereit.


MediaWiki-Erweiterungen
OOjs UI icon advanced.svg
MobileFrontend
Freigabestatus: stabil
MediaWiki-Vagrant MobileFrontend Extension.png
Einbindung Benutzer-Schnittstelle, Hook
Beschreibung Bietet eine für Mobilgeräte geeignete Ansicht
Autor(en)
Letzte Version 2.3.0
Kompatibilitätspolitik Release-Zweige
MediaWiki 1.33+[1]
PHP 5.5.9+
Lizenz GNU General Public License 2.0 or later
Herunterladen
README
Beispiel 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
Übersetze die MobileFrontend-Erweiterung, wenn sie auf translatewiki.net verfügbar ist
Prüfe die Benutzungs- und Versionsmatrix.
Probleme Offene Aufgaben · Einen Fehler melden

Diese Seite richtet sich an Endbenutzer, die diese Erweiterung auf ihrer Entwicklungsinstanz installieren möchten. Wenn du uns beim Aufbau und der Verbesserung helfen möchten, empfehlen wir dir, dich zu engagieren.

Voraussetzungen

  • Obwohl MediaWiki dies nicht erfordert, muss PHP mbstring unterstützen, damit diese Erweiterung funktioniert (task T62174).

Wenn du vor der Installation von MobileFrontend intensiv Vorlagen und/oder Inline-Styles (das style-Attribut) verwendest, solltest du deinen Inhalt überprüfen, um festzustellen, ob er mobilfreundlich ist. Die Erweiterung TemplateStyles kann verwendet werden, um Inhalte so zu gestalten, dass sie auf mobilen Geräten und auf dem Desktop gut dargestellt werden. MobileFrontend wird das nicht magisch für dich beheben!

Insbesondere solltest du deine Startseite (Hauptseite) überprüfen. Siehe Mobile Homepage-Formatierung.

Installation

  • Wird Vagrant benutzt, ist mit vagrant roles enable mobilefrontend --provision zu installieren
Manuelle Installation

In der Nähe-Funktion einrichten

Mit einigen Anpassungen stellt MobileFrontend auch die Seite Spezial:In_der_Nähe (kanonischer Name Special:Nearby) bereit. Um dies zum Laufen zu bringen, sind einige optionale Schritte erforderlich:

  1. Wegen der Browsersicherheit musst du eine sichere Webseite über SSL ausführen — Es ist nicht möglich, den Standort eines Benutzers über HTTP anzufordern.
  2. Installiere die GeoData-Erweiterung
  3. Führe update.php aus
  4. Füge in LocalSettings.php $wgMFNearby = true; hinzu
  5. Bestimme Artikelkoordinaten:
    1. Füge Ortsdaten zu deinen Artikeln hinzu, indem du die Parserfunktion coordinates verwendest, zum Beispiel {{#coordinates:37.786971|-122.399677|primary}}. Für Details zur Syntax siehe die Dokumentation zu GeoData .
    2. Alternativ kannst du für In der Nähe eine separate MediaWiki-Installation verwenden, indem du $wgMFNearbyEndpoint in deiner LocalSettings.php-Datei einstellst. Beispielsweise wird $wgMFNearbyEndpoint = 'https://en.m.wikipedia.org/w/api.php'; die Koordinaten von Artikeln aus der englischen Wikipedia verwenden. Der Endpoint zu In der Nähe wird verwendet, um Inhalte, die sich auf einen gegebenen Standpunkt beziehen, zu finden.

Einen Skin einrichten

MobileFrontend stattet dich zusätzlich zu deiner bereits existierenden Desktop-Webseite mit einer mobil formatierten Webseite aus. Du kannst sie nach deinem Belieben skinnen.

 // 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

Die folgenden Skins sind mit MobileFrontend kompatibel:

Konfigurationseinstellungen

Siehe Extension:MobileFrontend/Configuration

Zusätzliche Verbesserungen

Das Beste holt man aus MobileFrontend heraus, indem man diese optionalen kompatiblen Erweiterungen hinzufügt:

Lokale Anpassungen

Gestaltung mit CSS

Um CSS auf dein mobiles Design anzuwenden, bearbeite MediaWiki:Mobile.css, das Gegenstück zu MediaWiki:Common.css.

MobileFrontend lädt nicht das globale MediaWiki:Common.css und keine der Benutzer-Stylesheets.

Weitere Informationen

Wenn du die mobile Erweiterung in einem Desktop-Browser oder auf einem Gerät, das die mobile Version nicht rendert, testen möchtest, kannst du das folgende Key-Value-Paar zu deiner URL-Abfrage hinzufügen: ?useformat=mobile. Beispiel: https://en.wikipedia.org/wiki/Chuck_Schuldiner?useformat=mobile

Um die mobile Version einer Seite anzuzeigen, ohne die Erweiterung für die gesamte Website zu aktivieren, kann die Zeichenfolge auch an die Url auf dieser Seite angehängt werden.

Übernommene Funktionen von MobileFrontend

MobileFrontend ist traditionell eine sehr große Erweiterung. Viele Funktionen haben ihre Anforderungen entweder übertroffen oder werden dies zu einem späteren Zeitpunkt tun. Diese sind unten aufgeführt.

API

APIs werden von der MobileFrontend-Erweiterung bereitgestellt, aber langfristig erwarten wir, dass sie zugunsten von Mobile Content Service abgewertet werden. Sie verwenden diese APIs auf eigenes Risiko. Sie können entfernt werden (wir benachrichtigen Sie rechtzeitig)!

MobileView API

Siehe Extension:MobileFrontend/MobileViewAPI .

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

Beispiel:

meta=siteinfo

Die Domain der mobilen Version der Site (die möglicherweise nicht der normalen Domain entspricht) ist unter der mobileserver -Taste der allgemeinen Siteinfo-Informationen verfügbar.

Für Entwickler und System-Admins

Setup

You may need to run npm install and install php composer to get the precommit hook to run, depending on what you're doing with the extension.

Testen mit Artikeln in einem fremden Wiki (Live-Daten)

MobileFrontend can now be configured locally to render articles from other MediaWiki instances.[2] 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.

Mit dem folgenden Code wird Ihre lokale mobile MediaWiki-Site in einen Wikivoyage-Viewer umgewandelt:

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

Dies ist besonders nützlich, um verschiedene mobile Skins mit der Konfigurationsoption wgMFDefaultSkinClass zu testen.

Mobilansicht verwenden

WMF Sites

Auf Wikimedia Foundation-Websites verwenden wir Varnish-Caching-Server, um den Benutzeragenten Ihres Geräts zu überprüfen.

Nicht-WMF-Sites

Für Nicht-WMF-Sites können Sie Ihre Konfiguration entweder so einrichten, dass sie die Vorgänge in der WMF nachahmt (Geräteerkennung auf der Proxy-Ebene und bestimmte X-Device-Header festlegen) oder einfach "?Useformat=mobile" verwenden, um für einen Artikel die mobile Ansicht zu nutzen.

Ab der Snapshot-Version 1.28 wurde der Standardwert $wgMFMobileHeader von X-WAP in X-Subdomain geändert. Sie können entweder $wgMFMobileHeader = 'X-WAP'; setzen oder die Cache-Einstellungen (Varnish) ändern. So lange sie übereinstimmen.

Häufig gestellte Fragen

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 Minerva Neue 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.

Siehe auch

References

  1. :Fatal error: Uncaught ExtensionDependencyError: MobileFrontend is not compatible with the current MediaWiki core (version 1.32.2), it requires: >= 1.33.0.
  2. See this YouTube demo video