/mediawiki-extensions-MobileFrontend

Github mirror of MediaWiki extension MobileFrontend - our actual code is hosted with Gerrit (please see https://www.mediawiki.org/wiki/Developer_access for contributing)

Primary LanguageJavaScriptGNU General Public License v2.0GPL-2.0

Table of Contents

MobileFrontend Extension

The MobileFrontend extension adds a mobile view to your mediawiki instance.

Installation

See https://www.mediawiki.org/wiki/Extension:MobileFrontend#Installation

Configuration

See https://www.mediawiki.org/wiki/Extension:MobileFrontend#Configuration_settings

Development

Coding conventions

Please follow the coding conventions of MobileFrontend: https://www.mediawiki.org/wiki/MobileFrontend/Coding_conventions

Git hooks

Git hooks are provided in the dev-scripts directory to assist with adhering to JavaScript code standards, optimizing PNG files, etc. Running these hooks requires node.js, NPM, and grunt.

Install like so:

  make installhooks

If you are not running Vagrant, be sure to set your MEDIAWIKI_URL env variable to your local index path, e.g. 'MEDIAWIKI_URL=http://localhost/index.php/'

Committing

Commits are important as they give the reviewer more information to successfully review your code and find errors or potential problems you might not have thought of.

Commits are also useful when troubleshooting issues and refactoring. If it's not clear why a line of code is in the repository important bug fixes could be lost.

Commits should be as minor as possible. Please avoid removing unrelated console.log statements, fixing unrelated whitespace etc. do that in a separate commit which mentions the word cleanup.

First line commit should summarise the commit with bug it fixes if applicable. e.g. Fix problem with toggling see bug x. Second line should be blank. Third line should go into detail where necessary providing links to blog posts/other bugs to provide more background. Mention the platforms/browsers the change is for where necessary, e.g.:

  • 'this is a problem on Android but not OSX see http://<url></url> which explains problem in detail'
  • 'this is a workaround for a known bug in opera mobile see http://<url></url>'

Testing

Unit tests

To run the full test suite run:

  make tests

To run only PHP tests:

  make phpunit

To run only JS tests:

  make qunit

Selenium tests

For information on how to run Selenium tests please see README file in tests/browser directory.